
私は 3 台の Linux (CentOS) マシンで構成されたセットアップを持っています:
直接接続されているすべてのマシンは相互に ping を実行できます。
VM3 が VM1 に ping を送信できるように iptable ルールを設定し、その逆も実行できるようにしてから、VM1 をインターネットに接続して、3 台のマシンすべてがインターネットにアクセスできるようにしたいと考えています。
IP転送を有効にしました
net.ipv4.ip_forward = 1
VM2に2つの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
MASQUERADE
VM3がVM1にアクセスできるようにするには、チェーン内のNATテーブルにルールを追加する必要がありますPOSTROUTING
。例:
iptable -A POSTROUTING -o eth1 -j MASQUERADE
これは基本的にVM3をVM3のNATの背後に配置することになります