为线路网络配置 iptables

为线路网络配置 iptables

我有一个设置,由 3 台 linux (CentOS) 机器组成:

机器

所有直连的机器都能互相ping通。

我正在尝试设置 iptable 规则,使 VM3 能够 ping VM1,反之亦然,然后将 VM1 连接到互联网,并使所有 3 台机器都能够访问互联网。

我已经启用了ip转发

net.ipv4.ip_forward = 1

我在VM2中添加了两条iptables规则

-A FORWARD -i eth1 -o eth2 -j ACCEPT
-A FORWARD -i eth2 -o eth1 -j ACCEPT

我已经在网关 /etc/sysconfig/network 中设置了默认值

VM3 - 172.16.61.1 
VM2 - 172.16.60.1 

在 VM3 中我运行了命令

> ip route get 172.16.60.1
172.16.60.1 via 172.16.61.1 dev eth1 src 172.16.61.2

然而,这并没有使它发挥作用。你能帮助我吗?

答案1

要允许 VM3 访问 VM1,您需要在链MASQUERADE中的 nat 表中添加一条规则POSTROUTING。例如

iptable -A POSTROUTING -o eth1 -j MASQUERADE

这基本上会将 VM3 置于 VM3 的 NAT 后面

相关内容