Проблема со статической маршрутизацией Ubuntu 18

Я перевожу старую установку Ubuntu на версию 18, но, похоже, возникают проблемы со статической маршрутизацией при использовании разных сетей.

Сначала я попробовал использовать NetPlan. Я настроил ДВА NICS с разными сетями в каждой, но я не знаю, является ли это проблемой ядра (может быть, отсутствует какой-либо модуль) или это проблема Ubuntu 18 (сомневаюсь, что).

Симптоном является то, что работает только маршрут по умолчанию. Я могу добавить несколько сетевых карт с разными сетями и статическими маршрутами и шлюзами, но будет работать только маршрут по умолчанию.

Вот мой конфигурационный файл NetPlan:

network:
    version: 2
    renderer: networkd
    ethernets:
        ens32:
            addresses:
                - 177.185.x.66/29
                - 177.185.x.67/29
                - 177.185.x.68/29
                - 177.185.x.69/29
                - 177.185.x.70/29
            gateway4: 177.185.x.65
            nameservers:
                addresses:
                - 8.8.8.8
                search:
                - mydomain.net
            routes:
                    - to: 0.0.0.0/0
                      via: 177.185.x.65
            optional: true
        ens34:
            addresses:
                - 168.96.x.2/24
            routes:
                    - to: 168.96.x.0/24
                      via: 168.96.x.1

NetPlan работает почти нормально: никаких проблем при применении новой конфигурации. Таблица маршрутизации выглядит нормально:

default via 177.185.x.65 dev ens32 proto static 
168.96.x.0/24 via 168.96.x.1 dev ens34 
168.96.x.0/24 dev ens34 proto kernel scope link src 168.96.x.10 
177.185.x.64/29 dev ens32 proto kernel scope link src 177.185.x.66

Но я могу пропинговать только сеть 177.185.x.64 / 29. Другой не отвечает.

Когда я изменяю маршрут по умолчанию на вторичную сеть (168.96.x.0 / 24), другой перестает отвечать.

Сначала я подумал, что это может быть связано с модулями ядра IP-маршрутизации, но я не смог найти те же опции из старых ядер на 4.15.

Любая помощь будет высоко ценится.

Спасибо заранее.

BR, Рафаэль

2
задан 12 June 2018 в 20:30

1 ответ

Во-первых, пакет ifupdown устарел и больше не будет работать. Так что вам лучше этого избежать.

Во-вторых, очевидно, вы не поняли, что я писал вам ранее в моей теме : использование таблицы маршрутизации.

Как уже упоминалось здесь , любая данная ОС имеет только один возможный шлюз. То же самое для маршрутизатора или любых других устройств. Если вам нужно несколько шлюзов, вам понадобится дублирующая система, потому что метаданные любых сетевых пакетов, передаваемых в сети, не могут включать несколько шлюзов. Вот почему нам нужны разные таблицы маршрутизации. И я нигде не вижу в вашем файле строки с созданием другой таблицы маршрутизации. Вот почему у вас нет никаких подтверждений получения пакетов на втором интерфейсе ... просто так. Пакеты прибывают, они просто не будут подтверждены, потому что они не могут быть.

Если вы посмотрите на мое решение, которое я связал ранее, вы ясно увидите таблицы, и система знает, что создать и как его создать. Просто как тот. И я, честно говоря, не понимаю, почему вы сопротивляетесь этому ...

  routes:
   - to: 0.0.0.0/0
     via: 192.168.3.1
     metric: 100
     table: 101

Это создание политики маршрутизации + конкретной таблицы, прикрепленной к ней.

  routing-policy:
   - from: 192.168.3.0/24
     table: 101

это создание правила, определяющего необходимость регистрации всех входящих пакетов и отправки пакетов в этой таблице.

Кроме того, я настоятельно советую вам сделать вектор / таблицу ваших статических адресов вместо списка. Так что еще как то так [.../..,.../..,.../..]. Опять же, как в моем примере.

0
ответ дан 12 June 2018 в 20:30

Другие вопросы по тегам:

Похожие вопросы: