У меня есть 2 сетевых интерфейса, подключенных к моей машине. (Fwiw это aws экземпляр с первичным (по умолчанию) ENI и дополнительным, вторичным ENI, каждый из которых связан с общедоступным и частным IP-адресами.)
Я добавил вторую таблицу маршрутизации, ввел правила таблицы и добавил и удалил пару маршрутов в основной таблице, а также в дополнительной таблице по моему предпочтению.
Все работает нормально, за исключением того, что периодически в основную таблицу добавляется дополнительный нежелательный (нарушающий работу) маршрут шлюза по умолчанию. За что отвечает демон. это?
На всякий случай, если это актуально, вот моя конфигурация:
Содержимое /etc/netplan/50-cloud-init.yaml
:
version: 2
ethernets:
ens5:
dhcp4: true
match:
macaddress: 06:c5:b4:81:5d:a2
set-name: ens5
ens6:
dhcp4: true
match:
macaddress: 06:23:d7:eb:f9:f1 # ENI assigned
set-name: ens6
основная
таблица:
default via 10.1.2.1 dev ens5 proto dhcp src 10.1.2.251 metric 100
10.1.2.0/24 dev ens5 proto kernel scope link src 10.1.2.251
10.1.2.1 dev ens5 proto dhcp scope link src 10.1.2.251 metric 100
rt2
таблица:
default via 10.1.2.1 dev ens6 src 10.1.2.34
10.1.2.0/24 dev ens6 scope link src 10.1.2.34
Таблица маршрутизации rt2
работает стабильно, но основная
таблица не будет долго содержать единственный шлюз по умолчанию. Иногда я могу завершить сеанс ssh и вернуться, и все не изменилось; в других случаях, если я подожду немного дольше, когда я снова добавлю ssh в новый шлюз по умолчанию. Что-то в Ubuntu 20.04, может быть, в netplan или в демоне dhcp или, возможно, в aws (?) Или, может быть, в чем-то еще, периодически добавляет следующие 2 строки обратно в главную
таблицу:
default via 10.1.2.1 dev ens6 proto dhcp src 10.1.2.34 metric 100
10.1.2.1 dev ens6 proto dhcp scope link src 10.1.2.34 metric 100
Я могу удалить их снова с помощью команды типа sudo ip route del default через 10.2.1.1 dev ens6
, но они никогда не перестают добавляться повторно. Это приводит к ситуации асимметричной маршрутизации, что очень неудобно, так как разрывает мое соединение ssh с iface ens6
.
Вполне вероятно, что это исходит от DHCP-сервера. Вы включили DHCP и не указали, что не хотите использовать маршруты с DHCP-сервера.
Чтобы этого избежать, можно указать:
dhcp4-overrides:
use-routes: false