我想桥接一个连接,我快速绘制了我的设置:(eth0 没有连接到任何东西)。所有计算机都运行 CentOS 7。
我希望允许 PC A ping 并向 PC B 发送数据包,反之亦然。两台 PC 也应该能够 ping / 向服务器发送数据包,但它们不应该能够访问互联网。我尝试过使用 iptables 的解决方案,例如这个答案,但这只允许 PC A ping 通服务器,而不能实现互连。
你知道我该如何进行设置吗?
答案1
这很简单:不要在 PC A 和 B 上指定默认网关/默认路由。这样 A 和 B 就无法访问互联网和彼此。要允许 A 和 B 相互通信,请在每台 PC 上添加静态路由以访问对方的网络。在 PC A 上添加一条到 PC B 网络的静态路由,在 PC B 上添加一条到 PC A 网络的静态路由。
假设 PC A 的网络为 10.0.0.0/30,而 PC B 的网络为 10.0.0.4/30。在 PC A 上运行(以 root 身份)route add -net 10.0.0.4/30 gw [ip_of_eth2]
,在 PC B 上运行(也以 root 身份)route add -net 10.0.0.0/30 gw [ip_of_eth3]
。此外,请确保服务器上已启用 IP 转发(即/proc/sys/net/ipv4/ip_forward
应该是1
)。
这当然是路由,而不是桥接,但根据您的拓扑和需要,它更合适。