Назад | Перейти на главную страницу

Squid3 блокирует все сайты, кроме запрещенных

У меня есть файл конфигурации, и в строках, где у меня есть разрешенные и запрещенные сайты, у меня есть следующее:

acl AllowedSites dstdomain "/home/john/squid3_sites/allowed-sites.squid"
acl RestrictedSites dstdomain "/home/john/squid3_sites/restricted-sites.squid"

А потом на моем http_access список, у меня есть

http_access allow AllowedSites
http_access deny RestrictedSites

Содержимое my allowed-sites.squid - это только *, чтобы обозначить, что все сайты разрешены. А на моем limited-sites.squid есть только "www.facebook.com". Прокси-сервер ограничивает все сайты, кроме facebook.com. Когда я захожу на любой сайт, который мне приходит в голову, я получаю сообщение об ошибке «Доступ запрещен». Если поможет, вот мой полный http_access список:

http_access allow AllowedSites
http_access deny RestrictedSites
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all

И все мои акли:

acl SSL_ports port 443 563
acl AllowedSites dstdomain “/usr/local/etc/allowed-sites.squid”
acl RestrictedSites dstdomain “/usr/local/etc/restricted-sites.squid”
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443 563     # https, snews
acl Safe_ports port 70          # gopher
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 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT
acl all src all

Как и многие другие системы, основанные на правилах разрешения / запрета, когда правило соответствует ему, применяется, и дальнейшая обработка этой цепочки правил не выполняется. Итак, как только вы разрешите *, он никогда не перейдет к каким-либо последующим запрещающим правилам для этой цепочки. Или, как говорится в документации:

Правила списка доступа проверяются в порядке их написания. Поиск по списку прекращается, как только одно из правил совпадает.

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