Рейтинг:1

Ubuntu Server Netplan - конфликтующие объявления маршрутов по умолчанию для IPv4 - 4 разных / 24 на каждом порту

флаг ru

У меня есть сервер с 2-мя сетевыми картами по 4 порта, но используется только одна из них. Каждый порт подключен к коммутатору L2 и настроен для другой VLAN с 1 используемым IP-адресом из другой подсети / 24 — каждый с другим шлюзом по умолчанию. Из портов нормально работает только 1 - eno4. Остальные можно было пинговать, но с потерями через раз. Я получаю эту ошибку при применении netplan:

Возникла проблема при проверке согласованности маршрута по умолчанию.Пожалуйста настроить несколько таблиц маршрутизации и использовать политика маршрутизации вместо. Ошибка: конфликт объявлений маршрутов по умолчанию для IPv4 (таблица: main, метрика: по умолчанию), впервые объявленная в eno2, но также и в eno4

сам сетевой план:

сеть:
  Ethernet:
    эно1:
      адреса: ['aa.bb.cc.dd/24', 'a:b:c:x:e:f:g:1/64']
      шлюз4: aa.bb.cc.1
      шлюз6: a:b:c:x:e:f:g:0001
      серверы имен:
          адреса: [1.1.1.1, 1.0.0.1, 8.8.8.8, 8.8.4.4, 2606:4700:4700::1111, 2606:4700:4700::1001, 2001:4860:4860::8888, 2001:4860: 4860::8844]
      принять-ра: нет
    эно2:
      адреса: ['ee.ff.gg.hh/24', 'a:b:c:y:e:f:g:2/64']
      gateway4: ee.ff.gg.1
      шлюз6: а:б:с:у:е:е:г:0001
      серверы имен:
          адреса: [1.1.1.1, 1.0.0.1, 8.8.8.8, 8.8.4.4, 2606:4700:4700::1111, 2606:4700:4700::1001, 2001:4860:4860::8888, 2001:4860: 4860::8844]
      принять-ра: нет
    эно3:
      адреса: ['ii.jj.kk.ll/24', 'a:b:c:z:e:f:g:3/64']
      шлюз4: ii.jj.kk.1
      шлюз6: a:b:c:z:e:f:g:0001
      серверы имен:
          адреса: [1.1.1.1, 1.0.0.1, 8.8.8.8, 8.8.4.4, 2606:4700:4700::1111, 2606:4700:4700::1001, 2001:4860:4860::8888, 2001:4860: 4860::8844]
      принять-ра: нет
    эно4:
      адреса: ['mm.nn.oo.pp/24', 'a:b:c:v:e:f:g:4/64']
      шлюз4: мм.нн.оо.1
      шлюз6: а:б:в:в:д:ф:г:0001
      серверы имен:
          адреса: [1.1.1.1, 1.0.0.1, 8.8.8.8, 8.8.4.4, 2606:4700:4700::1111, 2606:4700:4700::1001, 2001:4860:4860::8888, 2001:4860: 4860::8844]
      принять-ра: нет
# ens1f0:
# dhcp4: правда
# ens1f1:
# dhcp4: правда
# ens1f2:
# dhcp4: правда
# ens1f3:
# dhcp4: правда
  версия: 2

Что мне здесь не хватает и как правильно маршрутизировать?

Рейтинг:1
флаг in

Обычно может быть только один функциональный маршрут по умолчанию. Маршрут по умолчанию — это то, куда идут пакеты, когда нет очевидного лучшего маршрута. Если у вас есть несколько маршрутов по умолчанию, они могут обрабатываться в стиле циклического перебора, что объясняет, почему у вас есть потеря пакетов — некоторые пакеты идут в разные места.

Есть несколько возможных решений для этого:

  • Используйте демон маршрутизации для управления динамическими маршрутами вне сетевого плана.
  • Назначьте статические маршруты для определенных сетей с одним маршрутом по умолчанию для всего остального.
  • Настройте таблицы маршрутизации и приоритеты так, чтобы выбранный «маршрут по умолчанию» зависел от входящего IP-адреса на стороне хоста, чтобы ответы на пакеты, входящие на определенный IP-адрес, выходили через тот же интерфейс. Точно так же вам нужно будет расставить приоритеты, чтобы исходящие соединения с подстановочными знаками выбирали основной IP-адрес для исходного адреса.

Может быть необходимо сделать более одной из этих вещей, чтобы заставить его работать.

флаг ru
ХОРОШО. Спасибо! Последний сработал. ip rule add из таблицы 1 IP1, а затем ip route add default через таблицу 1 GATE1 То же самое для остальных. Добавил его в сценарий запуска, поэтому он применяется при перезагрузке.
user10489 avatar
флаг in
Должен быть способ сделать это внутри netplan, но я не уверен.
флаг ru
То же самое здесь, так же, как я сказал, и, похоже, сработало.
флаг ru
Так что это работало для внешнего мира, но не для док-контейнеров. Как написать статическую маршрутизацию для каждого отдельного контейнера?
user10489 avatar
флаг in
недостаточно контекста для ответа, возможно, стоит отдельного вопроса. В конечном счете, каждому пакету нужен согласованный пункт назначения, и каждый ответ должен отправляться с того же IP-адреса, на который пришел соответствующий входящий пакет.
флаг ru
Был брандмауэр. Я решил это. :)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.