stalker86 Опубликовано 17 октября, 2018 · Жалоба Понадобилось тут изобразить 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 Собственно дамп трафика, судя по всему редирект вообще не отрабатывает. Как минимум проверено на 2 телефонах - xiaomi (дамп приложен) и на соньке... симптомы одинаковые dump7_redir.pcap Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
murano Опубликовано 18 октября, 2018 (изменено) · Жалоба Для начала разрешите клиенту ходить на порты эти в инете. Редирект не сработает, если пакет был отклонен. Он должен иметь возможность уйти к получателю и тогда уже перехватываться и редиректиться. Изменено 18 октября, 2018 пользователем murano Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
stalker86 Опубликовано 18 октября, 2018 · Жалоба Ммм.. на текущий момент в iptables всего 1 правило, котрыое все пакеты на 80 порт заворачивает на локальный веб-сервер., который на этом же роутере сейчас. И test.ppcom:82 доступен из гостевой сети. Собственно если же сразу делаю заворачивание iptables на 82 (вместо 80) порт,где висит портал или меняю вхсоты местами то всё ок. А так в таблесах висит только: [root@host-20 ~]# iptables-save -c # Generated by iptables-save v1.4.21 on Thu Oct 18 12:07:00 2018 *nat :PREROUTING ACCEPT [4460:814094] :INPUT ACCEPT [4425:806706] :OUTPUT ACCEPT [158:12043] :POSTROUTING ACCEPT [54:3235] [20:1200] -A PREROUTING ! -d 192.168.11.3/32 -i ens4 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 80 COMMIT # Completed on Thu Oct 18 12:07:00 2018 # Generated by iptables-save v1.4.21 on Thu Oct 18 12:07:00 2018 *filter :INPUT ACCEPT [5493:906743] :FORWARD ACCEPT [250:43242] :OUTPUT ACCEPT [1023:345545] COMMIT # Completed on Thu Oct 18 12:07:00 2018 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
stalker86 Опубликовано 18 октября, 2018 · Жалоба Есть смутное ощущение, что оно даже не пытается пройти по 302 редиректу, вернее установить новый коннект со 2 вхостом и работать нужно в рамках единственного вхоста... По крайней мере это объяснило бы почему я не вижу пакетов на 2 vhost куда пытаюсь сделать 302.. То есть на 2 вхост вообще ни 1 пакета. Прикладываю свежие дампики с логами nginx test.conf конфиг вхостов нгинкса direct - таблесам заворачиваю сразу на портал redir - пытаюсь на портал сделать с дефолтного вхоста 302 portal_debug_18102018.tar Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
alibek Опубликовано 22 октября, 2018 · Жалоба Когда я колхозил похожее, то самым главным было не забыть исключить из редиректа трафик на сам портал — постоянно про это забывал. То есть нужно перепроверить все ACL, в них ошибка. Но сейчас бы я просто взял Chillispot. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
default_vlan Опубликовано 22 октября, 2018 · Жалоба В 19.10.2018 в 00:59, stalker86 сказал: Есть смутное ощущение Ощущениями настраиваете?) tcpdump что говорит? Логи в nginx отключены? извиняюсь, за такие вопросы, самого в это тыкали "улицы" сетевого администрирования)) Лично мне интересно, каким образом будет работать редирект для того же гугл, с его 443 на внутренний 443/80. Вроде как вообще ничего показать не должно будет ибо ssl, sni и прочее. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
stalker86 Опубликовано 22 октября, 2018 · Жалоба В общем тут всё оказалось куда интереснее.. Трафик дропала сама wifi точка, хотя настроена была в режиме бриджа. Там среди прочих настроек нашлось - оно по умолчанию дропало трафик со всех серых подсетей. Исключил портал из... и всё заработало 20 минут назад, default_vlan сказал: Ощущениями настраиваете?) tcpdump что говорит? Логи в nginx отключены? разумеется были включены..и по логам/дампам я не видел обращений ко 2 вхосту, на который редиректил. и в дампе видел кучку запросов и по этому складывалось ощущение что androd просто игнорирует редирек и долбит в 1 вхост.. А по факту он просто не мог достучаться до 2 вхоста. И по этой же причине портал работал, если трафик сразу в портал таблесами заворачивался Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...