У меня есть сервер Ubuntu 18.04 с тремя сетевыми картами, каждый из которых подключен к отдельной локальной сети, и каждый получает сетевую информацию от DHCP-сервера. По умолчанию, из того, что я могу сказать, один интерфейс устанавливается по умолчанию и будет правильно маршрутизировать исходящий трафик, но любой входящий трафик, поступающий на интерфейс не по умолчанию, будет по существу отброшен, так как ответ будет отправлен из другого интерфейса. В моем сценарии мне нужно иметь доступ к серверу через SSH на каждом интерфейсе.
После долгих раскопок и игры с netplan вот что я закончил:
network:
version: 2
renderer: networkd
ethernets:
ens192:
dhcp4: yes
ens224:
dhcp4: yes
dhcp4-overrides:
use-routes: no
routes:
- to: 0.0.0.0/0
via: 192.168.2.1
metric: 100
table: 2
routing-policy:
- from: 192.168.2.0/24
table: 2
ens256:
dhcp4: yes
dhcp4-overrides:
use-routes: no
routes:
- to: 0.0.0.0/0
via: 192.168.1.1
metric: 100
table: 3
routing-policy:
- from: 192.168.1.0/24
table: 3
Это кажется запутанным, но оно действительно решает мою первоначальную постановку задачи. Мне интересно, упускаю ли я что-то здесь очевидное или это действительно правильный ответ.
Конфигурация, которую вы сейчас используете, позволяет выполнить полную маршрутизацию для всего трафика через каждый интерфейс, поскольку вы используете маршрутизацию на основе источника , Если требуется, чтобы вы могли получить доступ к машине через ssh с любого удаленного адреса на любой из локальных адресов, независимо от того, какие сетевые интерфейсы в данный момент работают, тогда это самый простой способ выразить это в настоящее время в netplan.
Если вам нужно было только ens224
и ens256
для использования в качестве резервных интерфейсов в случае, если ens192
не работает, а в других случаях вам нужно было, чтобы они были доступны только из ( и для достижения) их соответствующих локальных сетей, вы можете использовать вместо этого эту упрощенную конфигурацию:
network:
version: 2
renderer: networkd
ethernets:
ens192:
dhcp4: yes
ens224:
dhcp4: yes
dhcp4-overrides:
route-metric: 200
ens256:
dhcp4: yes
dhcp4-overrides:
route-metric: 200