论坛风格切换切换到宽版
  • 683阅读
  • 8回复

[问题求助][求助] 把LINUX改造成具备三层交换机 [已解决,供大家参考~!] [复制链接]

上一主题 下一主题
 
发帖
1973
C币
-198791
威望
339
贡献值
1
银元
-1
铜钱
4278
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
就是有个LINUX,想把它弄成和三层交..换机一样,都具备划interface VLAN 路由(已经有了)等功能.要怎么做.呢?记得好像是要重新编译内核,但具体怎么弄还是不太清楚,请高手帮忙~~!@(广告)

[ 本帖最后由 s.ulin515. 于 2006-12-8 15:38 编辑 ]外贸

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线hrq456.
发帖
1935
C币
-61048
威望
359
贡献值
1
银元
-2
铜钱
4327
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
Re:[求助]
modprobe 8021q,看是否支持 802.1Q 协议
man vconfig,看看 Linux 划分 vlan interface 的方法
下面的 L2 switch 直接划 vlan,然后做 trunk 到 Linux 上就可以了
Linux 的一个物理网口可以划多个 vlan interface,多个物理网口就类似 L3 switch 了
不过,我建议还是先把 Linux 的多个物理网口做成 bridge,然后在 bridge 这个桥地址上做 vlan interface,这样才更像

离线xsheng1983.
发帖
2049
C币
-199186
威望
366
贡献值
1
银元
-3
铜钱
4536
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
Re:[求助]
那这个bridge是不是也跟trunking差不多了 .

离线nyqs.
发帖
2106
C币
-132410
威望
378
贡献值
1
银元
-3
铜钱
4648
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
Re:[求助]
据说是可以做 trunk,可以在一个口传输多个 VLAN 的信息,数据包可以封装成 802.1Q,里面可以携带 VLAN TAG
但是我自己没有做过

发帖
2001
C币
-235944
威望
346
贡献值
1
银元
-2
铜钱
4319
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13
Re:[求助]
呵呵,谢谢大家,昨天做了.把基本的功能实现了,现在附上



QUOTE:用Linux实现三层交换机功能
     首先,安装一个基本的LINUX操作系统,我用的是Debian testing版,从: http://www.kernel.org/ 下载内核源码,如果你现在就可以上网可以直接执行:aptitude install kernel-source-2.6.8(testing是2.6的内核),拷贝得到的文件:kernel-source-2.6.8.tar.bz2到:/usr/src目录下,执行:tar jvxf  kernel-source-2.6.8.tar.bz2 得到新目录:kernel-source-2.6.8,进入目录kernel-source-2.6.8。

    开始编译内核,开始前一定记得要把:kernel-package ncurses-dev fakeroot wget bzip2 make
patch安好,不然编译不能正常进行,要报错,然后进行内核编译把802.11Q加进去。debian:/usr/src/kernel-source-2.6.8# make menuconfig 选中:Device Drivers?Networking support?Networking options中的全部选择:其中TCP/IP networking 、IP: multicasting、IP: advanced router、IP: policy routing、IP:use netfilter MARK value as routing key、IP:fast network address translation、IP:multicast routing、Network packet filtering、802.1d Ethernet Bridging、802.1Q VLAN Support、Forwarding between high speed interfaces须加入内核(选择为*)。另外一定记得把:File systems 里的EXT2和EXT3文件格式加入内核,不然系统启动不了可不要怪我。最后保存配置结果。

     执行:make 、make-kpkg clean 、make-kpkg –initrd –append-to-version=oursoft –revision=1.0 kernel_image。最后会在/usr/src目录下生成一个:kernel-image-2.6.8oursoft_1.0_i386.deb的安装文件,直接执行:dpkg –i kernel-image-2.6.8oursoft_1.0_i386.deb安装就可以了。重新启动系统选择新的内核kernel-image-2.6.8oursoft。

    安装基于Linux的VLAN划分工具:aptitude install vlan
      添加需要的VLAN(interface):vconfig add  eth1 200
     为刚才的VLAN(interface) 添加相应的IP地址:ifconfig eth1.200 192.168.200.1 netmask 255.255.255.0 up
     修改VLAN(interface)的MAC地址:ifdown eth1、ifconfig eth1.200 hw ether 00:05:5D:61:00:31、ifup eth1
     一个完整的VLAN(interface)添加成功,此功能相当于在三层交换机上执行:vlan 200、ip address 192.168.200.1 255.255.255.0

在二层交换机上的配置
     二层交换机上的配置和以前一样,以AVAYA P334为例:set vlan 200、set port vlan 200 1/2、set trunk 1/1 dot1q、set port vlan-binding-mode 1/1 bind-to-configured,二层上配置完成了,把交换机的1号口与Linux的eth1相连,2号口直接连接一个客户机,并把客户机配置192.168.200.X/24的IP,以192.168.200.1为网关,现在就可以ping通192.168.200.1(Linux)了。

其它功能说明
    在Linux上实现了三层交换机的功能后,我们再在上面开展更多的业务,如:DHCP,DNS,NAT,Raduis,策略路由,访问控制(ACL),P2P限制等。


离线cg678.
发帖
2019
C币
-60902
威望
330
贡献值
1
银元
-3
铜钱
4493
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-13
Re:[求助]
需要注意的几个问题:
1、内核是否已经支持 802.1Q。
2、在LINUX网卡上加了vlan interface后一定要修改这个vlan interface的MAC地址,不然所有的都是一个MAC地址。

发帖
2067
C币
-235797
威望
384
贡献值
1
银元
-2
铜钱
4645
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-13
Re:[求助]
以后有时间了把整个的脚本都写出来~~!

离线fenglipiao.
发帖
2012
C币
-60501
威望
388
贡献值
1
银元
-2
铜钱
4611
人人网人气币
0
只看该作者 7楼 发表于: 2010-04-13
Re:[求助]


QUOTE:2、在LINUX网卡上加了vlan interface后一定要修改这个vlan interface的MAC地址,不然所有的都是一个MAC地址。

都是同一个 MAC 地址怎么了?
Cisco 的 L3-switch 还有华为的也是同一个 MAC
有什么问题嘛?

离线junbao99.
发帖
2069
C币
-152526
威望
375
贡献值
1
银元
-2
铜钱
4703
人人网人气币
0
只看该作者 8楼 发表于: 2010-04-13
Re:[求助]
我看AVAYA的不是,.
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个