Рейтинг:0

Невозможно добавить дополнительные IP-адреса в Ubuntu 20.04. используя сетевой план

флаг cn

Мои серверы имеют IP-адрес 10.20.10.100 на интерфейсе eno1.

Я могу успешно добавить временно ip-адрес 10.20.50.60 (или любой другой).

Когда я пытаюсь добавить постоянно, используя netplan, я больше не могу подключиться к серверу, используя его исходный IP-адрес.

Содержимое моего оригинального /etc/netplan/00-installer-config.yaml:

сеть:
  Ethernet:
    эно1:
      DHCP4: правда
    эно2:
      DHCP4: правда
    enx7e8ae1d2cba7:
      DHCP4: правда
  версия: 2

Моя измененная версия:

сеть:
  версия: 2
  визуализатор: сетевой
  Ethernet:
    эно1:
      DHCP4: ложь
      адреса:
        - 10.20.10.100/24
        - 10.20.50.60/24
        - 10.20.50.61/24
      шлюз4: 10.20.0.1
      серверы имен:
          адреса: [10.20.0.1,1.1.1.1,8.8.8.8]
    эно2:
      DHCP4: правда
    enx7e8ae1d2cba7:
      DHCP4: правда

IP-адрес показать dev eno1

2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    ссылка/эфир 7c:8a:e1:d2:cb:a2 brd ff:ff:ff:ff:ff:ff
    inet 10.20.10.100/16 brd 10.20.255.255 область действия глобальная динамическая eno1
       valid_lft 438 сек. selected_lft 438 сек.

маршрут -n

Таблица IP-маршрутизации ядра
Шлюз назначения Флаги Генмаски Метрика Ссылка Использование Iface
0.0.0.0 10.20.0.1 0.0.0.0 UG 100 0 0 eno1
10.20.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eno1
10.20.0.1 0.0.0.0 255.255.255.255 UH 100 0 0 eno1
169.254.95.0 0.0.0.0 255.255.255.0 U 0 0 0 enx7e8ae1d2cba7
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 докер0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 докер_gwbridge

Моя измененная версия (версия2):

сеть:
версия: 2
Ethernet:
    эно1: {}
    эно2:
        DHCP4: правда
    enx7e8ae1d2cba7:
        DHCP4: правда
вланы:
    влан.101:
        идентификатор: 101
        ссылка: en1
        адреса: [10.20.10.100/16]
        шлюз4: 10.20.0.1
        серверы имен:
            адреса: [10.20.0.1, 1.1.1.1]
    влан.102:
        идентификатор: 102
        ссылка: en1
        адреса: [10.20.50.60/16]
        шлюз4: 10.20.0.1
        серверы имен:
            адреса: [10.20.0.1, 1.1.1.1]
    влан.103:
        идентификатор: 103
        ссылка: en1
        адреса: [10.20.50.61/16]
        шлюз4: 10.20.0.1
        серверы имен:
            адреса: [10.20.0.1, 1.1.1.1]
A.B avatar
флаг cl
A.B
`valid_lft 438sec selected_lft 438sec` намекает на то, что вы все еще настроены с использованием DHCP.
флаг cn
@A.B пытался добавить dhcp4: false bur не помогло
A.B avatar
флаг cl
A.B
Я не знаю нетплан. Так что, возможно, вы отредактировали конфигурацию, но система не считает, что она изменилась, или, может быть, это связано с тем, что она отклоняет неправильную конфигурацию (например, шлюз неверен, потому что ни в одной из локальных сетей не определены адреса). Вы даже можете попробовать перезагрузиться и посмотреть, что произойдет (хотя вы можете получить 0 адрес).
флаг cn
@A.B Я попробую завтра внести еще пару изменений и опубликовать здесь
Рейтинг:1
флаг us

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

сеть:
    версия: 2
    Ethernet:
        эно1: {}
        эно2:
            DHCP4: правда
        enx7e8ae1d2cba7:
            DHCP4: правда

    вланы:
        влан.101:
            идентификатор: 101
            ссылка: en1
            адреса: [10.20.10.100/16]
            маршруты:
            - по умолчанию
              через: 10.20.0.1
        влан.102:
            идентификатор: 102
            ссылка: en1
            маршруты:
            адреса: [10.20.50.60/16]
            маршруты:
            - по умолчанию
              через: 10.20.0.1
        влан.103:
            идентификатор: 103
            ссылка: en1
            адреса: [10.20.50.61/16]
            маршруты:
            - по умолчанию
              через: 10.20.0.1
флаг cn
Применил вашу конфигурацию, и когда я проверяю статус через ifconfig, я вижу там IP-адреса, но не могу пинговать их с ПК или пинговать даже google. Любые идеи?
Falstone avatar
флаг us
Вы настроили маршруты? Как я уже сказал в своем ответе, каждому vlan потребуется маршрут к своему шлюзу. Каждый блок vlan должен иметь свою собственную запись gateway4. Ваше обозначение /24 совпадает с маской сети 255.255.255.0, поэтому вам, вероятно, нужны шлюзы в диапазонах 10.20.50.1-10.20.50.254 и 10.20.10.1-10.20.10.254. Ваш текущий шлюз 10.20.0.1 не входит ни в один диапазон и не замаскирован от сетевых интерфейсов. Что показывает команда: route -n?
флаг cn
Добавлен добавленный маршрут -n в мой основной вопрос (я не устанавливал никаких маршрутов)
флаг cn
после вашего изменения все то же самое, за исключением того, что больше нет пунктов назначения «0.0.0.0» и «10.20.0.1»
Falstone avatar
флаг us
Вам нужно, чтобы все хосты были в одной подсети. Лучше всего использовать разные IP-адреса в одной подсети. Но если вам НЕОБХОДИМО сохранить существующие IP-адреса, добавьте «шлюз 4: 10.20.0.1» в каждый влан и измените /24 на /18. Вам также может понадобиться изменить маску подсети шлюза на 255.255.192.0, чтобы он находился в той же подсети, что и хосты. Это не очень эффективно, так как у вас огромная подсеть из 16 382 потенциальных хостов.
Falstone avatar
флаг us
Только что заметил, что когда вы использовали DHCP и получили адрес из пула, это была сеть /16. Поэтому я изменил конфигурацию, чтобы отразить то, что исходит от маршрутизатора.
Falstone avatar
флаг us
Кроме того, вам нужно будет добавить значения сервера имен, чтобы заставить DNS работать. Но с текущим конфигом числовые адреса должны работать
флаг cn
попробовал, но все еще не работает (не могу пропинговать), пожалуйста, взгляните на мою обновленную версию «Моя измененная версия (версия 2):»
Falstone avatar
флаг us
Отступ выглядит неправильно. Все, что ниже сети: должно быть с отступом в один уровень. Когда вы запускаете «netplan --debug generate», он показывает какие-либо ошибки?
флаг cn
вроде все нормально https://drive.google.com/file/d/1VquJ0FOhv08NLdy5E70VI4yj9ajHpYtO/view
Falstone avatar
флаг us
ОК - попробуйте немного другой подход - я изменил пример, чтобы использовать определенные маршруты
флаг cn
получение ошибки: сообщение об ошибке перезаписи было следующим: /etc/netplan/00-installer-config.yaml:16:13: ошибка в определении сети: одноадресный маршрут должен включать IP-адрес «к» и «через»
флаг cn
есть идеи в чем может быть проблема?
Falstone avatar
флаг us
Привет, я прихожу к выводу, что это проблема маршрутизации - я просто собираю некоторую конфигурацию политики маршрутизации, которая, я думаю, может быть решением
флаг cn
Я вставлю весь конфиг вверху в своем вопросе от роутера Mikrotik
флаг cn
Теперь я вижу, что этого слишком много, есть ли какие-то конкретные вещи, которые могут вам помочь?
Falstone avatar
флаг us
Привет. Извините. Чрезвычайная ситуация в семье означает, что я задерживаюсь с ответом.
флаг cn
Нет проблем, я дам вам ответ, но когда у вас будет время, пожалуйста, помогите мне настроить это. спасибо
Falstone avatar
флаг us
Привет, извините, я все еще решаю проблемы дома - спасибо за награду - если у вас все еще возникают трудности, могу ли я хотя бы направить вас к «маршрутизации на основе политик», что, я думаю, является следующим шагом для решения вашей проблемы.
флаг cn
Я все еще решаю эту проблему tmp с помощью сценария bash при загрузке сервера.
Рейтинг:1
флаг cn

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

Во-вторых, выход IP-адрес показать dev eno1 показал адрес г. 10.20.10.100/16 вместо /24 в конфигурации вашего сетевого плана. Такое ощущение, что предыдущие детали интерфейса были закешированы или новые не применялись.

Чтобы помочь определить ваши адресные данные, когда используя DHCP, выполните следующие команды и запишите вывод:

# Все IP-адреса
IP а

# Маршруты и шлюз по умолчанию
ip р

Теперь измените конфигурацию netplan и отключите DHCP, установив для него значение false. Изменив конфигурацию сетевого плана, примените с флагом отладки, чтобы помочь определить любые проблемы:

sudo netplan --debug применить

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

Один из способов убедиться, что новая конфигурация была применена, — изменить /16 на что-то другое, например. /22. Если вывод IP а такой же, как и раньше, тогда он не применялся должным образом.

флаг cn
Все изменения, которые я пробовал с netplan, применяются, а также с перезагрузкой. Говоря об ip add и других подобных вещах tmp.

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

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