Вопрос или проблема
Я пытаюсь настроить свои сетевые интерфейсы на сервере 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-адресами, выполните следующие действия:
-
Проверьте настройки DHCP-сервера: Убедитесь, что DHCP-сервер настроен правильно и что диапазоны IP-адресов не пересекаются с вашими статическими IP-адресами.
-
Проверьте подключения сети: Убедитесь, что все сетевые кабели надежно подключены, и даже проверьте состояние сетевых интерфейсов физически, если это возможно.
-
Настройка задержек (Idle timeouts): Некоторые сетевые настройки могут ограничивать время, в течение которого интерфейс будет оставаться в свободном состоянии. Убедитесь, что ваше оборудование настроено правильно и может поддерживать все интерфейсы одновременно.
-
Пересмотрите настройки Netplan: Если вы хотите избегать назначения DHCP, вы можете просто временно отключить DHCP на всех интерфейсах и указать статические адреса для всего необходимого оборудования.
-
Мониторинг и диагностика: Используйте такие инструменты, как
tcpdump
илиwireshark
, для мониторинга сетевых пакетов; это может помочь выявить, какие запросы отправляются, и какие ответы возвращает DHCP-сервер.
Заключение
Проблемы с IP-адресацией могут носить множество причин и требуют комплексного подхода к диагностике. Анализ конфигураций DHCP и проверка подключений должны помочь вам выявить и устранить проблему. Не забывайте обновлять конфигурацию в зависимости от изменения сетевых обстоятельств, что блокирует дублирование адресов и конфликты.