Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
Странности с DNS в гостевой сети UniFi, UniFi Network
 
У меня возникла странная проблема... У меня настроены две беспроводные сети в UniFi Controller: одна для приватного доступа, другая — гостевая. Приватная сеть получает IP-адреса от внутреннего DHCP-сервера, включая адреса DNS моего внутреннего DNS-сервера. Всё работает как положено. Гостевая сеть получает адреса от моего ASA-файрвола и использует публичные DNS-серверы (8.8.8.8 и 8.8.4.4). Трафик идёт через отдельный внешний интерфейс ASA и совсем другого провайдера.

В приватной сети, если я делаю NSLookup по 8.8.8.8, резолв работает как надо, а в WireShark видно, что ответ по DNS приходит с MAC-адреса приватного шлюза ASA, как и ожидалось. Но в гостевой сети при том же запросе ответ приходит с MAC-адреса WAP, а не с MAC адреса DMZ-шлюза на файрволе, как я ожидал.

Я обратил внимание на это из-за настроенного у меня split-DNS для домена. Внутренние клиенты при запросе www.domain.com получают один IP, а внешние — другой. Но после недавнего обновления Controller/Firmware гостевые клиенты при запросе www.domain.com получают ВНУТРЕННИЙ IP, а не ВНЕШНИЙ. Это, понятно, вызывает проблемы, потому что гостевая сеть DMZ не имеет доступа к внутреннему IP-пространству. Если бы гостям выдавали правильный внешний IP, их трафик шёл бы через гостевой шлюз (через другого провайдера) и доходил бы до нужного ресурса через основной интерфейс привата.

В итоге складывается ощущение, что Controller или AP каким-то образом вмешиваются в DNS, делают проксирование или модификацию запросов и обращаются к моему ВНУТРЕННЕМУ DNS, вместо того чтобы перенаправлять запросы на публичные DNS-серверы. И я не могу понять, как вернуть прежнее поведение.

Спасибо за любую помощь!
 
Изначально я думал, что изменение DNS на другой связано с фильтрацией контента, поэтому отключил её перед всеми этими действиями — так что тут нет никакой науки в том, чтобы поменять две переменные и считать дело сделанным. Тем не менее: мне удалось решить проблему, используя постоянный скрипт автозагрузки от boostchicken из его репозитория UDM-Utlis для добавления правил iptables. Он находится в udm-utilities/on-boot-script на GitHub (https://github.com/boostchicken/udm-utilities/tree/master/on-boot-script).

Я использую его в папке boot.

#!/bin/bash

# нужно проверить интерфейс Ethernet  
#  - eth1 — ну почему бы и нет  
#  - eth8 — мой WAN1  
#  - eth9 — мой WAN2  
# captive DNS  
iptables -t nat -I PREROUTING -i eth1 -p tcp --dport 53 -j DNAT --to 192.168.1.79 # вставьте сюда желаемый DNS-адрес  
iptables -t nat -I PREROUTING -i eth1 -p udp --dport 53 -j DNAT --to 192.168.1.79  
iptables -t nat -I PREROUTING -i eth8 -p tcp --dport 53 -j DNAT --to 192.168.1.79  
iptables -t nat -I PREROUTING -i eth8 -p udp --dport 53 -j DNAT --to 192.168.1.79  
iptables -t nat -I PREROUTING -i eth9 -p tcp --dport 53 -j DNAT --to 192.168.1.79  
iptables -t nat -I PREROUTING -i eth9 -p udp --dport 53 -j DNAT --to 192.168.1.79  
exit 0

После того как установите утилиту согласно простым инструкциям в репозитории, положите <your_name_here.sh> в /mnt/data/on_boot.d. Потом сделайте полный перезапуск и проверьте. Делайте бэкапы.

Также нужно будет настроить соответствующие правила файрвола, чтобы разрешить 192.gue.sta.ddr/24 доступ к нужному VLAN на порт 53, и учесть другие стандартные меры безопасности.

Я не специалист по безопасности и не эксперт по сетям, а обычный пользователь, который умеет гуглить. Но я знаю, что у меня ничего не сломалось, и гостевая сеть начала использовать мой PiHole — именно того я и хотел.

Используйте на свой страх и риск — бывают разные штуки.

**редактирование** Забыл добавить, что у меня UDM-Pro.
 
config.system_cfg.1=ebtables.101.cmd=-t nat -I GUESTIN 1 -p IPv4 --ip-proto udp --ip-dport 53 -j ACCEPT  
config.system_cfg.2=ebtables.102.cmd=-t nat -I GUESTIN 2 -p IPv4 --ip-proto tcp --ip-dport 53 -j ACCEPT  
ОГРОМНОЕ спасибо. Я уже голову ломал, пытаясь понять, почему у нас проблемы с гостевой сетью. Самое странное для меня — что при установке и настройке несколько месяцев назад проблем не было, а недавно гости начали жаловаться, что не могут попасть на портал. Добавление этого файла решило всё сразу. Мои точки доступа работают на версии 4.0.80.10875, так что я сам не знаю, в чем дело. Но теперь я доволен!  
И отдельное спасибо @leonardogyn, который, как я понимаю, первым разгадал эту проблему.
 
Спасибо за пост. Мы обновили прошивки, и это сломало гостевой портал Unifi. Откат до версии 4.0.15 решил проблему сразу.
 
Интересно, что я применил фикс с статическим IP-адресом на точке доступа для другого клиента несколько дней назад — и он не сработал. Пришлось откатить прошивку точки доступа до версии 4.0.15, и гостевой портал начал работать. Единственное отличие между двумя сайтами — это версия UniFi портала. На сайте, где фикс со статическим IP не сработал, стоит версия 5.9.29, а где сработал — 5.10.24. Прошивки точек доступа на обоих сайтах были одинаковыми (4.0.42.10433). Как уже сказал, откат прошивки точки доступа до 4.0.15 на сайте с UniFi контроллером 5.9.29 решил проблему с гостевым порталом.
 
Могу подтвердить, что решение, предложенное @riahc3 — настроить статический IP-адрес и DNS для AP на контроллере (вместо использования резервирования DHCP, как мы обычно делаем) — действительно устраняет эту проблему. Я буду использовать это на своих контроллерах, где нужен гостевой доступ, в качестве временного обходного пути, пока Ubiquiti не выпустит новую версию прошивки для AP, чтобы решить эту проблему.
 
Хотя это может быть временным решением для небольших установок, у меня около 60 сайтов, распределённых между 10 контроллерами. Это настоящая головная боль, и поскольку это обходной путь, мне совсем не нравится идея, что потом придётся всё откатывать, когда проблему всё-таки исправят.

В этой ветке: https://community.ui.com/questions/LOTS-of-guest-portal-failures-lately-DNS-problems/f2efc6a3-57a7-4f3b-abc2-d91a73a2c84c @systemstateit подтверждает, что откат с версии 4.0.42 на 4.0.15 решает проблему, так что мы ожидаем, что новая версия прошивки AP тоже её исправит.

В этой ветке: https://community.ui.com/questions/Controller-5-10-24-is-NOT-setting-DNS-settings-correctly-for-guests-using-a-guest-portal/fdaa28f1-d1b6-410f-9d8e-e75995514188 @leonardogyn рассказывает, что Ubiquiti работают над новой прошивкой, которая обойдёт проблему, но пока ничего нового не выпустили.  @riahc3 также сказал, что он решил проблему, зафиксировав статический IP для DNS.

Я сначала попробую этот вариант, а потом откочу прошивку на AP, пока не выйдет новая версия.
Страницы: 1
Читают тему (гостей: 1)