為線路網路設定 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 後面

相關內容