замена ip при редиректе через captive portal
-
pfsense 2.0.1, LAN IP сервера 192.168.1.1, на нём поднят captive portal.
юзер набирая в поисковой строке ya.ru редиректится на страницу аутентификации, но вместо ожидаемого
http://192.168.1.1:8000/index.php?redirurl=http%3A%2F%2Fya.ru%2F
видит
http://213.180.204.3:8000/index.php?redirurl=http%3A%2F%2Fya.ru%2F
213.180.204.3 - ya.ruлюди, кто-нибудь сталкивался с этим?
-
Отключите captive portal на всех интерфейсах кроме lan. Или попробуйте поменять на другой, а потом вернуть снова на lan
-
проблема решена, просто на глаза попался пост, может кому пригодится…
Данная необычная ситуация возникает, при таких условиях:
1 - есть некий LAN интерфейс, описанный как 192.168.1.1/24
2 - этот интерфес подключён к умному маршрутизатору 192.168.1.2/24
3 - умный маршрутизатор раздаёт разным клиентам разные адреса из других подсетей, например 192.168.2.0/24, 192.168.3.0/24
4 - дорога к клиентам обозначена как static route в удалённые подсети, через гейт 192.168.1.2в такой ситуации pfsense пытается выбрать ip сервера по ip клиента, через функцию arp_get_mac_by_ip($ip)
и это успешно получается, но только при условии что клиент находится в одной подсети с интерфейсом сервера(static routes не проверяется).в итоге, получается что маршрутизация работает отлично, а captive_portal с изюминкой))
решено добавлением в arp_get_mac_by_ip($ip) проверки по статическим маршрутам.