FAQ

Межсетевой экран и коммутатор - кто главнее при использовании DHCP

Межсетевой экран (МСЭ) обычно подключается на границе сети, чтобы разделять внешних и внутренних пользователей, а также позволять издалека через VPN подключается к ресурсам компании. Подключается он через коммутационное оборудование, которое разбито по VLAN-ам, имеет свои настройки безопасности, как-то связано с существующей инфраструктурой и даже может иметь работающие настройки с текущим МСЭ (который планируется заменить).
Обычная история, которая происходит на внедрении: существующее оборудование работает, МСЭ и коммутатор, маршрутизаторы - все функционирует как часы, и как только мы переезжаем (мигрируем настройки) на новый межсетевой экран, происходят странные вещи - например, перестают работать удаленные подключения, ресурсы недоступны для внешних пользователей, подключающихся через VPN.
Первый вывод (очевидный) - раз до этого работало, а с новым оборудованием не работает, то проблема в новом МСЭ, который некорректно настроен / сбоит / имеет ошибки реализации сетевых функций. Но зачастую это ошибочное заблуждение, уводящее в никуда, из-за которого на внедрении можно потерять несколько ценных дней или даже недель.
Причина в том, что сеть - это сложный организм, использующий как разные протоколы, так и много сопряженного оборудования, имеющего свои настройки безопасности (есть же best practice, в конце-концов). Иногда одно оборудование безопасности входит в конфликт с настройками другого оборудования и оба из них работают корректно, но заданная функция не реализуется и проблема скорее в старом оборудовании (коммутаторе / маршрутизаторе), до которого у интегратора даже нет доступа и возможности проверки. Поэтому "ошибки" находятся случайно, путем проб и тестов.
Конкретный пример, который спровоцировал написать статью: внешний МСЭ, на который подключаются удаленные пользователи - за ним сеть из коммутаторов с транками и VLAN-ами, к которым подключены внутренние серверы (в частности DHCP) и другие сегменты.
Симптомы : удаленный пользователь авторизуется на МСЭ через VPN, но не может получить адрес от DHCP сервера. При этом запрос (request) до DHCP службы как будто доходит, не приходит ответ (reply).
Копаем дальше и в итоге выясняется, что из-за настроек безопасности на коммутаторах, для новых портов, через которые МСЭ и DHCP сервер общаются не включен режим DHCP snooping и порт в сторону DHCP не активирован как trust (доверенный), имеющий право получать DHCP lease-ы (ответы).
Такой же настройки DHCP snooping + trust потребуется для портов, которые смотрят на DHCP relay, пересылающий запросы через цепочку коммутаторов - все они должны иметь возможность слушать (и разрешать) прохождение DHCP ответов.
Основные выводы:
  1. использовать подход "дихотомии" - ищем причину проблемы, постепенно сужая поиск до конкретных функций, которые не работают (не просто "отваливается VPN", а "клиент не получает адрес" или не просто "не получает адрес", а "запрос доходит до сервера, но не приходит ответ от него на клиента")
  2. изменять один параметр за раз (тестируем одну гипотезу, чтобы убедиться, что это именно она влияет на результат)
  3. смотреть шире, чем одно сетевое устройство - проблемы могут быть рядом, в окружающей сети (сервер / маршрутизатор / коммутатор), а не только только что добавленный межсетевой экран
  4. знать особенности настройки сетевого оборудования и лучшие практики (в данном случае возможность использования DHCP snooping)