好的,我差不多已经搞定了,但情况是这样的。我总共有 7 台机器连接如下:
[5 个工作站]<--->ServerPC<---->MAINPC<---->路由器
仅供参考,不要担心工作站,它们都运行良好...路由器连接到电缆调制解调器以访问互联网。
现在 MAINPC 有 ubuntu 12.10,之前我已经桥接了两张卡。顺便说一下,这是在 Windows XP 中……现在我下载并安装了 bridge-utils,我的网络配置如下(当它工作时)
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,我使用静态 IP 是因为 ServerPC 是一个域控制器,它连接着另外 5 个工作站,全部使用同一个 192.168.2.x 网络......但当时我只担心主电脑的桥接器能否再次工作,其他一切都不要动。
我遵循了互联网上关于此问题的很多教程,有高有低,最后得到了一个如下所示的 /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 台工作站)都可以访问互联网,并且可以看到我的主 PC,我的主 PC 可以看到其他机器和工作站,甚至路由器 (192.168.2.1) 也会响应 ping。但是,如果我尝试 ping 互联网上的某个东西,例如 google.com,我会收到错误:
来自 ubuntu.local (192.168.2.114) icmp-seq=5 目标主机无法访问
我尝试交换设备(eth0 到 eth1,反之亦然),但没有什么区别,我可以解析互联网地址,只是无法连接到它们,但其他所有设备都可以。
在您回答之前,请记住我并不是在寻找桥接的替代方案,我不能做 NAT 或任何其他奇怪的防火墙...所以如果你不能告诉我如何回答这个问题,我真的不想要任何“替代建议”没有冒犯..谢谢 :)
答案1
我会保留你的iface eth* inet manual
线路,只是为了让 NetworkManager 不受影响(并且我也会在更改后重新启动它/etc/network/interfaces
,或者更好的是:停止它)。
此外,bridge_ports all
这不是一个好主意。它实际上桥接了任何看起来像以太网接口的东西,有时会错过你想要的,因为它用正则表达式过滤接口列表。最好明确说明应该使用哪个端口。
要调试您的设置,您可以使用以下命令:
打印有关配置的接口和 IP 地址的新样式信息:
ip addr
查找“master”节:桥接器的端口应该将桥接器接口作为主接口。(因为从技术上讲,brctl 和 bridge-utils 使用古老的内核接口,所以可以用 实现同样的事情
ip link
)打印有关路由表的所有内容(路由策略数据库除外):
routel
打印 ARP 表的状态(对于 ND 表,添加
-6
):ip neigh