在 Ubuntu 服务器上启用网络桥接

在 Ubuntu 服务器上启用网络桥接

我正在努力让网桥在 Ubuntu 服务器上以相当简单的设置运行(我认为)。要进行一些防火墙实验室工作,我需要设置三台机器,如下所示:

ALICE (eth0) ----> (eth0) WILLY (eth1) -----> (eth0) BOB

Willy 将成为一座桥梁,接收 eth0 上收到的每个网络数据包并将其传递给 eth1(反之亦然)。

因此我为 Alice 和 Bob 设置了静态 IP 地址(Alice 有 10.0.0.2;Bob 有 10.0.0.3)。

在 Willy 上,我安装了 bridge_utils 包并修改了 /etc/network/interfaces 如下所示:

auto lo
iface lo inet loopback

auto br0
 iface br0 inet static
  address 10.0.0.1
  netmask 255.255.255.0

  bridge_ports eth0 eth1

另外,内核模块 br_netfilter 通过以下方式加载

modprobe br_netfilter

我可以成功地从 ALICE ping 通 WILLY。但我无法从 BOB ping 通 WILLY,也无法从 ALICE ping 通 BOB(反之亦然)。

我尝试了本故障排除指南中的所有方法(http://www.microhowto.info/troubleshooting/troubleshooting_ethernet_bridging_on_linux.html)并且所有这些测试都通过了。特别是当我这样做时,我在 WILLY 上看到了 ALICE 和 BOB 的 MAC 地址

brctl showmacs br0

因此显然网络数据包到达 WILLY,但无论出于什么原因都可以穿过桥。

有什么想法让我缺少什么才能让它工作吗?真不敢相信它这么复杂,所以我一定是从根本上遗漏了一些东西。

非常感谢您的帮助。

相关内容