Linuxをルーターに変換する - eth0:0からeth0へのトラフィック

Linuxをルーターに変換する - eth0:0からeth0へのトラフィック

だから私はMintを実行しているLinuxボックスをルーターに変換しようとしました。 eth0には、IPアドレスが71.xx.xx.xxのパブリックアドレスがあります。 eth0:0 を生成し、IP アドレス 10.0.0.100 に設定しました。 eth0でDHCPサーバーを起動し(eth0:0を使用しないため)、10.0.0.101から10.0.0.200のアドレスを指定しました。同じマシン上でeth0とeth0:0の間をpingできます。スイッチを介してLinuxに接続されている他のラップトップがあり、DHCPサーバーを介してIPアドレスを受け取ることができます。問題は、10.0.0.xプライベートネットワーク上のコンピュータがeth0の静的IPを介してインターネットにアクセスできるように、トラフィックをeth0:0からeth0に、またはその逆にルーティングする方法です。

答え1

ルーティングメカニズムを介して転送するには、少なくとも2つのインターフェイスが必要です。インターフェイスは、物理インターフェイス(例:eth0 eth1)、vlan(eth0.1 eth0.2)、vpn(tun)、ブリッジ(br0)、bond...でなければなりませんが、エイリアスではありません。エイリアシングは、同じインターフェイスにより多くのIPを接続する方法です。

ただし、プライベートIPアドレスがあるため、Netfilter(iptables)ファイアウォールルールを使用してSNATおよびDNATを実行してIPトラフィックを転送できます。

答え2

まず、転送を有効にします。

   echo 1 > /proc/sys/net/ipv4/ip_forward

「ゲートウェイ」は両方を見ることができるので、これが必要なすべてです。それ以外の場合、iptables許可された転送を使用する既存の方法は単一のNICでのみ機能するため、ナットを検討できます。

答え3

努力する

# Ensure that ip forwarding is active
echo 1 > /proc/sys/net/ipv4/ip_forward
# Masquerade local net with public IP
iptables -I POSTROUTING -t nat -o eth0 -j SNAT --to-source 71.xx.xx.xx

答え4

まず、転送を有効にします。

echo 1 > /proc/sys/net/ipv4/ip_forward

次に、次のことを試してください。

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

iptables -A FORWARD -i eth0 -o eth0:0 -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth0:0 -o eth0 -j ACCEPT 

関連情報