squid简单配置
代理服务器Squid的使用
安装
在ubuntu16上安装Squid
apt install squid
修改配置文件
去掉注释
cd /ect/squid
cp squid.conf squid.conf.origin
cat squid.conf.origin | grep -v -E '^$|^#' > squic.conf
访问控制列表(ACL)
在配置文件中使用访问控制列表可以控制那些主机(IP)可以访问Internet,或者可以为哪些端口做代理。基本的ACL的语法:acl tablename type value1,[value2....]。tablename自己定义。type取值有src,port,dst,method等,具体可以看配置文件说明。value会根据type的不同填写不同的内容,比如type为src,那么value就是ip地址;type为port,那么value就是端口号。下面时配置文件中的默认配置。
# 定义访问控制列表
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
# 禁止为非443端口提供CONNECT方法的支持
http_access deny CONNECT !SSL_ports
# 允许本地访问squid中的manager功能
http_access allow localhost manager
# 禁止访问manager功能
http_access deny manager
# 允许本地访问代理
http_access allow localhost
# 禁止其他地址访问代理
http_access deny all
访问控制表制定好后需要用http_access进行设置让访问控制生效,越往前的设置则优先级越高
白名单和黑名单
我们可以设置白名单和黑名单来控制哪些网站可以访问,哪些网站不能访问
白名单
# cd /etc/squid
# touch whitesite.list 创建白名单文件
允许访问学术网站,则将学术网站网址添加到白名单文件中
www.cnki.net
scholar.google.com.cn
黑名单
# cd /etc/squid
# touch blacksite.list 创建黑名单文件
禁止访问购物网站,则将购物网站添加到黑名单中
www.taobao.com
www.jingdong.com
将白名单和黑名单添加到squid.conf中
.........
acl whitesite dstdomain "/ect/squid/whitesite.list
acl blacksite dstdomain "/ect/squid/blacksite.list
.........
http_access deny blacksite
http_access allow whitesite
http_access deny all
开启透明代理
修改squid配置文件
# http_port 3128 注释掉
http_port 3128 transport
开启路由转发
# sudo vim /etc/sysctl.conf
net.ipv4.ip_forward=1 去掉注释,如果没有自行添加该行
net.ipv6.conf.all.forwarding=1 去掉注释,如果没有自行添加该行
# sudo sysctl -p 让上面的修改生效
使用iptables进行数据包重定向
# eth1是内网网卡, 192.168.0.0/24是内网IP
iptables -t nat -i PREROUTING -i eth1 -s 192.168.0.0/24 -p tcp -dport 80 -j REDIRECT --to-ports 3128
SquidGuard
SquidGuard是squid的一个插件,可以对squid进行配置,实现内容过滤,URL转发,访问控制等功能

浙公网安备 33010602011771号