
次のような設定になっています:
Box A
eth0 - 192.168.1.101
eth1 - 10.10.2.1
Box B
eth0 - 10.10.2.2
Box A は eth0 経由でインターネットにアクセスできます。Box B を 192.168.1.0/24 ネットワーク上で表示できるようにして、別のボックスから直接 ssh できるようにしたいのですが、Box A も利用可能である必要があります。
私は、Box Aのeth0に仮想IPを作成し、すべてのトラフィックをBox Bに転送することを考えました。
ifconfig eth0:0 192.168.1.102
iptables -t nat -A PREROUTING -i eth0:0 -j DNAT --to-destination 10.10.2.2
しかし、それはうまくいかないようです。
また、IP転送が有効になっており、ボックスBはインターネットにアクセスできます。
iptables -t nat -A POSTROUTING -j MASQUERADE
答え1
私は、ネットワークのデフォルト ゲートウェイに静的ルートを追加することでこれにアプローチします。これにより、ネットワークへのすべてのパケットがノード経由でルーティングされる192.168.1.0/24
ことになります。10.10.2.0/24
192.168.1.101
次に、 で IP 転送を有効にする必要があります192.168.1.101
。
次に、ボックス B の192.168.1.0/24
viaへのルートも追加する必要があります。10.10.2.1
10.10.2.x
この方法では、両方のネットワークで アドレスとアドレスを使用でき192.168.1.x
、すべてのトラフィックがネットワーク間でルーティングされます。
答え2
の引数として仮想インターフェースを使用することはできません-i
。代わりに、宛先を使用することです。住所:
iptables -t nat -A PREROUTING -d 192.168.1.102 -j DNAT --to-destination 10.10.2.2