web-dev-qa-db-ja.com

Linuxで優先ネットワークインターフェイスを設定する方法

このようにネットワークをセットアップしました。 http://docs.google.com/Doc?docid=0AZ1YxuLE4djaZGhqN2s1NmRfMjhjNjc0Ym1meg&hl=en

present network architecture

つまり、私は2つのネットワークインターフェースを備えたマシン(Calcium、Arch Linuxを実行)を持っています。 eth0はルーターに接続されており、ギガビットです。 Eth1は、10メガビットを介して大学のネットワークに直接接続されています。ルーターのアップリンクも大学のネットワークに接続されており、これも10メガビットです。

現在(私は信じています)Calcium上のすべてのトラフィックは、内部か外部かに関係なく、ルーターを介してeth0を通過しています。 (どうすれば確認できますか?)

理想的には、内部ネットワーク(192.168.10.0/24)を宛先とするトラフィックは、eth0を介してルーターに、そしてどこに行くにも移動します。他のすべてのトラフィックはeth1を通過する必要があります。

23
Mike Cooper

ネットワークルーティングテーブルによって、パケットのルーティング方法が決まります。追加のルートを追加するか、デフォルトゲートウェイを変更してルーティングに影響を与えることができます。

さらにサポートが必要な場合は、ルーティングテーブルを提供してください。

ルーティングテーブルを表示するには:

/sbin/route -n

デフォルトのgwを削除するには:

/sbin/route del default gw $IP

デフォルトのgwを追加するには:

/sbin/route add default gw $IP

詳細については、マンページを確認してください。ルーティングテーブルを操作および表示する方法は他にもあります。

netstat -rで表示し、ipでさらに操作します。

14
Warner

他の人に役立つ場合の完全な答えは次のとおりです。

宛先が192.168.10。*のパケットを作成するにはeth0を使用し、他のすべてのパケットはeth1を使用します。

1)現在のルーティングテーブルを表示する

ip route list

1つのエントリは、「default via 192.168.1.1」のようなものになります。ここで、192.168.1.1はルーター(別名ゲートウェイ)のIPアドレスです。 eth0とeth1のゲートウェイは後で必要になるため、覚えておいてください。

2)デフォルトルートを削除します。 (警告:これによりオフラインで起動します。)

ip route del default

3)新しいデフォルトルートを追加します(これにより、オンラインに戻ります)。以下の192.168.1.1を、上記のゲートウェイIPアドレスに置き換えます。

ip route add default via 192.168.1.1 dev eth1

4)eth0によって提供される特定のルートを追加します。より具体的なルートは、より具体的でないルートよりも自動的に優先されます。

ip route add 192.168.10.0/24 via 192.168.1.1 dev eth0

最後に、特定のIPアドレスにパケットを送信するために使用するインターフェイスをLinuxに要求できます。

ip route get 8.8.8.8

設定が機能した場合、8.8.8.8(Googleのサーバー)へのパケットはeth1を使用します。ローカルネットワーク上の任意のIPへのパケット:

ip route get 192.168.10.7

eth0を使用します。

33
Luke