LINUX.ORG.RU
ФорумAdmin

Не работает второй интерфейс в netplan

 , ,


0

1

Добрый день.

Нужно настроить на виртуальной машине с ubuntu два адреса на двух сетевых картах. Один адрес внешний, другой внутренний.

Конфиг netplan:

network:
    version: 2
    ethernets:
        ens160:
            addresses:
            - 10.10.255.171/25
            gateway4: 10.10.255.129
            dhcp4: no
            nameservers:
                addresses:
                - 10.199.2.2
                - 10.199.2.3
            routes:
                - to: 10.10.255.128/25
                  via: 10.10.255.129
                  table: 101
            routing-policy:
                - from: 10.10.255.128/25
                  table: 101
#
        ens192:
            addresses:
            - 212.79.91.71/28
            gateway4: 212.79.91.65
            dhcp4: no
            nameservers:
                addresses:
                - 8.8.8.8
            routes:
               - to: 212.79.91.64/28
                 via: 212.79.91.65
                 table: 102
            routing-policy:
               - from: 212.79.91.64/28
                 table: 102

«ip a» показывает оба адреса на разных интерфейсах, на первый взгляд все хорошо. Но когда активен интерфейс с внутренним адресом, то внешний не пингуется и наоборот.

Вот вывод route -n:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.10.255.129  0.0.0.0         UG    0      0        0 ens160
0.0.0.0         212.79.91.65    0.0.0.0         UG    0      0        0 ens192
10.10.255.128  0.0.0.0         255.255.255.128 U     0      0        0 ens160
212.79.91.64    0.0.0.0         255.255.255.240 U     0      0        0 ens192

В чем может быть проблема?



Последнее исправление: KOTOXJle6 (всего исправлений: 1)
Ответ на: комментарий от anc

Вообще нужно чтобы на двух серверах nginx был настроен общий внутренний и общий внешний адрес, которые при необходимости будут переезжать при недоступности одного из серверов. GW пробовал прописывать по-разному и на каждый интерфейс отдельно, как в конфиге. Пробовал оставлять шлюз только на внешнем или только на внутреннем адресе, результат всегда один - доступен только либо внешний, либо внутренний адрес и всё. Судя по описанию netplan, то, что у меня прописано, должно работать.

Уже не знаю. Может стоит удалить netplan и настраивать старыми средствами?

KOTOXJle6
() автор топика
Ответ на: комментарий от anc

Через GRUB_CMDLINE_LINUX=«netcfg/do_not_use_netplan=true» и apt install ifupdown. Но это последний вариант, если не получится настроить через netplan.

KOTOXJle6
() автор топика
Ответ на: комментарий от anc

Еще про это не думал, но есть ощущение что не через netplan будет проще. Хотя мне изначально не казалось что в задаче с добавлением двух адресов на сервер вообще могут быть проблемы.

KOTOXJle6
() автор топика
Ответ на: комментарий от anc

Схема вот такая https://ibb.co/vdCn5mD Серверы Nginx будут использоваться как отказоустойчивый прокси, которые перенаправляют запросы авторизации на локальные ADFS серверы. Общие адреса по keepalived должны плавать между серверами Nginx для обеспечения отказоустойчивости.

KOTOXJle6
() автор топика
Ответ на: комментарий от KOTOXJle6

Еще небольшое уточнение. Сейчас я пытаюсь настроить оба адреса на nginx-node-01. Нужно чтобы внешний адрес был доступен из интернета и внутренний был доступен из интранета.

KOTOXJle6
() автор топика
Ответ на: комментарий от KOTOXJle6

Попробовал настроить через ifupdown. Результат тот же. Одновременно доступен только один адрес по одному интерфейсу.

KOTOXJle6
() автор топика
Ответ на: комментарий от KOTOXJle6

netplan - это надстройка. Ты не пробовал посмотреть результат настройки?

«route -n» в этом случае смотреть бесполезно.

посморти что выдает ip ru

vel ★★★★★
()
Ответ на: комментарий от vel

Спасибо за ответ. Наконец получилось разобраться, работает и через ifupdown и через netplan. Чтобы все работало как я хочу, нужно было привести netplan к такому виду:

network:
    version: 2
    ethernets:
        ens160:
            addresses:
            - 10.10.255.171/25
            routes:
                - to: 10.10.255.128/25
                  via: 10.10.255.129
                  table: 101
                - to: 10.3.215.0/24
                  via: 10.10.255.129
                  table: 101
            routing-policy:
                - from: 10.3.215.0/24
                  table: 101
                - from: 10.10.255.171/25
                  table: 101


        ens192:
            addresses:
            - 212.79.91.71/28
            gateway4: 212.79.91.65

При такой конфигурации внутренний адрес отвечает при запросах в интранете, а внешний на все остальные запросы. В примере внутри сети отвечает только на запросы из подсети 10.3.215.0/24, но по аналогии можно дописать остальное.

Теперь нужно настроить аналогичную конфигурацию на втором сервере и подружить их через keepalived.

KOTOXJle6
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.