MAAS: 18.04LTS получает маршруты, отличные от 16.04LTS - как изменить метрику маршрута

Я предоставляю машины с MAAS, и все машины настроены на две разные подсети:

  1. общедоступная сеть 9.9.9.0/24. общедоступная маршрутизируемая подсеть. (9.9.9.0 отредактировано). DHCP.
  2. частная сеть 192.168.79.0/24. Сеть управления Maas (автоматическое назначение).

Сохраняя одинаковую конфигурацию интерфейса в MAAS для всех узлов, при развертывании на 18.04LTS таблица маршрутизации отличается от того, когда я развертываю 16.04LTS, из коробки. При настройке, узлы 18.04 по существу предотвращают соединения из сетей за пределами (1) и (2). например Я не могу ни ssh, ни пропинговать хост 18.04 из публичного интернета. Все хорошо на 16.04 хостов.

И с 16.04, и с 18.04 я могу успешно подключить к общедоступный Интернет (например, wget google.com) и получить ответы.

Таблица маршрутизации 18.04 в итоге несколько отличается от таблицы 16.04:

# 18.04 machine has IPs 9.9.9.9 (eno1), and 192.168.79.9 (eno2)
ubuntu@18-04:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.79.254  0.0.0.0         UG    0      0        0 eno2
0.0.0.0         9.9.9.254       0.0.0.0         UG    100    0        0 eno1
192.168.79.0    0.0.0.0         255.255.255.0   U     0      0        0 eno2
9.9.9.0         0.0.0.0         255.255.255.0   U     0      0        0 eno1
9.9.9.254       0.0.0.0         255.255.255.255 UH    100    0        0 eno1

16.04:

ubuntu@16-04:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         9.9.9.254       0.0.0.0         UG    0      0        0 eno1
192.168.79.0    0.0.0.0         255.255.255.0   U     0      0        0 eno2
9.9.9.0         0.0.0.0         255.255.255.0   U     0      0        0 eno1

Таблица 18.04 не работает должным образом. Я не уверен, почему добавлен дополнительный маршрут к хосту (UH), а предпочтительный маршрут - через eno2 (частная сеть). Я могу видеть входящие интернет-пакеты, поступающие через eno1 (с tcpdump -i eno1), но я предполагаю, что ответы возвращаются на eno2 и теряются.

Есть ли способ настроить MAAS так, чтобы таблицы маршрутизации 18.04 выглядели так же, как таблицы на 16.04?

ОБНОВЛЕНИЕ:

18.04 использует netplan для настройки сетей, и это есть специальные правила для dhcp. Конфигурация сети находится в /etc/netplan/50-cloud-init.yaml, и netplan отдает приоритет статическому маршруту над тем, который получен через dhcp.

Мне пришлось отменить это назначение приоритетов, но единственный способ, которым мне удалось это исправить, - это исправление файлов сетевого плана после развертывания.

eno1:
    dhcp4: true
    match:
        macaddress: c8:1f:66:c9:fd:3c
    mtu: 1500
    set-name: eno1
eno2:
    addresses:
    - 192.168.79.110/24
    gateway4: 192.168.79.254
    match:
        macaddress: c8:1f:66:c9:fd:3d
    mtu: 1500
    nameservers:
        addresses:
        - 192.168.79.10
        - 192.168.79.11
        search:
        - maas
    set-name: eno2

Моей первоначальной идеей было создать файл переопределения с лексикографически большим именем в / etc / netplan /, чтобы удалить запись «gateway4», но я не думаю, что есть какой-либо способ удалить ключ. Вы можете просто переопределить их. Поэтому я отредактировал тот же файл, чтобы добавить маршрут и дать ему более высокую метрику, чем по умолчанию 100 для сетей DHCP.

Вот мой пропатченный маршрут для eno2. eno1 (dhcp) остается без изменений.

eno1:
    dhcp4: true
    match:
        macaddress: ca:fe:ba:be:ca:3c
    mtu: 1500
    set-name: eno1
eno2:
    addresses:
    - 192.168.79.110/24
    # no need for this. use routes below.
    # gateway4: 192.168.79.254
    routes:
      - to: 0.0.0.0/0
        via: 192.168.79.254
        # dhcp gateways get 100 by default. make this > 100
        metric: 200
    match:
        macaddress: ca:fe:ba:be:ca:3d
    mtu: 1500
    nameservers:
        addresses:
        - 192.168.79.10
        - 192.168.79.11
        search:
        - maas
    set-name: eno2

Я также подумал о том, чтобы сделать маршрут dhcp gw метрикой 0 (с переопределением dhcp4), но тогда оба маршрута шлюза имели бы приоритет 0 - и тогда я не совсем согласен с правилами linux.

netplan apply с обновленным конфигом приводит меня туда, куда я хочу.

Есть ли способ сделать это редактирование как часть автоматизированного развертывания в MAAS?

0
задан 12 July 2019 в 20:14

0 ответов

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

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