Linux桥接不转发数据包

前端之家收集整理的这篇文章主要介绍了Linux桥接不转发数据包前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图建立一个带有2个以太网接口的 Linux网桥,但无法使其正常工作.我正在使用Gentoo Linux并认为它很容易,但我最终无法通过网桥获取数据包.所有这些都是在Hyper-V下进行虚拟化,这对任何事情都很重要(但我对此表示怀疑).

这是我的配置.

------              ------------------           --------         -----------
| NUX3 |------------|eth1  BRIDGE  eth0|---------| ROUTER |-------/ INTERNET /
 ------              ------------------           --------        -----------
192.168.1.195/24    192.168.1.197/24 (br0)     192.168.1.101/24
00:15:5d:00:01:12   00:15:5d:00:01:08 (eth0)   00:15:5d:00:01:03
                    00:15:5d:00:01:13 (eth1)

#cat /etc/conf.d/net

bridge_br0=( "eth0 eth1" )
config_eth0=( "null" )
config_eth1=( "null" )
config_br0=( "192.168.1.197 netmask 255.255.255.0 brd 192.168.1.255" )
routes_br0=( "default via 192.168.1.101" )

#brctl show

bridge name      bridge id              STP enabled      interfaces
br0              8000.00155d000108      no               eth0
                                                         eth1

#brctl showstp br0

<...>
eth0 (1)               state               forwarding
eth1 (2)               state               forwarding
<...>

#cat /etc/sysctl.conf

net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-arptables = 0
net.bridge.bridge-nf-call-iptables = 0

#ifconfig

<...>
br0    UP BROADCAST RUNNING MULTICAST
       inet addr:192.168.1.197  Bcast:192.168.1.255  Mask:255.255.255.0
<...>
eth0    UP BROADCAST RUNNING PROMISC MULTICAST
<...>
eth1    UP BROADCAST RUNNING PROMISC MULTICAST
<...>

#brctl showmacs br0

port no mac addr                    is local?        ageing timer
  1     00:15:5d:00:01:03           no                   1.51
  1     00:15:5d:00:01:08           yes                  0.00
  2     00:15:5d:00:01:12           no                  36.22
  2     00:15:5d:00:01:13           yes                  0.00

BRIDGE可以ping通ROUTER而不是NUX3,NUX3既不能ping通BRIDGE也不能ping通ROUTER.一切对我来说都很好,但我显然错过了一些东西.如果有人能指出我,我会很高兴的!

谢谢.

解决方法

主机上的基础网络设备可能未启用混杂模式.例如,在VMWare中,如果底层虚拟网络适配器不是promisc,那么guest虚拟机网桥将失败 – 即使它认为它能够进入混杂模式,它也不能.

我从来没有使用HyperV,但逻辑应该是相同的,如果主机不允许访客进入混杂模式,网桥不能来回传递数据包,因为网卡只处理被寻址的帧特别是它.

如果禁用网桥,你可以ping NUX3和路由器,对吗?

猜你在找的Linux相关文章