Как я могу настроить метрику маршрута по умолчанию с dhcp и netplan?

Моя проблема весьма схожа с этим вопросом. Моя бродячая машина устанавливает метрику маршрута по умолчанию неправильно.

Следующее является netplan конфигурацией.

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 не могла решить проблему и имеет предел фиксированного шлюза.

Какую конфигурацию я должен использовать для переупорядочения метрик автоматически?

5
задан 21 February 2018 в 20:56

1 ответ

Для систем с несколькими интерфейсами только интерфейс, который должен получить шлюз по умолчанию, должен иметь "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: уже перечисляет подсеть). Наличие a metric: набор к 0 может далее перепутать ядро.

Если Вам нужен интерфейс со статическим IP (в этом случае enp0s8 чтобы иметь шлюз по умолчанию вместо интерфейса, который делает DHCP, затем можно установить маршрут с метрическим значением ниже, чем 100; так, чтобы это было выбрано, прежде чем шлюз по умолчанию установил через 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
8
ответ дан 23 November 2019 в 08:58

Другие вопросы по тегам:

Похожие вопросы: