
在 NAT 後面有多個容器的專用伺服器中,我嘗試透過附加到主實體介面的特定虛擬介面路由來自其中一個容器的輸出/出站流量。兩個介面都分配有公共 IP。
該鏈如下所示:
OpenVZ 容器 (10.10.10.2) > 主機系統 (eth0:0; IP:1.2.3.4) > 互聯網
與目前的情況相反
OpenVZ 容器 (10.10.10.2) > 主機系統 (eth0; IP:5.6.7.8) > 互聯網
我相信這可以透過 iptables postrouting 規則來完成
答案1
事實證明,一個簡單的後路由規則就達到了目的。
iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o eth0 -j SNAT --to 1.2.3.4
我還必須刪除一堆 MASQUERADE 後路由規則,這些規則只會造成一團糟。