Моя проблема весьма схожа с этим вопросом. Моя бродячая машина устанавливает метрику маршрута по умолчанию неправильно.
Следующее является 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 не могла решить проблему и имеет предел фиксированного шлюза.
Какую конфигурацию я должен использовать для переупорядочения метрик автоматически?
Для систем с несколькими интерфейсами только интерфейс, который должен получить шлюз по умолчанию, должен иметь "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