インターフェイスが表示されたときに/etc/network/interfacesに設定されたパスが追加されないのはなぜですか?

インターフェイスが表示されたときに/etc/network/interfacesに設定されたパスが追加されないのはなぜですか?

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

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth0:0
iface eth0:0 inet static
        address 10.20.8.231
        netmask 255.255.255.0
        gateway 10.20.8.1
        up /sbin/route add 1.2.3.4 gw 10.20.8.1
        down /sbin/route del 1.2.3.4 gw 10.20.8.1

オンラインで見つかったいくつかの例では、eth0:0が表示されたときにパスを追加する必要がありますが、何らかの理由で機能しません。

インターフェイスを開こうとすると、次の結果ifup eth0:0が表示されます。

RTNETLINK answers: File exists
Failed to bring up eth0:0.

これifconfigでeth0:0が動作していますが、route -n新しいパスは表示されません。実際、それが示したパスは前のパスとまったく同じでした。変更なし。

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.20.8.1       0.0.0.0         UG    0      0        0 eth0
10.20.8.0       0.0.0.0         255.255.255.0   U     0      0        0 eth0

この設定は、SSHを介してのみアクセスできるリモートシステムで使用されます。全体的なアイデアは、サイトネットワークが変更され(2回発生)、静的IPに接続できなくなる場合に備えて、eth0をdhcpにバックアップに設定することです。問題は、SSH(組み込みプロセスで使用)がeth0を介したデフォルトパスを使用することです。ファイアウォール(私たちが管理していない)がeth0:0の固定IPのみを許可するように設定されているため、これは機能しないことです。 SSHを使用してください。

注:上記の例では、1.2.3.4はSSHサーバーを表し、単一のホストに対してeth0:0を介してトラフィックをルーティングしようとしていますが、テスト後にeth0:0を使用するようにデフォルトパスを設定したい場合があります。私も試してみましたが、同じように失敗しました。私は次の行を使用しています:

up route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.20.8.1


助けてくれてありがとう。

ベストアンサー1

セカンダリIPアドレスを優先的に配置することは特に良い考えではないと思います。

eth0が最初のインターフェイスであり、別のネットワークにルーティングするときは、ソースIPがDHCP IPアドレスであるため、eth0のデフォルトパスを使用する場合よりもはるかに大きいです。実は10.20.8.231の代わりに。

したがって、eth0:0の代わりにeth0に固定アドレスを配置することをお勧めします。次のように構成されます。

auto eth0
iface eth0 inet static
    address 10.20.8.231
    netmask 255.255.255.0
    gateway 10.20.8.1

auto eth0:0
iface eth0:0 inet dhcp

おすすめ記事