如果我有一个 4 个(或更多)以太网端口的 Linux 机器,如何将其设置为路由器来处理 4 个 C 类子网?例如,eth0 => 192.168.1.0/24,eth1 => 192.168.2.0/24,eth2 => 192.168.3.0/24,eth3 => 192.168.4.0/24,这 4 个子网内的每台客户端机器都可以互相通信。
有什么建议脚本吗?
答案1
根据您的接口设置,您需要让内核执行网络地址转换以跨这些子网路由数据包。首先尝试以下操作:
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.2.0/24 -j SNAT --to 192.168.2.1
# iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -d 192.168.1.0/24 -j SNAT --to 192.168.1.1
192.168.2.1
eth1 的 IP 地址和子网的默认网关在哪里192.168.2.0/24
,192.168.1.1
一样的。
并确保您已net.ipv4.ip_forward=1
输入/etc/sysctl.conf
。然后运行sysctl -p
以使更改生效。