免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2905 | 回复: 8
打印 上一主题 下一主题

[FreeBSD] freebsd把所有网卡建桥,是否相当于一台交换机?但是... ... [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-23 02:30 |只看该作者 |倒序浏览
fxp0+nfe0 做桥1 外网PPPOE出口
em0+ath0 做桥0 内网

-------------------------

fxp0接光纤收发器,freebsd本机PPPOE拨号正常,pf NAT正常.

另外一台独立的电脑连接nfe0,进行PPPOE拨号却无法拨通.
理论上来说,nfe0口的数据应该通过桥也可以通过fxp0的收发器出去,可是没有,问题出在哪儿呢?

默认情况下nfe0连接为FULL1000M,fxp0连接为FULL100M,设想问题在此,强制nfe0为100M,问题依然存在.

如此做的桥
ifconfig_fxp0="up"
ifconfig_nfe="up"
cloned_interfaces="bridge0 bridge1"
ifconfig_bridge0="addm em0 addm ath0"
ifconfig_bridge1="addm fxp0 addm nfe0 up"

# ifconfig
fxp0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=2009<RXCSUM,VLAN_MTU,WOL_MAGIC>
        ether 00:90:27:a4:eb:0b
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
ath0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 2290
        ether 00:0a:eb:a7:4f:5e
        media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
        status: associated
        ssid "FreeBSD" channel 8 (2447 Mhz 11g) bssid 00:0a:eb:a7:4f:5e
        authmode WPA2/802.11i privacy MIXED deftxkey 2 AES-CCM 2:128-bit
        AES-CCM 3:128-bit txpower 31.5 scanvalid 60 bgscan bgscanintvl 300
        bgscanidle 250 roam:rssi11g 7 roam:rate11g 5 protmode CTS burst
        dtimperiod 1
em0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=98<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
        ether 00:07:e9:49:15:0c
        inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
        media: Ethernet autoselect (1000baseTX <full-duplex>)
        status: active
nfe0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=88<VLAN_MTU,VLAN_HWCSUM>
        ether 00:16:17:8d:cf:1d
        media: Ethernet autoselect (1000baseTX <full-duplex>)
        status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        inet 127.0.0.1 netmask 0xff000000
pfsync0: flags=0<> metric 0 mtu 1460
        syncpeer: 224.0.0.240 maxupd: 128
pflog0: flags=0<> metric 0 mtu 33204
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 6a:0c:cd:f3:0c:ad
        id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
        maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
        root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
        member: ath0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 2 priority 128 path cost 370370
        member: em0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 3 priority 128 path cost 2000000
bridge1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 7e:81:2a:31:cc:af
        id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
        maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
        root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
        member: nfe0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 4 priority 128 path cost 2000000
        member: fxp0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 1 priority 128 path cost 55


[ 本帖最后由 qq830406 于 2009-7-23 06:11 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-07-23 21:29 |只看该作者
谁能给个思路?
想不通哦

论坛徽章:
0
3 [报告]
发表于 2009-07-24 14:42 |只看该作者
帮你顶一下,我是菜鸟,学习中

论坛徽章:
0
4 [报告]
发表于 2009-07-24 17:13 |只看该作者
我也对bridge不太清楚,只是有一点疑问,bridge是自动转发成员之间的数据的么,还是需要在sysctl.conf中设置些转发规则呢。

论坛徽章:
0
5 [报告]
发表于 2009-07-24 20:34 |只看该作者
我试过广播桥,最后的结果是无数的回声制造了广播风暴,CPU 使用率爆满,本地控制台都难登录上去………………

论坛徽章:
0
6 [报告]
发表于 2009-07-25 03:48 |只看该作者
原帖由 phoenixson 于 2009-7-24 17:13 发表
我也对bridge不太清楚,只是有一点疑问,bridge是自动转发成员之间的数据的么,还是需要在sysctl.conf中设置些转发规则呢。


net.link.bridge.pfil_bridge=1
net.link.bridge.pfil_member=1

论坛徽章:
0
7 [报告]
发表于 2009-07-25 03:50 |只看该作者
无论网线换到nfe0还是fxp0,pppoe口选择bridge1向外拨,完全没有问题.

但从外面插条网线拨pppoe就完全不通,不知何解

论坛徽章:
0
8 [报告]
发表于 2009-07-29 14:07 |只看该作者
再次询问

论坛徽章:
0
9 [报告]
发表于 2009-08-03 14:50 |只看该作者
这个从OpenBSD过来 if_bridge是有PPPOE数据包不能通过的问题,在freebsd6.0时就有了,不知道有没有什么sysctl可以调节不?

如果用Freebsd原生的Bridge是可以的,不过貌似老的Bridge方式Freebsd7中已经被去掉了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP