2つのインターフェースを持つDebianのデフォルトルート

2つのインターフェースを持つDebianのデフォルトルート

私は、DHCP で設定された 2 つのインターフェースを持つ Debian マシンを持っています。

allow-hotplug eth0
iface eth0 inet dhcp

allow-hotplug eth1
iface eth1 inet dhcp

起動時に、eth1 にデフォルト ルートが追加されます。

0.0.0.0         10.200.10.253   0.0.0.0         UG    0      0        0 eth1
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.200.10.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1

しかし、デフォルト ルートを eth0 のゲートウェイにする必要があります。デフォルト ルートを削除し、起動後に dhclient を実行すると、次のように動作します。

$ sudo route del default
$ sudo dhclient -v eth0

これを に装着できることはわかっていますrc.localが、もっと「クリーン」な方法はありますか?

静的アドレスは使用できません。

答え1

私には、生成された両方の DHCP クライアントが、それぞれ対応する iface でデフォルト ゲートウェイを取得して競合しているように見えます。このようにして、eth1(何らかの理由で) オンになっているクライアントが確実に勝利します。

解決策は設定によって異なるため、明らかではないようです。論理的には、DHCP を使用してデフォルトの GW を取得するということは、その場所を気にする必要がないことを意味します。

に基づくこれそしてこれ、追加してみると

interface eth1 {
    supersede routers ""
}

/etc/dhcp/dhclient.conf何が起こるか見てみましょう。アイデアは、DHCP サーバーによって提供されたsupersede何も経由せずに到達することです。routerseth1

関連情報