私の問題は この質問 とよく似ています。 Vagrant Machineがデフォルトのルートメトリックを誤って設定します。
以下はネットプランの構成です。
network:
version: 2
ethernets:
enp0s3:
dhcp4: true
match:
macaddress: 02:70:4e:c8:68:e9
enp0s8:
dhcp4: false
addresses: [192.168.33.10/24]
gateway4: 192.168.33.1
routes:
- to: 192.168.33.0/24
via: 192.168.33.1
metric: 0
ルートテーブル。
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.33.1 0.0.0.0 UG 0 0 0 enp0s8
0.0.0.0 10.0.2.2 0.0.0.0 UG 100 0 0 enp0s3
10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3
10.0.2.2 0.0.0.0 255.255.255.255 UH 100 0 0 enp0s3
192.168.33.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s8
192.168.33.0 192.168.33.1 255.255.255.0 UG 0 0 0 enp0s8
enp0s3
はNATインターフェースであり、インターネット接続でこれを使用する必要があります。 Sudo route del default enp0s8
はこの問題を解決しますが、ルートをyamlに追加しても問題を解決できず、固定ゲートウェイの制限があります。
メトリックを自動的に並べ替えるには、どの構成を使用する必要がありますか?
複数のインターフェイスを備えたシステムの場合、デフォルトゲートウェイを取得するインターフェイスにのみ「gateway4:」を設定する必要があります。 DHCPがデフォルトゲートウェイを設定する可能性が非常に高いことに留意してください。
network:
version: 2
ethernets:
enp0s3:
dhcp4: true
match:
macaddress: 02:70:4e:c8:68:e9
enp0s8:
dhcp4: false
addresses: [192.168.33.10/24]
設定した追加のルートは通常不要であることに注意してください:192.168.33.0/24は、この場合enp0s8
インターフェイスに直接接続されているため、既に到達可能です(addresses:
が既にサブネットをリストしている場合)。 metric:
を0に設定すると、カーネルがさらに混乱する可能性があります。
静的IP(この場合はenp0s8
を使用してDHCPを実行するインターフェイスの代わりにデフォルトゲートウェイを使用するインターフェイスが必要な場合は、メトリック値lower 100未満でルートを設定できます。 ;これが選択されるようにbefore DHCP経由でsystemd-networkdによって設定されたデフォルトゲートウェイ例:
network:
version: 2
ethernets:
enp0s3:
dhcp4: true
match:
macaddress: 02:70:4e:c8:68:e9
enp0s8:
dhcp4: false
addresses: [192.168.33.10/24]
routes:
- to: 0.0.0.0/0
via: 192.168.33.1
metric: 50