URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 7102
[ Назад ]

Исходное сообщение
"Squid splash page только для браузеров."

Отправлено kabanaus , 22-Апр-14 17:58 
Здравствуте! Есть Линукс сервер с сквидом на борту в клубе. Была задача сделать стартовую страницу для WI-FI сети. Сделал на сквиде через deny_info. Все работает более-мение. Но как оказалось большая часть переадресаций на эту страницу происходит не с браузеров а с других приложений которые используют тот-же http. Засада! Хотел сделать фильтрацию по браузерам, чтоб сессии работали только для списка браузеров но в итоге ничего из этого не вышло.
Вот конфиг: http_port 3128 transparent
acl all src 0.0.0.0/0
acl localnet src 10.0.4.0/24
acl manager proto cache_object
acl localhost src 127.0.0.1/32 10.0.4.1
acl to_localhost dst 127.0.0.0/8 10.0.4.1
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 70
acl Safe_ports port 443
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl SSL_ports port 443
acl CONNECT method CONNECT
http_access allow to_localhost
http_access allow CONNECT SSL_ports
acl br browser Chrome

external_acl_type session ttl=60 negative_ttl=0 children=1 concurrency=200 %SRC /usr/lib/squid/squid_session -t 900
acl new_users external session
acl splash dstdomain 10.0.4.1
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
#http_access deny CONNECT !SSL_ports
http_access deny !new_users br
deny_info http://10.0.4.1/?url=%s new_users br
http_access allow new_users
http_access allow localhost


Как сделать так что-бы браузеры из списка попадали в сессию а другие клиенты типа Skype Viber итд нет. Читал так-же про активный режим конфы для редиректа но я так понимаю там доступ будет ограничен пока клиент не попадет на страницу, а мне нужен полный доступ для всех приложений и лишь что-бы запросы с браузеров переадресовывались.


Содержание

Сообщения в этом обсуждении
"Squid splash page только для браузеров."
Отправлено reader , 22-Апр-14 21:23 
http://www.opennet.me/openforum/vsluhforumID12/6778.html

"Squid splash page только для браузеров."
Отправлено kabanaus , 22-Апр-14 21:32 
> http://www.opennet.me/openforum/vsluhforumID12/6778.html

Спасиб читал эту тему. Сделал так-же, в результате запросы с других браузеров полностью блокируются и вибивает стандартную страницу сквида. См конфиг выше. Мне нужно что-бы другие приложения получали полный доступ в инет без редиректа, а стандартные браузеры: Chrome, Opera, Mozilla, Safari редирект на мою splash page.

Это можно сделать конфигурацией сквида?


"Squid splash page только для браузеров."
Отправлено reader , 23-Апр-14 11:11 
>[оверквотинг удален]
> acl Safe_ports port 777
> acl SSL_ports port 443
> acl CONNECT method CONNECT
> http_access allow to_localhost
> http_access allow CONNECT SSL_ports
> acl br browser Chrome
> external_acl_type session ttl=60 negative_ttl=0 children=1 concurrency=200 %SRC /usr/lib/squid/squid_session
> -t 900
> acl new_users external session
> acl splash dstdomain 10.0.4.1

http_access allow new_users ! br   -?
> http_access allow manager localhost
> http_access deny manager
> http_access deny !Safe_ports
> #http_access deny CONNECT !SSL_ports
> http_access deny !new_users br
> deny_info http://10.0.4.1/?url=%s new_users br
> http_access allow new_users
> http_access allow localhost

увеличте уровень логирования, там будет видно по каким правилам прошли и не прошли проверки

> Как сделать так что-бы браузеры из списка попадали в сессию а другие
> клиенты типа Skype Viber итд нет. Читал так-же про активный режим
> конфы для редиректа но я так понимаю там доступ будет ограничен
> пока клиент не попадет на страницу, а мне нужен полный доступ
> для всех приложений и лишь что-бы запросы с браузеров переадресовывались.


"Squid splash page только для браузеров."
Отправлено kabanaus , 24-Апр-14 13:19 
Спасибо! Немного изменил конфиг + помогло изменения порядка правил. Теперь отрабатывает редирект только с браузеров, те что не в списке проходят на прямую. Но осталось еще пару незначительных недостатков. Часто бывает такое http://i.piccy.info/i9/eac1279d93122f574b313196d2671fbb/1398...

В одну секунду происходит несколько редиректов не только при запросе самого сайта а и также при запросе его содержимого. (картинки, внешние скрипты).


Не успевает обновится сессия? Как можно это поправить?

Мой новый рабочий конфиг с фильтраций браузеров:

http_port 3128 transparent
acl all src 0.0.0.0/0
acl localnet src 10.0.4.0/24
acl manager proto cache_object
acl localhost src 127.0.0.1/32 10.0.4.1
acl to_localhost dst 127.0.0.0/8 10.0.4.1
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 70
acl Safe_ports port 443
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl SSL_ports port 443
acl CONNECT method CONNECT
http_access allow to_localhost
http_access allow CONNECT SSL_ports
acl br browser Chrome
acl br browser Safari
acl br browser Opera
acl br browser Mozilla
http_access allow !br

external_acl_type session ttl=60 negative_ttl=0 children=1 concurrency=200 %SRC /usr/lib/squid/squid_session -t 900
acl new_users external session
acl splash dstdomain 10.0.4.1
http_access allow new_users br
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
#http_access deny CONNECT !SSL_ports
http_access deny !new_users
deny_info http://10.0.4.1/?url=%s new_users br
http_access allow new_users
http_access allow localhost
http_access allow br


"Squid splash page только для браузеров."
Отправлено reader , 28-Апр-14 16:42 
> Спасибо! Немного изменил конфиг + помогло изменения порядка правил. Теперь отрабатывает
> редирект только с браузеров, те что не в списке проходят на
> прямую. Но осталось еще пару незначительных недостатков. Часто бывает такое http://i.piccy.info/i9/eac1279d93122f574b313196d2671fbb/1398...
> В одну секунду происходит несколько редиректов не только при запросе самого сайта
> а и также при запросе его содержимого. (картинки, внешние скрипты).

запрошенную страничку рисует ваш http сервер?
а если не делать редирект для картиной?

>[оверквотинг удален]
> http_access allow new_users br
> http_access allow manager localhost
> http_access deny manager
> http_access deny !Safe_ports
> #http_access deny CONNECT !SSL_ports
> http_access deny !new_users
> deny_info http://10.0.4.1/?url=%s new_users br
> http_access allow new_users
> http_access allow localhost
> http_access allow br