Debian 6 上的 Squid squidGuard

Debian 6 上的 Squid squidGuard

我有一个带调制解调器 sagem (NAT) 的 ADSL 连接,并将一台机器连接到电缆 >(fedora17 = 192.168.1.2),在这台机器上我安装了 oracle virtualbox,在这台机器上我有两台机器作为网络桥接连接到调制解调器 Sagem (Debian“192.168.1.6”作为服务器 + Ubuntu“192.168.1.7”作为客户端),我在 (Debian) 上安装了 squid 和 squidGuard。

在此服务器(Debian)中这是我的配置:

##cat /proc/sys/net/ipv4/ip_forward
1
##ls -l /etc/ 
..
..
lrwxrwxrwx ......squid -> squid3/
..
..

##cd /etc/squid/
ls -l 
-rw-r--r-- 1 root root   1547  6 janv.  2012 errorpage.css
-rw-r--r-- 1 root root    421  6 janv.  2012 msntauth.conf
lrwxrwxrwx 1 root root      6  4 févr. 21:49 squid -> squid/
-rw-r--r-- 1 root root 198835  5 févr. 00:02 squid.conf
-rw-r--r-- 1 root root 198764  2 févr. 00:18 squid.conf.old
-rw-r--r-- 1 root root   1350  4 févr. 23:47 squidGuard.conf
-rw-r--r-- 1 root root   1431  3 févr. 20:25 squidGuard.conf.old

/etc/squid3/squid.conf

acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl localnet src 192.168.1.0/24    

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 allow manager localhost
http_access deny manager

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

http_access allow localnet
http_access allow localhost

http_access deny all


http_port 3128 transparent

hierarchy_stoplist cgi-bin ?

access_log /var/log/squid3/access.log squid

coredump_dir /var/spool/squid3

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

visible_hostname mysrvhostname

/etc/squid3/squidGuard.conf

time workhours {
weekly mtwhf 08:00 - 16:30
        date *-*-01  08:00 - 16:30
}

dest noface
{
        domainlist noface/domains
        expressionlist noface/expressions
        urllist noface/urls
}
acl {
default {
                pass     !noface all
                redirect http://www.google.tn/

        }
}

/var/lib/squidGuard/db/noface/域

facebook.com
free.com
speedtest.com

/var/lib/squidGuard/db/noface/urls

http://www.facebook.com/
https://www.facebook.com/

/var/lib/squidGuard/db/noface/domains.diff

+facebook.com
-debian.org

iptables 规则

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

我建立了数据库并启动了 squid3,如下所示:

# squidGuard -C all
# squidGuard -u
# /etc/init.d/squid3 restart

现在在我的客户端 Ubuntu 中,我在强制代理和端口 3128 中设置了我的服务器 Debian 192.168.1.6 的 IP 地址,当我访问其中一个网站时,我想阻止 Facebook,因为客户可以轻松访问

哪里有问题?

答案1

问题是您没有引用 SquidGuard,而 SquidGuard 却无处不在。您需要一个redirect_program子句,指向您的 SG 二进制文件和配置。

redirect_program /usr/bin/SquidGuard -c /etc/squid/SquidGuard.conf

只需检查 SG 二进制文件的路径,我不确定。

相关内容