web-dev-qa-db-ja.com

dhcpとnetplanを使用してデフォルトのルートメトリックを構成するにはどうすればよいですか?

私の問題は この質問 とよく似ています。 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に追加しても問題を解決できず、固定ゲートウェイの制限があります。

メトリックを自動的に並べ替えるには、どの構成を使用する必要がありますか?

4
jeiea

複数のインターフェイスを備えたシステムの場合、デフォルトゲートウェイを取得するインターフェイスにのみ「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