Freebsd的网桥实现方式

2009-05-13 11:53:02来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

一种是传统的实现
[url=javascript:;]freebsd[/url]
很早的版本就有的.
#kldload
[url=javascript:;]bridge[/url]
#sysctl net.link.ether.bridge.enable=1
#sysctl net.link.ether.bridge.config=rl0,ath0
这时提示:
rl0: promiscuous mode enabled
ath0: promiscuous mode enabled
如果要开机自动生效 请修改 /boot/loader.conf
bridge_load="YES"
然后 在 /etc/sysctl.conf把
net.link.ether.bridge.enable=1
net.link.ether.bridge.config=rl0,ath0 即可
第二种
[url=javascript:;]网桥[/url]
是Freebsd6.0 新从
[url=javascript:;]netbsd[/url]
中引入的 if_bridge ;
Freebsd官方说以后的版本中要用if_bridge淘汰上面的bridge方式.
为了方便, 可以把if_bridge编译到
[url=javascript:;]内核[/url]
中, 这样就不用
[url=javascript:;]kldload[/url]
,也不用修改loader.conf了
内核中要有
device if_bridge
然后重新编译,安装内核。
然后开始使用桥
#ifconfig bridge0 create
#ifconfig bridge0
bridge0: flags=8041 mtu 1500
inet 192.168.1.101 netmask 0xffffffff
ether ac:de:48:0f:a6:16
priority 32768 hellotime 2 fwddelay 15 maxage 20
然后加入网桥的成员
#ifconfig bridge0 addm rl0 addm ath0
同样提示:
rl0: promiscuous mode enabled
ath0: promiscuous mode enabled
#ifconfig bridge0
bridge0: flags=8041 mtu 1500
inet 192.168.1.101 netmask 0xffffffff
ether ac:de:48:0f:a6:16
priority 32768 hellotime 2 fwddelay 15 maxage 20
member: ath0 flags=3
member: rl0 flags=3
让上面的设置开机自动生效
ifconfig_ath0="inet channel 11 ssid 108m mode 11g mediaopt hostap"
cloned_interfaces="bridge0"
ifconfig_bridge0="addm rl0 addm ath0 "
第三种是NETGRAPH 的 ng_ether 和 ng_bridge 构建网桥。

用这个方法将几块网卡构建的网桥,在外部看上去就像一块网卡。
执行脚本:/bin/ebridge
--------------------------------------------------------
#!/bin/sh
B_NAME=bnet0        #网桥名称
B_IF0=fxp0        #第一块网卡
B_IF1=rl1        #第二块网卡
kldload ng_ether        #加载模块
kldload ng_bridge        #加载模块
ifconfig ${B_IF0} up        #启动网卡
ifconfig ${B_IF1} up        #启动网卡
ngctl mkpeer ${B_IF0}: bridge lower link0        #创建网桥节点并将第一块网卡挂在这个节点上,lower 表示转发进入的包
ngctl name ${B_IF0}:lower ${B_NAME}        #命名网桥名称
ngctl connect ${B_IF1}: ${B_NAME}: lower link1        #将第二块网卡挂在这个节点上
ngctl connect ${B_IF0}: ${B_NAME}: upper link2        #将第一块网卡挂在这个节点上,upper 表示转发出去的包,如果是纯网桥不与主机联络这两行可不写
ngctl connect ${B_IF1}: ${B_NAME}: upper link3        #将第二块网卡挂在这个节点上

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:rsync遠端傳輸(replacement for rcp)

下一篇:在FreeBSD上使用tplink无线网卡