Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

captive portal

2 views
Skip to first unread message

Anton Gorlov

unread,
Oct 17, 2018, 6:14:58 PM10/17/18
to
Привет All!

заброшу и сюда данный вопрос..вдруг кто наступал.


Понадобилось тут изобразить Captive portal. Взял связку из nginx+ iptables...
но что-то не выходит каменный цветок, нужна помощь зала:

Завёл на стенде тестовую сеть, на шлюзе сделал (192.168.11.3 выдаётся для wifi
клиентов как def gw по dhcp)

-A PREROUTING ! -d 192.168.11.3/32 -i ens4 -p tcp -m tcp --dport 80 -j DNAT
--to-destination 192.168.11.3



Далее в nginx заведено 2 виртуальных хоста:
===
server {
# # Listening on IP Address.
# # This is the website iptables redirects to
listen 80 default_server;
root /var/www/html/portal;
access_log /var/log/nginx/access1.log atop;
port_in_redirect off;
keepalive_timeout 0;

location / {
return 302 http://test.ppcom:82;
}
}

server {
listen 82;
server_name test.ppcom;
root /var/www/html/portal;
access_log /var/log/nginx/access2.log atop;

add_header Cache-Control no-cache;
# set the Expires header to 31 December 2037 23:59:59 GMT, and the
Cache-Control max-age to 10 years
expires 0;

location / {
try_files $uri $uri/ /index.html;
}
}

===
Локальный DNS резолвит test.ppcom так же в 192.168.11.3.

Но не выходит каменный цветок. Но если портал повесить на 80 порт сразу,куда
заворачивает трафик iptables то на андроидах всё таки рисуется страница от
портала.
Вопрос - что упускаю их вида,что не отрабатывает вариант с редиректом из nginx
на страницу портала?

Да..если 1 вхост повесить на 82 порт и сюда заворачивать iptables-ами,а портал
перевесить на 80 порт,то не работает с точно такой же диагностикой. До 2
Vhost-а с порталом запросов вообще нет и это видно в дампе трафика.

Причём в дампе я вижу, что nginx отдаёт

Hypertext Transfer Protocol
HTTP/1.1 302 Moved Temporarily\r\n
Server: nginx/1.14.0\r\n
Date: Sun, 14 Oct 2018 17:07:54 GMT\r\n
Content-Type: text/html\r\n
Content-Length: 161\r\n
Connection: close\r\n
Location: http://test.ppcom:82\r\n
\r\n


С уважением. Anton aka Stalker

Linux Registered User #386476
[#*TEAM:*#] [#_Злой СисОп_#] [*Heavy Metal!*] [*_Усачи_*]

Anton Gorlov

unread,
Dec 15, 2018, 10:14:59 AM12/15/18
to
Привет All!

18 окт 18 года (а было тогда 01:09)
Anton Gorlov в своем письме к All писал:

Кстати забыл отписаться - дело оказалось не в бобине...
Хоть точка и была переведена в режим бриджа,но там ещё свой файрволл, который
на WAN интерфейсе блокирует все RFC 1918 посдети из коробки.
Видимо сделано по соображениям безопастности, что бы wifi клиенты друг друга
не сканировали.
Разблокировал в онном парочку IP - тот хост куда редирект делаю, и ещё
несколько IP - всё ок.

Вдруг кто ещё наступит.


AG> заброшу и сюда данный вопрос..вдруг кто наступал.
AG> Понадобилось тут изобразить Captive portal. Взял связку из nginx+
AG> iptables... но что-то не выходит каменный цветок, нужна помощь зала:

AG> Завёл на стенде тестовую сеть, на шлюзе сделал (192.168.11.3 выдаётся
AG> для wifi клиентов как def gw по dhcp)

AG> -A PREROUTING ! -d 192.168.11.3/32 -i ens4 -p tcp -m tcp --dport 80 -j
AG> DNAT --to-destination 192.168.11.3



AG> Далее в nginx заведено 2 виртуальных хоста:
AG> ===
AG> server {
AG> # # Listening on IP Address.
AG> # # This is the website iptables redirects to
AG> listen 80 default_server;
AG> root /var/www/html/portal;
AG> access_log /var/log/nginx/access1.log atop;
AG> port_in_redirect off;
AG> keepalive_timeout 0;

AG> location / {
AG> return 302 http://test.ppcom:82;
AG> }
AG> }

AG> server {
AG> listen 82;
AG> server_name test.ppcom;
AG> root /var/www/html/portal;
AG> access_log /var/log/nginx/access2.log atop;

AG> add_header Cache-Control no-cache;
AG> # set the Expires header to 31 December 2037 23:59:59 GMT, and the
AG> Cache-Control max-age to 10 years expires 0;

AG> location / {
AG> try_files $uri $uri/ /index.html;
AG> }
AG> }

AG> ===
AG> Локальный DNS резолвит test.ppcom так же в 192.168.11.3.

AG> Но не выходит каменный цветок. Но если портал повесить на 80 порт
AG> сразу,куда заворачивает трафик iptables то на андроидах всё таки
AG> рисуется страница от портала. Вопрос - что упускаю их вида,что не
AG> отрабатывает вариант с редиректом из nginx на страницу портала?

AG> Да..если 1 вхост повесить на 82 порт и сюда заворачивать
AG> iptables-ами,а портал перевесить на 80 порт,то не работает с точно
AG> такой же диагностикой. До 2 Vhost-а с порталом запросов вообще нет и
AG> это видно в дампе трафика.

AG> Причём в дампе я вижу, что nginx отдаёт

AG> Hypertext Transfer Protocol
AG> HTTP/1.1 302 Moved Temporarily\r\n
AG> Server: nginx/1.14.0\r\n
AG> Date: Sun, 14 Oct 2018 17:07:54 GMT\r\n
AG> Content-Type: text/html\r\n
AG> Content-Length: 161\r\n
AG> Connection: close\r\n
AG> Location: http://test.ppcom:82\r\n
AG> \r\n


AG> С уважением. Anton aka Stalker

AG> Linux Registered User #386476
AG> [#*TEAM:*#] [#_Злой СисОп_#] [*Heavy Metal!*] [*_Усачи_*]
AG> --- GoldED+/LNX 1.1.5-b20160322
AG> * Origin: A bove majore discit arare minor (2:5059/37)
0 new messages