bond0 インターフェイスを使用する場合、デフォルトゲートウェイは設定されません。

bond0 インターフェイスを使用する場合、デフォルトゲートウェイは設定されません。

これは私の/etc/network/interfacesファイルです:

auto bond0
iface bond0 inet manual
    address 10.66.7.11/24
    gateway 10.66.7.1
    bond-mode 802.3ad
    bond-slaves eth2 eth3
    bond-miimon 100
    bond-downdelay 200
    bond-updelay 400
    bond-lacp-rate 1
    up ifconfig bond0 10.66.7.11/24 up

bond0 インターフェイスを起動すると動作しますが、デフォルトゲートウェイが設定されていません。

# route -n
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.66.7.0       0.0.0.0         255.255.255.0   U     0      0        0 bond0

デフォルトゲートウェイを手動で設定する必要があり、すべてがうまく機能しました。

route add default gw 10.66.7.1 bond0

#route -n
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface  
0.0.0.0         10.66.7.1       0.0.0.0         UG    0      0        0 bond0
10.66.7.0       0.0.0.0         255.255.255.0   U     0      0        0 bond0

ファイルで定義したときにデフォルトゲートウェイが自動的に設定されないのはなぜですか/etc/network/interfaces

答え1

多くの中で上下なら実装して考えてみましょう。ifupdown(「v1」実装)とinterfaces(5)Debian での構成。

これ債券0祭典してはいけないキーワードの使用manual:

手動方法

この方法は、デフォルトで設定されていないインターフェイスを定義するために使用できます。upこれらのdownインターフェイスは、コマンドまたはスクリプトを介して手動で設定できます/etc/network/if-*.d

このように構成されています債券0バインディング属性(Debianではifenslaveパッケージにプラグインスクリプトを追加することで可能です/etc/network/if-*.d)がありますが、IP属性はそうではありません。

したがって、何も実行されず、オプションはaddress無視gatewayされますが、upスクリプトを介してインポートされた手動コマンドは実行されます。たとえば、次のようになります。

up ifconfig bond0 10.66.7.11/24 up

どの手動正確に 1 つのアドレスを追加するコマンドを実行します。債券0:そうだから債券0カーネルが自動的にLANパスを追加するアドレスがあり、ゲートウェイはありません。

キーワードを使用する必要があります(メソッドが実行する操作は引き続きstatic実行されますが、次のようにIPv4も構成します)。manualinet static

静的方法

この方法は、静的に割り当てられたIPv4アドレスでイーサネットインターフェイスを定義するために使用できます。

持つ上下ならIPアドレスとデフォルトゲートウェイを設定します。


したがって、不要な項目manualに置き換えてstatic削除するだけですup。その後、構成は次のようになります。

auto bond0
iface bond0 inet static
    address 10.66.7.11/24
    gateway 10.66.7.1
    bond-mode 802.3ad
    bond-slaves eth2 eth3
    bond-miimon 100
    bond-downdelay 200
    bond-updelay 400
    bond-lacp-rate 1

関連情報