При добавлении двух и более сетевых интерфейсов к виртуальной машине маршруты по умолчанию транслируются по
для всех существующих подключений. Это может привести к некорректной маршрутизации трафика.Чтобы обеспечить стабильную работу виртуальной машины, в том числе доступ к ней по SSH, вы можете удалить неиспользуемые маршруты по умолчанию и установить запрет на обработку маршрутов по DHCP на соответствующих интерфейсах по инструкции ниже.
Рекомендуется сохранить маршрутизацию по DHCP только через тот интерфейс, на который назначен публичный IP-адрес. Для остальных интерфейсов необходимо вручную прописать статические маршруты в их сетевых настройках в гостевой ОС.
Чтобы посмотреть маршруты по умолчанию, выполните команду:
ip route
В ответе отобразится список маршрутов и информация о них.
Пример:
default via 192.168.125.193 dev enp3s0 proto dhcp src 192.168.125.241 metric 100default via 10.0.0.1 dev enp4s0 proto dhcp src 10.0.0.59 metric 1008.8.4.4 via 10.0.0.1 dev enp4s0 proto dhcp src 10.0.0.59 metric 100
Где:
enp3s0 и 192.168.125.193 — интерфейс, которому назначен публичный IP-адрес, и его дефолтный шлюз, соответственно.
enp4s0 и 10.0.0.1 — интерфейс, которому назначен только приватный IP-адрес, и его дефолтный шлюз соответственно. Не должен использоваться для маршрутизации по умолчанию.
Чтобы удалить маршрут через шлюз интерфейса, выполните команду:
sudo ip route del default via 10.0.0.1
Где default via 10.0.0.1 — маршрут, который необходимо удалить.
Чтобы удаленные маршруты не восстановились после перезагрузки сетевого интерфейса, установите на необходимых интерфейсах запрет на обработку маршрутов по DHCP. Для этого измените конфигурацию netplan по инструкции ниже.
В каталоге /etc/netplan/ откройте конфигурационный файл 50-cloud-init.yaml от имени суперпользователя:
sudo nano /etc/netplan/50-cloud-init.yaml
В конфигурацию необходимых сетевых интерфейсов добавьте правило:
dhcp4-overrides:use-routes: false
Пример полной конфигурации:
network:version: 2ethernets:enp3s0:dhcp4: truematch:macaddress: fa:16:3e:31:1b:fbmtu: 1500set-name: enp3s0enp4s0:dhcp4: truedhcp4-overrides:use-routes: falsematch:macaddress: fa:16:3e:79:25:6emtu: 9000set-name: enp4s0
Сохраните изменения и перезагрузите ВМ.