2 сетевых адаптера, ПК пытается использовать неправильный.

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

Сервер Ubuntu 24, 2 сетевых интерфейса: один – обычный LAN/WAN для Интернета, другой – плоская сеть 10.1.1.* для камер и неумных свитчей без маршрутизации или шлюза (сервер является системой видеонаблюдения на базе Zoneminder). Кажется, мой сервер запутался, как добраться до адресов в Интернете, и пытается маршрутизировать к адресам, отличным от 10.1.1.*, через интерфейс, у которого нет шлюза или маршрутизатора.

NIC1 – enp1s0 – 10.1.1.115, только адреса 10.1.1.* (10.1.1.100 – DHCP/NTP сервер для камер)

NIC2 – enp0s31f6 – 192.168.1.249, шлюз 192.168.1.1, остальной мир

Мои логи указывают на то, что машина пытается маршрутизировать к удаленному внешнему клиенту, например, 12.75.125.XXX через NIC1, и удаленный клиент истекает по времени ожидания. Строки в логах, которые меня беспокоят, выглядят следующим образом:

2024-09-28T13:17:35.321463-04:00 servername kernel: [UFW AUDIT] IN= OUT=enp1s0 SRC=192.168.1.249 DST=12.75.126.XXX LEN=1500 TOS=0x00 PREC=0x00 TTL=64 ID=18563 DF PROTO=TCP SPT=443 DPT=64883 WINDOW=505 RES=0x00 ACK URGP=0 
2024-09-28T13:17:34.731460-04:00 servername kernel: [UFW AUDIT] IN= OUT=enp1s0 SRC=192.168.1.249 DST=12.75.126.XXX LEN=64 TOS=0x00 PREC=0x00 TTL=64 ID=18562 DF PROTO=TCP SPT=443 DPT=64883 WINDOW=505 RES=0x00 ACK URGP=0

Команда ip route показывает:

default via 10.1.1.100 dev enp1s0 proto dhcp src 10.1.1.115 metric 100
default via 192.168.1.1 dev enp0s31f6 proto dhcp src 192.168.1.249 metric 100 
10.1.1.0/24 dev enp1s0 proto kernel scope link src 10.1.1.115 metric 100 
10.1.1.100 dev enp1s0 proto dhcp scope link src 10.1.1.115 metric 100 
192.168.1.0/24 dev enp0s31f6 proto kernel scope link src 192.168.1.249 metric 100 
192.168.1.1 dev enp0s31f6 proto dhcp scope link src 192.168.1.249 metric 100

Является ли таблица маршрутов проблемой? Я не знаю, как исправить эту раздражающую проблему.

Ваша маршрутизирующая таблица показывает, что для NIC1 определен шлюз по умолчанию 10.1.1.100. Это и есть причина проблемы. Для этой сети не должно быть определено ни одного шлюза по умолчанию.

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

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

Чтобы решить вашу проблему с маршрутизацией на сервере Ubuntu 24 с двумя сетевыми интерфейсами, важно понять, как работает маршрутизация и какие настройки могут вызвать конфликты.

Проблема

Как вы правильно отметили, вашей системой установлен неверный маршрут по умолчанию для интерфейса enp1s0, который подключен к сети 10.1.1.*. В вашем выводе ip route видно, что интерфейс enp1s0 использует 10.1.1.100 как шлюз по умолчанию:

default via 10.1.1.100 dev enp1s0 proto dhcp src 10.1.1.115 metric 100

Это вызывает проблемы с маршрутизацией, так как 10.1.1.* адреса не имеют выхода в интернет, и любое обращение к внешним IP-адресам (например, 12.75.126.XXX) будет происходить через этот интерфейс, что недопустимо.

Решение

  1. Измените настройки DHCP-сервера:
    Вам нужно пере-configure сервер DHCP (10.1.1.100), чтобы он не назначал шлюз по умолчанию для клиентов в сети 10.1.1.*. Убедитесь, что опция option routers в конфигурации DHCP отсутствует или задана в пустом виде.

  2. Удалите неправильный маршрут:
    После изменения настроек DHCP, удалите ненужный маршрут из таблицы маршрутизации. Это можно сделать с помощью следующей команды:

    sudo ip route del default via 10.1.1.100 dev enp1s0
  3. Проверьте маршрутизацию:
    После удаления маршрута проверьте таблицу маршрутизации снова, чтобы убедиться, что единственным маршрутом по умолчанию является 192.168.1.1 для интерфейса enp0s31f6:

    ip route

    Вы должны увидеть что-то похожее на следующее:

    default via 192.168.1.1 dev enp0s31f6
    10.1.1.0/24 dev enp1s0
    192.168.1.0/24 dev enp0s31f6
  4. Перезагрузите сетевые интерфейсы (при необходимости):
    Чтобы применить изменения, вы можете перезагрузить сетевые интерфейсы или сам сервер:

    sudo systemctl restart networking
  5. Тестируйте подключение:
    Проверьте, что теперь сервер правильно маршрутизирует трафик через enp0s31f6 к интернету. Попробуйте выполнить ping внешнего адреса, например:

    ping 8.8.8.8

Заключение

После выполнения указанных шагов ваша система должна корректно маршрутизировать трафик на интерфейс enp0s31f6 для доступа в интернет, а также оставить интерфейс enp1s0 только для локальной сети 10.1.1.*. Если у вас возникнут дополнительные вопросы или проблемы, не стесняйтесь обращаться за помощью.

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

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