我有一个站点,其中有无线网络 (192.168.0.0) 和有线网络 (192.168.1.0)。每个网络都有自己的 DHCP 服务器和其他类似的基础设施。有一台 Ubuntu Linux 计算机连接到这两个网络。我能否以某种方式配置这台 Linux 计算机,让这两个独立网络上的两台计算机进行通信?
我听说网桥不适用于无线主机。我想我需要 NAT,但我找到的大多数文档都试图将一些隔离网络连接到互联网。在这种情况下我不需要它。我只需要一台来自 192.168.0.0 的计算机将文件传输到 192.168.1.0 中的计算机。答案一定很简单。
答案1
不需要 NAT - 您所需要的只是让需要相互联系的主机通过 Ubuntu 机器(当然,它的 IP 与它们在同一个网络上)进行路由:
route add -net 192.168.0.0/24 gw ubuntulinux.on.net.0.0 # run this on the host on the wired network for it to reach the wireless network
route add -net 192.168.1.0/24 gw ubuntulinux.on.net.1.0 # run this on the host on the wireless network for to reach the wired network
并在服务器上激活 IP 转发:
sysctl -w net.ipv4.ip_forward=1
另外,检查服务器是否未过滤流量:iptables -nvL FORWARD
应该返回空。如果接口配置正确,则服务器上不需要任何路由。
答案2
您只需要基本的路由。
确保 /etc/sysctl.conf 中包含以下行:
net.ipv4.ip_forward = 1
然后,对于 192.168.0.0/24 上的主机,将 Linux 机器的 IP 地址设为其默认路由器(其地址为 192.168.0.x)。然后在 192.168.1.0/24 上的主机上,将另一个 Linux 接口设为主机的默认路由器。然后它们应该能够通过提供 IP 地址进行通信。映射到名称是另一回事,最容易的方法是编辑其他主机上的 /etc/hosts 文件。
答案3
桥接不适用于不同的子网,这里您需要的是路由。
我不熟悉 Linux 如何进行路由,抱歉,所以我只能提供这个链接。
https://help.Ubuntu.com/community/Router
虽然不多,但如果你读了它,你应该能够掌握路由的基础知识。
如果您有 Cisco 2800 路由器,我可以为您提供进一步的帮助。