Проблема со статическими маршрутами с сетевым планом на Ubuntu 18.04 Azure VM

У меня есть Azure Ubnuntu VM с некоторыми контейнерами докеров.

Проблема: ВМ не знает маршрут к одному из моих докерских интерфейсов networks\, который пересекается с подсетью моей локальной сети. Моя локальная сеть 172.28.0.0\16 и его маршрут должен быть 10.3.0.1

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.3.0.1        0.0.0.0         UG        0 0          0 eth0
10.3.0.0        0.0.0.0         255.255.255.0   U         0 0          0 eth0
168.63.129.16   10.3.0.1        255.255.255.255 UGH       0 0          0 eth0
169.254.169.254 10.3.0.1        255.255.255.255 UGH       0 0          0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U         0 0          0 docker0
172.28.0.0      0.0.0.0         255.255.0.0     U         0 0          0 br-828c78b615e2
172.29.0.0      0.0.0.0         255.255.0.0     U         0 0          0 br-adff3a5cad70

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

Netplan config по умолчанию:

network:
    ethernets:
        eth0:
            dhcp4: true
            dhcp4-overrides:
                route-metric: 100
            dhcp6: false
            match:
                driver: hv_netvsc
                macaddress: 00:22:48:9a:d1:4e
            set-name: eth0
    version: 2

У кого-нибудь есть идея, правильно ли я иду?

0
задан 22 September 2020 в 12:15

2 ответа

Спасибо за предложение Jad

Кажется, я действительно был на неправильном пути.

Мне удалось смягчить конфликт с сетью по умолчанию, созданной моей конфигурацией докера.

Исходный файл: docker-compose.yml - это не может быть изменено - вам необходимо создать новый файл:

docker-compose.override.yml

Изменения из файла переопределения объединяются с исходным

Я использовал приведенный ниже файл в файле переопределения, чтобы отойти от 172 -> 173, который открыл мою локальную локальную сеть 172 на GW по умолчанию:

networks:
  default:
    driver: bridge
    ipam:
      driver: default
      config:
      - subnet: 173.28.0.0/16

Затем мне также пришлось удалить старую сеть докеров с помощью:

sudo docker network rm "id-of-nw"

Идентификатор можно получить с помощью комбинации:

sudo docker network ls

и

route

Что ж, это мой первый опыт работы с докером, и я рад, что я выбрался из этой кроличьей норы. Надеюсь, это поможет кому-то сэкономить время

0
ответ дан 4 January 2021 в 08:22

Совершенно верно, похоже, вы пытаетесь работать с правильным файлом. документация согласно https://www.networkinghowtos.com/howto/adding-persistent-static-routes-on-ubuntu-18-04-and-higher-using-netplan/

Я бы предложил ваша конфигурация netplan выглядит примерно так:

network:
    ethernets:
        eth0:
            dhcp4: true
            dhcp4-overrides:
                route-metric: 100
            dhcp6: false
            match:
                driver: hv_netvsc
                macaddress: 00:22:48:9a:d1:4e
            set-name: eth0
            routes:
                - to: 172.28.0.0/16
                  via: 10.3.0.1
    version: 2
0
ответ дан 4 January 2021 в 08:22

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

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