如何配置从内部机器通过另一台机器到互联网的路由?

如何配置从内部机器通过另一台机器到互联网的路由?

我有一台内部机器,比如 X(未连接到互联网),它连接到一台机器,比如 Y,该机器已连接到互联网。

我应该如何配置机器才能从内部机器 X 通过 Y 路由到互联网?

答案1

默认路由器用户必须知道网络X用途可通过

因此,如果X位于 192.168.1.12/24,位于 192.168.1.1/24 和 192.168.0.101/24。然后在与以下设备共享连接的路由器(假设位于 192.168.0.1/24,连接到互联网)上您需要添加:

ip route 通过 192.168.0.101 范围添加 192.168.1.0/24 全局

并给防火墙制定适当的规则以允许流量通过。

另一个解决方案是使用 SNAT

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

(假设的默认路由器连接到eth0)

在这两种情况下,您都需要将数据包转发添加到

echo 1 > /proc/sys/net/ipv4/ip_forward
回显“net.ipv4.ip_forward = 1”>> /etc/sysctl.conf

答案2

将机器 X 上的网关设置为 Y。然后确保主机 Y 允许数据包转发。在具有 iptables 的 Linux 上,这或多或少需要以下内容:

编辑/etc/sysctl.conf以允许转发,确保net.ipv4.ip_forward已设置为1

之后,在 iptables 中应用规则以允许流量。

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

(如果 eth0 是正确的设备)

答案3

尝试这个。

sysctl -w net.ipv4.ip_forward=1

在机器X上,设置默认路由为Y。

如果有效,请通过添加永久设置

net.ipv4.ip_forward = 1

到:/etc/sysctl.conf

并重新启动。

相关内容