解決策が見つからない問題が1つ発生しました。 2つのNICを搭載したLinux PCを使用しています。最初のnic(eth1)はパブリックIP(おそらくスイッチか何か、実際には関係ない)に接続されているため、eth1はwanに接続され、別のeth0はスイッチに接続してlan nicにします。構成:
eth1 IPアドレス88.200.1xx.xxx // xxxはセキュリティ上の理由の多くですeth0 IPアドレス192.168.1.1
wan ------> [eth1(linux PC)eth0] <----> [switch] <----> [eth1(PC1)]
次に、この2つのネットワークを接続して、PC1がLinux PCとWANにアクセスできるようにします。私はそれを行う方法を知っていると思いますが、それを正しく設定することはできません。これは私が試したものです:
どうすればこれを行うことができますか、私はlinux routeコマンドで試しましたが、行き詰まりました。助けてください。
Linuxボックスに2つのNICがあり、どちらもIPで構成されている場合、あるネットワークから別のネットワークへのルートを追加する必要はありません。これは自動的に行われます。
WAN NIC。LAN NICの構成ではこれを行わないでください。)にデフォルトゲートウェイアドレスを追加します。
次に、カーネルで転送を有効にします。
echo 1 >> /proc/sys/net/ipv4/ip_forward
ブート時にこの値を自動設定するには、この行のコメントを外しますin/etc/sysctl.conf
#net.ipv4.ip_forward=1
次に、iptablesにいくつかのルールを設定して、ナッティングと転送を実行します。
# Always accept loopback traffic
iptables -A INPUT -i lo -j ACCEPT
# We allow traffic from the LAN side
iptables -A INPUT -i eth0 -j ACCEPT
######################################################################
#
# ROUTING
#
######################################################################
# eth0 is LAN
# eth1 is WAN
# Allow established connections
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Masquerade.
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
# fowarding
iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# Allow outgoing connections from the LAN side.
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
それでうまくいくはずです。
デフォルトゲートウェイは1つしか設定できないため、設定できるのは1つだけです。
他のインターフェースを介してトラフィックをルーティングするには、永続的な静的ルートを設定し、それをそのインターフェースにバインドする必要があります。