Изменение IP на маршрутизаторе для сервера Ubuntu 24.04 удаляет шлюз с сервера.

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

У меня есть сервер Ubuntu 24.04, который я использую для запуска Plex и других приложений в контейнерах docker. Недавно я начал чистить назначенные DHCP IP-адреса на моем роутере и пытаюсь переместить сервер с .13 на .20 в VLAN.

Когда он на .13, все работает отлично.

Когда я перемещаю его на .20 и перезагружаю, я теряю подключение к интернету на сервере. Моя машина получает новый IP .20 и DNS информацию, и я могу пинговать IP-адреса и домены, но когда я пытаюсь зайти на Plex, или QBitTorrent, или любую из этих служб даже по IP-адресу или попытаться подключиться по SSH, это не работает.

Когда я запускаю ip route show с .13, я получаю:

default via 192.168.1.1 dev enp3s0 proto dhcp src 192.168.1.23 metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
172.18.0.0/16 dev br-45cfb2e87c6d proto kernel scope link src 172.18.0.1
172.19.0.0/16 dev br-c90651989411 proto kernel scope link src 172.19.0.1
172.22.0.0/16 dev br-e89861e32588 proto kernel scope link src 172.22.0.1
192.168.1.0/24 dev enp3s0 proto kernel scope link src 192.168.1.23 metric 100

С .20 я получаю:

172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
172.18.0.0/16 dev br-45cfb2e87c6d proto kernel scope link src 172.18.0.1
172.19.0.0/16 dev br-c90651989411 proto kernel scope link src 172.19.0.1
172.22.0.0/16 dev br-e89861e32588 proto kernel scope link src 172.22.0.1

Что может вызвать это, просто изменив IP на роутере? Ни у одной другой машины нет адреса .20. Была машина, но она была перемещена, и все было сброшено/перезагружено, и когда я пингую .20, никакой хост не доступен. Я не использую Netplan и не хочу устанавливать статический IP на сервере. Я бы предпочел, чтобы он продолжал думать, что это DHCP, и чтобы роутер назначал IP-адрес.

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

РЕДАКТИРОВАТЬ: Это DHCP назначенный IP. После ожидания в течение дня я попробовал снова, и теперь “ip route show” при использовании .20 показывает (Последняя строка отсутствует)

default via 192.168.1.1 dev enp3s0 proto dhcp src 192.168.1.23 metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
172.18.0.0/16 dev br-45cfb2e87c6d proto kernel scope link src 172.18.0.1
172.19.0.0/16 dev br-c90651989411 proto kernel scope link src 172.19.0.1
172.22.0.0/16 dev br-e89861e32588 proto kernel scope link src 172.22.0.1

Я не использую netplan, поэтому моя папка netplan пуста. Это ощущается как конфликт, но ничего не было на IP .20 уже несколько дней, кроме этой машины, когда я её переключаю. Я не уверен, как последняя строка устанавливается в маршруте при получении IP, назначенного DHCP.

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

Конфигурация IP-сетей и маршрутизация являются ключевыми аспектами администрирования сетевых систем, особенно в среде на базе Ubuntu Server, такой как в вашей ситуации. Проблема, которую вы описали, заключается в потере маршрута по умолчанию вашего сервера при смене IP-адреса с .13 на .20 через DHCP роутера. Это может возникнуть по ряду причин, таких как особенности настройки DHCP-сервера или проблемы с сетевой конфигурацией на уровне ОС.

Теория

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

Пример

Пример вашего вывода команды ip route show, где сервер имеет IP-адрес .13, показывает, что шлюз по умолчанию корректно настроен через интерфейс enp3s0. Однако, при установке IP-адреса .20, данный маршрут по умолчанию исчезает, что и причиняет потерю интерактивности с Интернетом, несмотря на то, что сервер способен пинговать внешние IP-адреса.

Применение

  1. Проверка правильности работы DHCP-сервера:

    • Убедитесь, что ваш роутер действительно выделяет правильные DHCP-аренды для всех устройств в сети. Настройки роутера должны соответствовать ожиданиям и не содержать конфликтующих IP-адресов или устаревших записей ARP.
  2. Исследование журнала и системных логов Ubuntu:

    • Проверьте журналы системы (/var/log/syslog), чтобы увидеть, есть ли ошибки, которые связаны с DHCP-переговорами. Это может дать представление о том, почему сервер теряет маршрут по умолчанию.
  3. Временная настройка статического маршрута в системе:

    • Вы можете временно установить маршрут по умолчанию вручную, чтобы проверить, решает ли это проблему:
      sudo ip route add default via 192.168.1.1 dev enp3s0
    • Если это работает, возможно, дело в сбоях при получении маршрута через DHCP.
  4. Диагностика с использованием tcpdump:

    • Используйте tcpdump для захвата DHCP-пакетов и убедитесь, что ваше устройство получает всю необходимую информацию от DHCP-сервера:
      sudo tcpdump -i enp3s0 -n -s 0 port 67 or port 68
  5. Перезагрузка сетевых сервисов:

    • Иногда служба сетевой конфигурации может не срабатывать должным образом. Попробуйте перезапустить сетевые службы:
      sudo systemctl restart networking
  6. Обновление сетевых адаптеров:

    • Возможно, понадобится обновить или перезапустить сетевые адаптеры на вашем сервере, чтобы сбросить кеши или настроить их повторно.
  7. Проверка на наличие сетевых конфликтов:

    • Хотя вы упомянули, что протестировали конфликт с .20, убедитесь, что нет других устройств, использующих этот IP случайным образом при диагностике.
  8. Диагностика вопросов по VDPA (Virtual DHCP Proxy Agent):

    • Если в вашем сетевом окружении используется VDPA или другой механизм прокси DHCP, убедитесь, что он корректно перенаправляет DHCP-сообщения.

Итак, устранение проблемы требует комплексного подхода, включающего проверку на уровне DHCP-сервера и диагностики сетевого стека на уровне Ubuntu Server. Таким образом, вы сможете определить причину отсутствия маршрута по умолчанию и обеспечить стабильную работу вашего сервера под новым IP-адресом.

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

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