Linux
是否可以允許特定使用者或 IP 繞過 squidguard?
最近,我配置了一個樹莓派作為一個小伺服器。特別是我安裝了 DHCP、squid 代理和 squidGuard 來記錄通過我的樹莓派的網路活動。實際上,我在 squidGuard 上有一個黑名單,拒絕訪問賭博網站。
我目前的作業系統版本:Linux raspberrypi 4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l GNU/Linux。
Squid:版本 3.5.23,SquidGuard:1.5 Berkeley DB 5.3.28:(2013 年 9 月 9 日)。
我的squid.conf文件:
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 redirect_program /usr/bin/squidGuard acl SSL_ports port 443 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 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost manager http_access deny manager http_access allow localnet http_access allow localhost http_access deny all http_port 3128 cache_dir ufs /var/spool/squid 1000 16 256 coredump_dir /var/spool/squid refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320
我的squidGuard.conf文件:
dbhome /var/lib/squidguard/db logdir /var/log/squidguard time workhours { weekly mtwhf 08:00 - 16:30 date *-*-01 08:00 - 16:30 } src admin { ip 1.2.3.4 1.2.3.5 user root foo bar within workhours } src foo-clients { ip 172.16.2.32-172.16.2.100 172.16.2.100 172.16.2.200 } src bar-clients { ip 172.16.4.0/26 } dest good { } dest local { } dest porn { } dest gamble{ domainlist gamble/domains urllist gamble/urls } acl { admin { pass any } foo-clients within workhours { pass good !in-addr !porn any } else { pass any } bar-clients { pass local none } default { pass !gamble any redirect http://admin.foo.bar.de/cgi-bin/blocked.cgi? clientaddr=%a&clientname=%n &clientuser=%i&clientgroup=%s&targetgroup=%t&url=%u } }
在所有這些資訊之後,例如有使用者A和使用者B,A可以訪問賭博網站而B不能。
有沒有什麼方法可以使用 squid/squidGuard 來實現這個結果?但我不希望使用者 A 繞過代理,只允許他在賭博網站上沖浪。
有沒有什麼方法可以使用 squid/squidGuard 來實現這個結果?但我不希望使用者 A 繞過代理,只允許他在賭博網站上沖浪? 是的,有可能
如果 A 使用者在 foo-clients 範圍內使用 IP,這裡是範常式式碼
src foo-clients { ip 172.16.2.32-172.16.2.100 172.16.2.100 172.16.2.200 }
acl { 行政 { 通過任何 } 富客戶{ 通過好賭!色情任何 } 酒吧客戶{ 通過本地無 } 預設 { 通過!賭博任何 重定向 http://admin.foo.bar.de/cgi-bin/blocked.cgi? 客戶地址=%a&客戶名=%n &clientuser=%i&clientgroup=%s&targetgroup=%t&url=%u } }