
我有一個設置,由 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 後面