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转发,访问控制等功能

参考

https://imququ.com/post/web-proxy.html

http://blog.csdn.net/jk110333/article/details/8229828

posted @ 2017-11-06 15:46  被罚站的树  阅读(1690)  评论(0)    收藏  举报