web-dev-qa-db-ja.com

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に置くことができることは知っていますが、もっと「クリーンな」方法はありますか?

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

4
goncalopp

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

設定に依存するため、解決策は明白ではないようです。 DHCPを使用してデフォルトのGWを論理的に取得するということは、それがどこにあるかを気にしないことを意味します。

thisthis に基づいて、追加してみます

interface eth1 {
    supersede routers ""
}

/etc/dhcp/dhclient.confに移動して、何が起こるかを確認します。アイデアは、何もせずにeth1経由で到達したDHCPサーバーによって提供されるsupersederoutersすることです。

5
kostix