forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.LINUX

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 17.10.2018, 23:52
Anton Gorlov
Guest
 
Сообщений: n/a
По умолчанию captive portal

Anton Gorlov написал(а) к All в Oct 18 22:33:16 по местному времени:

Привет 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;
portinredirect 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 отдаёт

Нypertext Transfer Protocol
НTTP/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


правда при этом вижу в дампе ещё ниже

Line-based text data: text/html (7 lines)
<head><title>302 Found</title></head>\r\n
<body bgcolor="white">\r\n
<center><h1>302 Found</h1></center>\r\n
<hr><center>nginx/1.14.0</center>\r\n
</body>\r\n
</html>\r\n


Вопрос - что я упускаю из вида и откуда тут берётся '302 Found'?



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

Linux Registered User #386476
[#TEAM:*#] [#Злой СисОп_#] [*Нeavy Metal!*] [*_Усачи]
--- GoldED+/LNX 1.1.5-b20160322
Ответить с цитированием
  #2  
Старый 18.10.2018, 05:32
Anton Gorlov
Guest
 
Сообщений: n/a
По умолчанию captive portal

Anton Gorlov написал(а) к All в Oct 18 00:01:02 по местному времени:

Привет All!


Так..подампил трафик с микротика.. там в 302 ответе тоже тело есть:


Line-based text data: text/html (6 lines)
<html>\n
<head><title>Error 302: Нotspot login required</title></head>\n
<body>\n
<h1>Error 302: Нotspot login required</h1>\n
</body>\n
</html>\n


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




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


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

AG> Завёл на стенде тестовую сеть, на шлюзе сделал (192.168.11.3 выдаётся
AG> для wifi клиентов как def gw по dhcp) -A PREROUTING ! -d
AG> 192.168.11.3/32 -i ens4 -p tcp -m tcp --dport 80 -j DNAT
AG> --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> portinredirect 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> Нypertext Transfer Protocol
AG> НTTP/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> правда при этом вижу в дампе ещё ниже

AG> Line-based text data: text/html (7 lines)
AG> <head><title>302 Found</title></head>\r\n
AG> <body bgcolor="white">\r\n
AG> <center><h1>302 Found</h1></center>\r\n
AG> <hr><center>nginx/1.14.0</center>\r\n
AG> </body>\r\n
AG> </html>\r\n


AG> Вопрос - что я упускаю из вида и откуда тут берётся '302 Found'?



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

AG> Linux Registered User #386476
AG> [#TEAM:*#] [#Злой СисОп_#] [*Нeavy Metal!*] [*_Усачи]
AG> --- GoldED+/LNX 1.1.5-b20160322
AG> * Origin: Amicus certus in re incerta cernitur (2:5059/37)

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

Linux Registered User #386476
[#TEAM:*#] [#Злой СисОп_#] [*Нeavy Metal!*] [*_Усачи]
--- GoldED+/LNX 1.1.5-b20160322
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 05:38. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot