在Ubuntu的Linux 12.10桥接两个networking接口,并能够从该机器访问它

好吧,我已经有了它,但inheritance了交易。 我有7台机器连接如下:

[5台工作站] <—> ServerPC <—-> MAINPC <—->路由器

仅供参考,不要担心工作站,他们都运行良好…路由器连接到电缆调制解调器的互联网接入。

现在MAINPC有Ubuntu 12.10和以前我有两个卡接。 这是在Windows XP中,btw …现在我下载并安装了bridge-utils我的networkingconfiguration是这样的(当它工作)

ServerPC: IP ADDRESS: 192.168.2.101 DNS: 192.168.2.1 GATEWAY 192.168.2.1 NETMASK:255.255.255.0 MAINPC: IP ADDRESS: 192.168.2.114 DNS: 192.168.2.1 Secondary DNS: 192.168.2.101 GATEWAY: 192.168.2.1 NETMASK: 255.255.255.0 

路由器是在192.168.2.1,我使用静态IPs,因为ServerPC是一个域控制器,它有5个其他工作站连接到它,都使用相同的192.168.2.xnetworking….但在当时我只担心我的主要电脑的桥梁再次工作,其他一切都不会被触及。

我遵循了很多关于这个高低的教程,遍布互联网,结果是/ etc / network / interfaces文件看起来像这样:

 auto lo iface lo inet loopback #iface eth0 inet manual #iface eth1 inet manual # <-- didnt seem to make a difference, it was suggested by some other tutorial auto br0 iface br0 inet static address 192.168.2.114 netmask 255.255.255.0 network 192.168.2.0 gateway 192.168.2.1 dns-nameservers 192.168.2.1 192.168.2.101 broadcast 192.168.2.255 bridge_ports all 

—这就是现在,这个桥梁工作,所有其他6台机器(服务器,其他5个工作站)都可以上网,可以看到我的主电脑,我的主电脑可以看到其他机器和工作站,甚至路由器(192.168.2.1)响应ping。 但是,如果我尝试ping在互联网上的东西,如google.com,我得到的错误:

从ubuntu.local(192.168.2.114)icmp-seq = 5目标主机无法访问

我尝试交换设备(eth0到eth1,反之亦然),它没有什么区别,我可以解决互联网地址,只是不能连接到他们,但所有其他人都可以。

在你回答之前,请记住我不是在寻找桥接器的搭配,我不能做NAT或任何其他奇怪的防火墙…所以如果你不能告诉我如何回答这个问题,我真的不希望任何“替代build议”没有违法..谢谢:)

我会保持iface eth* inet manual行,只是为了让NetworkManager保持原样(也可以在/etc/network/interfaces改变后重新启动它,或者更好地停止它)。

另外, bridge_ports all是一个好主意。 它确实桥接看起来像以太网接口,有时会错过你想要的,因为它用正则expression式过滤接口列表。 最好明确地告诉应该使用哪个端口。

要debugging您的设置,您可以使用以下命令:

  • 打印有关configuration的接口和IP地址的新型信息: ip addr

    寻找“主”节:桥的端口应该有桥接口作为主。 (因为在技术上,brctl和bridge-utils使用古老的内核接口, ip link也可以实现同样的目的)

  • 打印关于路由表的所有内容(路由策略数据库除外): routel

  • 打印ARP表的状态(对于ND表,加-6 ): ip neigh