だから私は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