我有 3 台机器,设置如下:Computer1----装有 Ubuntu 12.04 的计算机-----Computer2 Computer1 的 IP 为 192.168.10.1,Computer2 的 IP 为 192.168.10.10。装有 Ubuntu 的计算机有 2 个以太网接口。我想在 Ubuntu 中创建一个网桥,以便 Computer1 和 Computer2 可以互相通信。
我在 Ubuntu 中创建了一座桥
sudo ifconfig eth0 0.0.0.0 down
sudo ifconfig eth1 0.0.0.0 down
sudo brctl addbr br0
sudo brctl addif br0 eth0
sudo brctl addif br0 eth1
sudo ifconfig br0 up
sudo ifconfig eth0 promisc up
sudo ifconfig eth1 promisc up
命令“brctl showstp br0”显示 eth0 和 eth1 的状态为转发。然后我在网桥中启动 tshark
sudo tshark -i br0
如果我尝试在 Computer2 中 ping Computer1,则会得到
ARP 60 Who has 192.168.10.1? Tell 192.168.10.10
在网桥中,我收到了来自 Computer2 的 ARP 请求,但没有看到来自 Computer1 的 ARP 回复
当我在 Computer1 上运行 tshark 时,得到这个
ARP 60 Who has 192.168.10.1? Tell 192.168.10.10
ARP 42 192.168.10.1 is at XX:XX:XX:XX:XX:XX (mac hidden)
通过这个,我看到 ARP 通过桥接器,Computer1 接收 ARP 并发送答复,但该答复没有通过桥接器。
有任何想法吗???
谢谢
答案1
我将首先调查两台主机中的路由表,尤其是计算机 1 中的路由表:
route -n
您的 ARP 回复可能被发送到错误的接口。
答案2
我解决了这个问题。
桥接接口未正确设置为混杂模式。