Linux で異なるインターフェースに NAT するにはどうすればよいでしょうか?

Linux で異なるインターフェースに NAT するにはどうすればよいでしょうか?

4 つのイーサネット インターフェイスを備えた Ubuntu 12.04 サーバーがあり、そのうち 2 つは eth5 と eth6 上の構成不可能なネットワーク デバイスに接続しています。各デバイスには、telnet 経由で 192.168.100.1 からのみアクセスできます。NAT を使用すると、両方のデバイスにアクセスできるようになります。他のソリューションも歓迎します。

私がやりたいことは、次のようになります。telnet 192.168.1.100そして、eth5 で 192.168.100.1 に変換します。同様に、telnet 192.168.1.101eth6 で 192.168.100.1 に変換します。このようにして、特定のイーサネット インターフェイスを使用する一種の IP エイリアスができます。このような解決策がなければ、明らかに IP の競合が発生します。

私が目にする NAT チュートリアルのほとんどは、インターネット接続の共有に関するものです。私は、もっと単純なことをやろうとしていますが、どうやら文書化されていないようです。

任意のヒント?

答え1

NAT(またはネットワークアドレス変換) は、すべての「内向き」IP を単一の「外向き」IP (IP マスカレード) として扱い、複数のローカル デバイスが同じ外向き接続に接続できるようにします (たとえば、ケーブル モデムに接続された Wi-Fi ルーターでは、NAT (およびおそらく DHCP) がオンになっており、デバイスが ISP から割り当てられた単一の IP を介してインターネットに接続できるようにします)。

あなたが求めているのは(私が推測するに)IPエイリアシングこれにより、単一の物理インターフェース ( としますeth0) を持ち、それに複数の IP を割り当てることが可能になります。

たとえば、/etc/sysconfig/network-scripts/eth0次のような内容の設定ファイルがあるとします。

DEVICE=eth0
IPADDR=192.168.1.100
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
ONBOOT=yes
NAME="192.168.1.100 (eth0)"
BOOTPROTO=none
USERCTL=no

192.168.1.100この設定ファイルは、デバイスにの IP を割り当てますeth0。そのため、別のマシンから 192.168.1.100 に ping すると、マシンの eth0 デバイスに送信されます。ルーターや iptables/PF を追加せずに、ネットワークeth0からのトラフィックも「確認」したい場合は、次のようにしてインターフェイス10.0.0.0に IP をエイリアスできます。eth0

エイリアスを追加するデバイスのファイルを作成します。この場合はeth0設定ファイルですが、:X(X割り当てるエイリアスの番号) を追加します (例: /etc/sysconfig/network-scripts/eth0:1)。このファイルには、追加するエイリアス情報が含まれます (例:

DEVICE=eth0:1
IPADDR=10.0.0.100
NETMASK=255.255.255.0
NETWORK=10.0.0.0
BROADCAST=10.0.0.255
ONBOOT=yes
NAME="10.0.0.100 (eth0:1)"
BOOTPROTO=none
USERCTL=no

この設定ファイルを追加すると、物理デバイスを介して両方192.168.1.100と通信できるようになります。10.0.0.100eth0

一方、ある物理インターフェース上のトラフィックを別の物理インターフェースに転送したい場合は、 を使用することを検討する必要がありますiptables

ご質問の内容から判断すると、2 つの異なる IP (192.168.1.100および) から、同じ IP () を共有しているように見える192.168.1.1012 つの別々の NIC (eth5および) にトラフィックを送信することについてお尋ねのようです。と が現在どのように構成されているかはわかりませんが、同じ IP を「共有」するように結合されている場合は、IP エイリアシングでは目的を達成できない可能性があるため、代わりに iptables を確認する必要があります。eth6192.168.100.1eth5eth6

これで少しは明確になるかと思います。

関連情報