Почему у меня есть вторичные IP-адреса и адреса APIPA?

Вопрос или проблема

Я пытаюсь настроить свои сетевые интерфейсы на сервере Ubuntu 22.04, но сталкиваюсь с проблемой, касающейся назначенных ips.

Сервер — это Dell R330 с двумя встроенными сетевыми картами Broadcom BCM5720, и я добавил карту Intel I350-T4 от Dell (б/у, но оригинальная деталь Dell/Intel). Таким образом, у сервера всего 6 сетевых интерфейсов.

Цель этого сервера – быть хостом виртуализации.

Должен сказать, что я довольно новичок в современных системах Linux, но мне удалось правильно установить все, однако я столкнулся с проблемой, касающейся конфигурации ip.

Итак, я использовал netplan для настройки интерфейсов следующим образом (я попытался сохранить сеть простой):

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: no
      dhcp6: no
      addresses:
        - 192.168.10.55/24
      routes:
        - to: default
          via: 192.168.10.254
      nameservers:
        addresses: [194.2.0.20, 8.8.8.8]
    eno2:
      dhcp4: no
      dhcp6: no
      addresses:
        - 192.168.10.41/24
      routes:
        - to: default
          via: 192.168.10.254
      nameservers:
        addresses: [194.2.0.20, 8.8.8.8]
    enp2s0f0:
      dhcp4: no
      dhcp6: no
      addresses:
        - 192.168.10.56/24
      routes:
        - to: default
          via: 192.168.10.254
      nameservers:
        addresses: [194.2.0.20, 8.8.8.8]
    enp2s0f1:
      dhcp4: no
      dhcp6: no
      addresses:
        - 192.168.10.57/24
      routes:
        - to: default
          via: 192.168.10.254
      nameservers:
        addresses: [194.2.0.20, 8.8.8.8]
    enp2s0f2:
      dhcp4: no
      dhcp6: no
      addresses:
        - 192.168.10.58/24
      routes:
        - to: default
          via: 192.168.10.254
      nameservers:
        addresses: [194.2.0.20, 8.8.8.8]
    enp2s0f3:
      dhcp4: no
      dhcp6: no
      addresses:
        - 192.168.10.59/24
      routes:
        - to: default
          via: 192.168.10.254
      nameservers:
        addresses: [194.2.0.20, 8.8.8.8]

Но когда я делаю ip a, я получаю:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp2s0f0: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether b4:96:91:bd:94:44 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.56/24 brd 192.168.10.255 scope global enp2s0f0
       valid_lft forever preferred_lft forever
    inet 192.168.10.184/24 brd 192.168.10.255 scope global secondary enp2s0f0
       valid_lft forever preferred_lft forever
    inet6 fe80::b696:91ff:febd:9444/64 scope link
       valid_lft forever preferred_lft forever
3: eno1: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 10:98:36:a9:e1:c5 brd ff:ff:ff:ff:ff:ff
    altname enp4s0f0
    inet 192.168.10.55/24 brd 192.168.10.255 scope global eno1
       valid_lft forever preferred_lft forever
    inet 192.168.10.181/24 brd 192.168.10.255 scope global secondary eno1
       valid_lft forever preferred_lft forever
    inet6 fe80::1298:36ff:fea9:e1c5/64 scope link
       valid_lft forever preferred_lft forever
4: eno2: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 10:98:36:a9:e1:c6 brd ff:ff:ff:ff:ff:ff
    altname enp4s0f1
    inet 192.168.10.41/24 brd 192.168.10.255 scope global eno2
       valid_lft forever preferred_lft forever
    inet 192.168.10.182/24 brd 192.168.10.255 scope global secondary eno2
       valid_lft forever preferred_lft forever
    inet6 fe80::1298:36ff:fea9:e1c6/64 scope link
       valid_lft forever preferred_lft forever
5: enp2s0f1: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether b4:96:91:bd:94:45 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.57/24 brd 192.168.10.255 scope global enp2s0f1
       valid_lft forever preferred_lft forever
    inet 169.254.226.157/16 brd 169.254.255.255 scope global enp2s0f1
       valid_lft forever preferred_lft forever
    inet6 fe80::b696:91ff:febd:9445/64 scope link
       valid_lft forever preferred_lft forever
6: enp2s0f2: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether b4:96:91:bd:94:46 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.58/24 brd 192.168.10.255 scope global enp2s0f2
       valid_lft forever preferred_lft forever
    inet 169.254.181.188/16 brd 169.254.255.255 scope global enp2s0f2
       valid_lft forever preferred_lft forever
    inet6 fe80::b696:91ff:febd:9446/64 scope link
       valid_lft forever preferred_lft forever
7: enp2s0f3: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether b4:96:91:bd:94:47 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.59/24 brd 192.168.10.255 scope global enp2s0f3
       valid_lft forever preferred_lft forever
    inet 169.254.18.189/16 brd 169.254.255.255 scope global enp2s0f3
       valid_lft forever preferred_lft forever
    inet6 fe80::b696:91ff:febd:9447/64 scope link
       valid_lft forever preferred_lft forever
8: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:cf:6e:36 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever

Как видно, netplan применён, но для некоторых интерфейсов у меня есть вторичный ip, назначенный по DHCP (от Cisco ASA), а для других интерфейсов есть вторичный адрес APIPA (но не с ключевым словом secondary).

Я не понимаю, почему DHCP сервер назначает вторичные адреса, и более того, я не понимаю, почему последние 3 сетевых интерфейса платы I350-T4 получили адреса APIPA.

Конечно, я что-то сделал неправильно, но не могу понять, что именно.

Не могли бы вы мне посоветовать и помочь?

(Извините за мой средний английский)

Правка: Думаю, стоит упомянуть, что до того, как я использовал netplan, вторичные ips назначались как первичные тем же образом (DHCP для первых 3 NIC и APIPA для последних 3 NIC), и это уже было странно. Поэтому я попытался использовать netplan для настройки всех интерфейсов.

Ответ или решение

Почему у меня есть вторичные IP-адреса и адреса APIPA?

Ваше беспокойство о наличии вторичных IP-адресов и адресов APIPA на вашем сервере связано с конфигурацией сетевых интерфейсов и взаимодействием с DHCP-сервером. Давайте разберёмся в этом вопросе детально, чтобы выяснить возможные причины и пути решения проблемы.

1. Вторичные IP-адреса, назначаемые DHCP

Как видно из результатов вашей команды ip a, некоторые интерфейсы, такие как eno1 и eno2, получили вторичные IP-адреса (например, 192.168.10.181 и 192.168.10.182 соответственно), и это произошло через DHCP-сервер, который находится в вашей сети. Это может произойти, если:

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

  • Ошибка в конфигурации DHCP: Возможно, ваш DHCP-сервер настроен так, что он неправильно обрабатывает запросы, поступающие от вашего сервера. Он может назначать адреса, которые не должны использоваться вашей системой. Проверьте диапазоны IP-адресов, установленные на вашем DHCP-сервере.

2. Адреса APIPA

APIPA (Automatic Private IP Addressing) — это метод автоматической настройки IP-адреса, который используется, когда клиент не может получить адрес от DHCP-сервера. В вашем случае это происходит на интерфейсах enp2s0f1, enp2s0f2 и enp2s0f3, и к этому могут привести следующие причины:

  • Отсутствие связи с DHCP-сервером: Если эти интерфейсы не могут получить IP-адрес от DHCP (по причине неправильного подключения, отключенного DHCP, неправильных настроек сети и т.д.), они автоматически назначают себе адреса из диапазона APIPA, который находится в диапазоне 169.254.0.1 до 169.254.255.254.

  • Конфликт настройки: Возможно, в системе имеется конфликт конфигурации, из-за которого эти интерфейсы не могут корректно работать с DHCP или запрашивать адреса. Обратите внимание на состояние соединений и подключенных кабелей.

3. Рекомендации по устранению проблемы

Чтобы решить вашу проблему с IP-адресами, выполните следующие действия:

  1. Проверьте настройки DHCP-сервера: Убедитесь, что DHCP-сервер настроен правильно и что диапазоны IP-адресов не пересекаются с вашими статическими IP-адресами.

  2. Проверьте подключения сети: Убедитесь, что все сетевые кабели надежно подключены, и даже проверьте состояние сетевых интерфейсов физически, если это возможно.

  3. Настройка задержек (Idle timeouts): Некоторые сетевые настройки могут ограничивать время, в течение которого интерфейс будет оставаться в свободном состоянии. Убедитесь, что ваше оборудование настроено правильно и может поддерживать все интерфейсы одновременно.

  4. Пересмотрите настройки Netplan: Если вы хотите избегать назначения DHCP, вы можете просто временно отключить DHCP на всех интерфейсах и указать статические адреса для всего необходимого оборудования.

  5. Мониторинг и диагностика: Используйте такие инструменты, как tcpdump или wireshark, для мониторинга сетевых пакетов; это может помочь выявить, какие запросы отправляются, и какие ответы возвращает DHCP-сервер.

Заключение

Проблемы с IP-адресацией могут носить множество причин и требуют комплексного подхода к диагностике. Анализ конфигураций DHCP и проверка подключений должны помочь вам выявить и устранить проблему. Не забывайте обновлять конфигурацию в зависимости от изменения сетевых обстоятельств, что блокирует дублирование адресов и конфликты.

Оцените материал
Добавить комментарий

Капча загружается...