20

eth0 と eth1 の 2 つのネットワーク インターフェイスを備えた PC があります。

eth0 - IP は 192.168.11.X/24 です。

eth1 - IP は 192.168.130.X/24 です。eth1 にはインターネット接続があります。

インターネットに接続しようとしたときに、使用するインターフェイスを OS はどのように認識しますか? すべてのデフォルト ゲートウェイを反復しますか? 各インターフェイスが提供するもののキャッシュはありますか? Windows と Linux で動作に違いはありますか?

4

2 に答える 2

18

私は家のLinux側について答えるつもりです(少なくともUbuntuなどのDebianベースのシステムについては、現時点ではユーザーにとってより一般的であるため):

コマンド ラインに次のように入力します。

route -n

次のような「ルーティング テーブル」が表示されます。

Destination    Gateway          Genmask         ...    Iface
0.0.0.0        192.168.11.254   0.0.0.0         ...    eth0
169.254.0.0    0.0.0.0          255.255.0.0     ...    eth0
192.168.11.0   0.0.0.0          255.255.255.0   ...    eth0
192.168.130.0  0.0.0.0          255.255.255.0   ...    eth1

いくつかの列を省略しましたが、基本的には、「宛先」の下の「0.0.0.0」と書かれた行が、デフォルト ルートの場所を決定する行です。言い換えれば、他の行の他のサブネット (google.com、facebook.com など) に向けられていないすべてのトラフィックの行き先です。

正しくない場合 (上記の表のように、「eth1」がインターネット アクセスに必要なカードです)、デフォルト ルートを変更する必要があります。

sudo route del default
sudo route add default gw 192.168.130.254 netmask 255.255.255.0

それは今のところそれを修正します。永続的にするには、interfaces ファイルを編集します。

sudo gedit /etc/network/interfaces

次のように編集します (特定の状況に応じて変更してください)。

auto eth0
iface eth0 inet dhcp
up route del default

auto eth1
iface eth1 inet dhcp
up route add default gw 192.168.130.254 netmask 255.255.255.0

次に、ネットワークを再起動して、うまくいったかどうかを確認します。

sudo /etc/init.d/networking restart
于 2012-08-24T13:09:47.440 に答える
3

あなたが求めている機能は、ホストに知られている宛先のリストであるルーティング テーブルです。

OS がパケットを転送する必要がある場合、このリストをチェックして、最も適切なもの (特定の宛先から一般的な宛先まで) を選択します。例えば:

192.0.2.0/28    - 192.0.2.1 via eth1
198.51.100.0/27 - 198.51.100.1 via eth0
0.0.0.0/0       - 203.0.113.1 via eth0

最後の宛先に注意してください。どの IPv4 アドレスにも一致します。

于 2012-08-24T12:52:37.850 に答える