squid врежиме прозрачного прокси разрешить только определенные сайты (squid работает в двух режимах.)
Модератор: SLEDopit
squid врежиме прозрачного прокси разрешить только определенные сайты
Добрый день.
Прокси работает одноврменно в двух режимах.
Подскажите как именно разрешить для тех кто не прописал прокси, в режиме прозрачного проксирования только опеделенные сайты.
И можно ли это сделать?
Прокси работает одноврменно в двух режимах.
Подскажите как именно разрешить для тех кто не прописал прокси, в режиме прозрачного проксирования только опеделенные сайты.
И можно ли это сделать?
Re: squid врежиме прозрачного прокси разрешить только определенные сайты
Могу предположить, что примерно так:
Но нужно потестить... Но в целом, по логике должно отработать. Да, и squid должкн быть не менее 3.0 для данного acl myportname
Код: Выделить всё
acl имя_acl myportname указать_порт_который_указан_в_http_port_nnn_transparent
acl tolko_saiti dstdomain указать_разрешенный_сайт
http_access allow имя_acl tolko_saiti
http_access deny имя_acl
Но нужно потестить... Но в целом, по логике должно отработать. Да, и squid должкн быть не менее 3.0 для данного acl myportname
Спасибо сказали:
Re: squid врежиме прозрачного прокси разрешить только определенные сайты
Сделал так
acl transparent 3128
acl white_list dstdomain ritishcoucil.ru
http_access allow transparent white_list
http_access deny transparent
Пишет ошибку
Starting squid service: 2012/10/17 22:15:42| aclParseAclLine: Invalid ACL type '3128'
FATAL: Bungled squid.conf line 611: acl transparent 3128
Squid Cache (Version 3.0.STABLE19): Terminated abnormally.
CPU Usage: 0.080 seconds = 0.048 user + 0.032 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0
acl transparent 3128
acl white_list dstdomain ritishcoucil.ru
http_access allow transparent white_list
http_access deny transparent
Пишет ошибку
Starting squid service: 2012/10/17 22:15:42| aclParseAclLine: Invalid ACL type '3128'
FATAL: Bungled squid.conf line 611: acl transparent 3128
Squid Cache (Version 3.0.STABLE19): Terminated abnormally.
CPU Usage: 0.080 seconds = 0.048 user + 0.032 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0
Re: squid врежиме прозрачного прокси разрешить только определенные сайты
Voler писал(а): ↑17.10.2012 22:17Сделал так
acl transparent 3128
acl white_list dstdomain ritishcoucil.ru
http_access allow transparent white_list
http_access deny transparent
Пишет ошибку
Starting squid service: 2012/10/17 22:15:42| aclParseAclLine: Invalid ACL type '3128'
FATAL: Bungled squid.conf line 611: acl transparent 3128
Squid Cache (Version 3.0.STABLE19): Terminated abnormally.
CPU Usage: 0.080 seconds = 0.048 user + 0.032 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0
нужно было
Код: Выделить всё
acl transparent myportname 3128
acl white_list dstdomain ritishcoucil.ru
http_access allow transparent white_list
http_access deny transparent
Re: squid врежиме прозрачного прокси разрешить только определенные сайты
подправил оригинальный образец, чтобы было понятней наглядней.
Re: squid врежиме прозрачного прокси разрешить только определенные сайты
acl transparent myportname 3128
acl white_list dstdomain ritishcoucil.ru dnevnik.ru
http_access allow transparent white_list
http_access deny transparent
Сделал так, но сайты не открываются.
Вот полный конфиг.
Код: Выделить всё
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
acl password proxy_auth REQUIRED
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl Rsync_ports port 873
acl Jabber_ports port 5222 5223
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 563 # snews
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl CONNECT method CONNECT
acl transparent myportname 3128
acl white_list dstdomain ritishcoucil.ru dnevnik.ru
http_access allow transparent white_list
http_access deny transparent
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports !Jabber_ports !Rsync_ports
http_access allow password
http_access deny all
icp_access allow localnet
icp_access deny all
htcp_access allow localnet
htcp_access deny all
http_port 192.168.24.1:3128
http_port 192.168.24.1:3128 transparent
hierarchy_stoplist cgi-bin ?
access_log /var/log/squid/access.log squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern (cgi-bin|\?) 0 0% 0
refresh_pattern . 0 20% 4320
negative_ttl 0
visible_hostname localhost
icp_port 3130
icap_enable on
icap_connect_timeout 100 second
icap_io_timeout 100 second
icap_preview_enable off
icap_send_client_ip on
icap_send_client_username on
icap_client_username_header X-Authenticated-User
icap_client_username_encode on
icap_service service_url_filter reqmod_precache 0 icap://127.0.0.1:1344/url_filter
icap_service service_url_filter_res respmod_precache 1 icap://127.0.0.1:1344/url_filter
icap_class class_url_filter service_url_filter service_url_filter_res
icap_access class_url_filter allow all
coredump_dir /var/spool/squid
Re: squid врежиме прозрачного прокси разрешить только определенные сайты
у тебя на одном порту и транспарент и не транспарент.
Я думаю, что это вообще не гуд.
Я бы на время экспериментов отключил icap
Код: Выделить всё
http_port 192.168.24.1:3128
http_port 192.168.24.1:3128 transparent
Я думаю, что это вообще не гуд.
Я бы на время экспериментов отключил icap
Re: squid врежиме прозрачного прокси разрешить только определенные сайты
McSim писал(а): ↑18.10.2012 12:21у тебя на одном порту и транспарент и не транспарент.
Код: Выделить всё
http_port 192.168.24.1:3128 http_port 192.168.24.1:3128 transparent
Я думаю, что это вообще не гуд
http_port 192.168.24.1:3129
http_port 192.168.24.1:3128 transparent
Сделал так, теперь ошибка вот такая
ERROR
The requested URL could not be retrieved
While trying to retrieve the URL: http://dnevnik.ru/
The following error was encountered:
Access Denied.
Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is incorrect.
Может список сайтов перенсти в отдельный файл и нужно писать полносью http://Site_Name?
Your cache administrator is webmaster.
Generated Thu, 18 Oct 2012 09:50:09 GMT by localhost (squid/3.0.STABLE19)
Re: squid врежиме прозрачного прокси разрешить только определенные сайты
где-то ему не хватает прав.
Voler писал(а): ↑18.10.2012 13:53Может список сайтов перенсти в отдельный файл и нужно писать полносью http://Site_Name?
адреса необходимо задавать как .host.ru
для траблешутинга можно попробовать оставить из http_access только:
Код: Выделить всё
http_access allow transparent
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports !Jabber_ports !Rsync_ports
http_access deny all
Re: squid врежиме прозрачного прокси разрешить только определенные сайты
Сделал пока так:
# grep -v "^#" /etc/squid/squid.conf | sed -e '/^$/d'
Но один минус, добавлять сайты приходится и в whitelist и в БД netpolice.
# grep -v "^#" /etc/squid/squid.conf | sed -e '/^$/d'
Код: Выделить всё
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
acl password proxy_auth REQUIRED
acl whitelist url_regex "/etc/squid/whitelist"
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl Rsync_ports port 873
acl Jabber_ports port 5222 5223
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 563 # snews
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports !Jabber_ports !Rsync_ports
http_access allow localnet whitelist
http_access allow password
http_access deny all
icp_access allow localnet
icp_access deny all
htcp_access allow localnet
htcp_access deny all
http_port 192.168.24.1:3128
http_port 192.168.24.1:3129 transparent
hierarchy_stoplist cgi-bin ?
access_log /var/log/squid/access.log squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern (cgi-bin|\?) 0 0% 0
refresh_pattern . 0 20% 4320
negative_ttl 0
visible_hostname localhost
icp_port 3130
icap_enable on
icap_connect_timeout 100 second
icap_io_timeout 100 second
icap_preview_enable off
icap_send_client_ip on
icap_send_client_username on
icap_client_username_header X-Authenticated-User
icap_client_username_encode on
icap_service service_url_filter reqmod_precache 0 icap://127.0.0.1:1344/url_filter
icap_service service_url_filter_res respmod_precache 1 icap://127.0.0.1:1344/url_filter
icap_class class_url_filter service_url_filter service_url_filter_res
icap_access class_url_filter allow all
coredump_dir /var/spool/squid
Но один минус, добавлять сайты приходится и в whitelist и в БД netpolice.
Re: squid врежиме прозрачного прокси разрешить только определенные сайты
Тоже рабочее решение, но при таком конфиге и те кто с аутентификацией тоже будет ходить на сайты из whitelist без ограничений. При этом, если стоит какой-то биллинг, он не будет видеть имен пользователей, отправившихся на сайты из whitelist (они все будут по IP в логах).
Re: squid врежиме прозрачного прокси разрешить только определенные сайты
Изначальное решение интересно мне, тоже просто времени не было.
Буду пробовать.
Буду пробовать.
Re: squid врежиме прозрачного прокси разрешить только определенные сайты
Почему бы не возпользоваться rejik'ом или другим редиректором?
Убить всех человеков!