Debianインターフェースファイルに2つのデフォルトゲートウェイを追加する


10

これは私のインターフェースファイルです:

auto eth0
iface eth0 inet static
   address 192.168.1.10
   netmask 255.255.255.0
   gateway 192.168.1.1

auto eth1
iface eth1 inet static
   address 192.168.2.10
   netmask 255.255.255.0
   gateway 192.168.2.1

ネットワークデーモンを再起動すると、次のエラーが発生しますeth1 is not upここでの質問に対する受け入れられた回答で述べられていることを達成するために、 2つのデフォルトゲートウェイが必要です。これは私のルーティングテーブルがどうあるべきかです:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
default         192.168.2.1     0.0.0.0         UG    0      0        0 eth1
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
192.168.2.0     *               255.255.255.0   U     0      0        0 eth1

ifconfigroute add default gwコマンドを使用して上記の表を取得しました。しかし、私は/etc/network/interfacesファイルでそれをしたいです。どうすればできますか?

Update1:

iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    up ip route del 192.168.1.0/24
    post-up ip route add 192.168.1.0/24 dev eth0 metric 1
    up route add default gw 192.168.1.1 metric 1

1
トラフィックがどのように出て行くかを気にしない限り。Solarisおよび以前のLinuxバージョンでは、これはラウンドロビン方式で行われました
Karlson、

interfacesファイルは正しいようです。通常、DHCPは今日の方がはるかに便利であり、それがこの状況で私が使用したものです。DHCPサーバーの設定で、特定のMACアドレスにIPアドレスを設定できます。
Casualunixer

余談ですが、NetworkManagerは最近、ルートメトリックのより広範なサポートを追加しました。自動的に処理するか、手動で設定できます。より便利な方法かもしれませんし、ツールの機能リクエストを提出したいかもしれません。
PavelŠimerda2015年

また、2つのデフォルトルートが必要な理由の詳細を追加することもできます。異なるメトリックを持つ2つのルートが期待どおりに機能しないことを推測できるだけです。
PavelŠimerda2015年

interfacesファイルでは、メトリックを設定できます。アップおよびポストアップを使用して手動でルートを追加する必要はないはずです
Goswin von Brederlow 2017年

回答:


10

この/ etc / network / interfacesは、2.6.32-40 Ubuntu 10.04 LTSで動作します。

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.254
    post-up route add default gw 192.168.1.1 metric 1
    pre-down route del default gw 192.168.1.1

auto eth1
iface eth1 inet static
    address 192.168.2.10
    netmask 255.255.255.0
    network 192.168.2.0
    broadcast 192.168.2.254
    post-up route add default gw 192.168.2.1 metric 2
    pre-down route del default gw 192.168.2.1

私は2つのデフォルトルートを取得します。

root@gamla:/etc/network# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
0.0.0.0         192.168.1.1     0.0.0.0         UG    1      0        0 eth0
0.0.0.0         192.168.2.1     0.0.0.0         UG    2      0        0 eth1

メトリックに注意してください。私はあなたの質問を理解しましたか?


に関連付けられているネットワークとゲートウェイeth0は、プライマリネットワークとゲートウェイであるため、最初に表示されます。セットアップの出力netstat -anrまたは単なるrouteコマンドは何ですか?
nixnotwin

編集し、メトリックパラメータを追加して、目的のルート順序を取得しました。私のシステムには、出力から編集した他の多くのインターフェースがあり、インターフェース名はethXではないため、私のソリューションが機能するかどうかは100%わかりません。試して結果を教えてください。
Eli Rosencruft 2012

デフォルトゲートウェイのメトリックの追加は機能します。しかし、どうすればルートのメトリックを追加できますか?ルーティングテーブルには、クラスBサブネットがあり、別のクラスAサブネットの前に来る必要があります。metric 3debian ifmetricパッケージからの指定は私にはうまくいきませんでした。
nixnotwin 2012

1
カーネルはメトリックを格納しますが、ルーティングに使用しません。メトリックを使用するには、クアッガ(以前はゼブラ)または鳥などのルーティングデーモンを実行する必要があります。
Eli Rosencruft 2012

1
@EliRosencruft参考文献を引用できますか?
drAlberT 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.