web-dev-qa-db-ja.com

特定のホストへのルートを追加すると、特定のインターフェースに出ます

2つのNICを備えたRed Had Linuxマシンがあります。

  • eth0-10.0.1.253 | 255.0.0.0
  • eth1-10.0.1.1 | 255.255.255.0

つまり、1つ目はクラスAサブネット上にあり、2つ目はクラスCサブネット上にあります。

これは私のルーティングテーブルは次のようになります。

Destination  Gateway   Genmask        Flags Metric Ref Use Iface
10.0.1.0     *         255.255.255.0  U     0      0     0 eth1
link-local   *         255.255.0.0    U     1002   0     0 eth0
10.0.0.0     *         255.0.0.0      U     0      0     0 eth0
default      10.0.0.1  0.0.0.0        UG    0      0     0 eth0

2つのNICが別々の物理(実際には仮想)LANセグメントに接続されており、ホストが同じLANセグメントに接続されているeth0はIP 10.0.1.3である| 255.0.0.0しかし、混乱してeth1を送信しているように見えるため、このマシンからはpingできません。 eth1を無効にしてパケットを強制的にeth0に送信すると、接続されますが、両方を有効にする必要があります。

解決策は、ホスト10.0.1.3に手動のルートを追加して、eth0を強制的に通過させることだと思います。上記のコマンドを使用して手動でルートを指定する方法がわかりません。基本的に、eth0から10.0.1.3にトラフィックを送信する必要があります。どんな助けでも素晴らしいです!!

8
Andy Arismendi

# route add -Host 10.0.1.3 dev eth0

9
dchirikov

ipバイナリを使用する新しいマシンでは、ルートを追加するための構文は少し異なります(ただし、ありがたいことに、ホスト/ネットワーク/その他では本当に一貫しています)。

ip route add 10.0.1.3 via 10.0.0.1 dev eth0

10.0.2.0インターフェースを介して新しいeth1ネットワークの新しいデフォルトルートを追加する場合は、次のようになります。

ip route add 10.0.2.0/24 via 10.0.1.1 dev eth1

ソース: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/5/html/Deployment_Guide/s1-networkscripts-static-routes.html

10
dragon788