首页 > 代码库 > 【树莓派】Squid代理以及白名单配置
【树莓派】Squid代理以及白名单配置
Squid安装:
sudo apt-get install squid3 -y
首先,建议备份一下这个配置文件,以免配错之后,无法恢复,又得重新安装:
sudo cp /etc/squid3/squid.conf /etc/squid3/squid.conf.default.bak
squid log查看:
sudo tial -f /var/log/squid3/access.log
服务启动停止与查看状态:
sudo service squid3 startsudo service squid3 stopsudo service squid3 status
补充几条squid的命令说明:
#检验:如果没有错误消息输出,恭喜,你可以使用squidsudo squid3 -k parse# 重新配置Squid3,使得SquidGuard可以正常工作:sudo squid3 reloadsudo squid3 -k reconfigure# 清空缓存,关闭squid3sudo squid3 -k kill# 初始化squid的缓存空间sudo squid3 -z# 显示创建交换目录sudo squid -z# 启动squidsudo squid# 关闭squid代理sudo squid -k shutdown# 查看squid的状态:sudo squid -k check# 重新配置Squid3,使得SquidGuard可以正常工作:sudo squid3 reloadsudo squid3 -k reconfigure
# 重新启动squid
sudo /usr/local/squid3/sbin/squid -k reconfigure
chrome--设置--网络--更改代理服务器设置--连接--局域网设置--代理服务器
贴一下squid.conf的配置信息内容:
http_port 0.0.0.0:3128 #使用IPV4的3128端口作为代理服务器端口cache_dir ufs /var/spool/squid3 1000 64 1024 #缓存目录cache_access_log /var/log/squid3/access.log #接入的日志文件cache_log /var/log/squid3/cache.log #缓存日志cache_store_log /var/log/squid3/store.log #存储日志pid_filename /var/run/squid.pid #进程ID cache_mgr newflydd@gmail.com #随意填一个emailcache_mem 32 MB #缓存大小cache_swap_low 90 #最小交换空间cache_swap_high 95 #最大交换空间maximum_object_size 4096 KBmaximum_object_size_in_memory 8 KBauth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/squid_passwd #以上都没意思,这边是重点,使用NCSA读取加密的用户密码acl ncsa_users proxy_auth REQUIRED #代理身份使用认证模式http_access allow ncsa_users #所有IP都可以使用代理
部分可以参考这几篇文章:
http://blog.csdn.net/stamhe/article/details/5334875
http://www.cnblogs.com/vijayfly/p/6550182.html
http://www.cnblogs.com/newflypig/archive/2012/09/28/2862000.html
http://www.cnblogs.com/lixiuyuan999/p/6260179.html
刚才配置成功,现在附上两份文件:
(1)可以通过内网代理访问外网的配置:
visible_hostname lifeccpacl localnet src 192.168.0.0/16acl whitelist dstdomain "/etc/squid3/whitelist"http_access allow whitelist#解决websocket 协议时候,可以配置这个request_header_add Connection "upgrade"
(2)在内网增加了白名单的访问规则配置:
#http_access allow localnethttp_access allow whitelistacl whitelist dstdomain "/etc/squid3/whitelist"request_header_add Connection "upgrade"
(3)附上白名单文件:
.aliyuncs.com
.weixin.qq.com
.ronghub.com
.wx.qq.com
.lifeccp.com
uc.qbox.me
其他待后续在进行补充。
官网:http://www.squid-cache.org/
squid是一种用来缓存Internet数据的软件。接受来自人们需要下载的目标(object)的请求并适当的处理这些请求。也就是说,如果一个人想下载一web界面,他请求squid为他取得这个页面。squid随之连接到远程服务器并向这个页面发出请求。然后,squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次有人需要同一页面时, squid可以简单的从磁盘中读到它,那样数据会立即传输到客户机上。
squid代理的作用
- 通过缓存的方式为用户提供Web访问加速
对用户的Web访问进行过滤控制
工作流
当代理服务器中有客户端需要的数据时:
a. 客户端向代理服务器发送数据请求;
b. 代理服务器检查自己的数据缓存;
c. 代理服务器在缓存中找到了用户想要的数据,取出数据;
d. 代理服务器将从缓存中取得的数据返回给客户端。
当代理服务器中没有客户端需要的数据时:
客户端向代理服务器发送数据请求;
代理服务器检查自己的数据缓存;
代理服务器在缓存中没有找到用户想要的数据;
代理服务器向Internet 上的远端服务器发送数据请求;
远端服务器响应,返回相应的数据;
代理服务器取得远端服务器的数据,返回给客户端,并保留一份到自己的数据缓存中。
1、安装
sudo apt-get install squid3
2、常用命令
启动:sudo service squid3 start
重启:sudo service squid3 restart
停止:sudo service squid3 stop
3、配置介绍
主配置文件:/etc/squid3/squid.conf
常用配置:
http_port 3128
access_log /var/log/squid/access.log #访问日志存放的地方
visible_hostname proxy.test.xom #可见的主机名
cache_mgr webmaster@test.com #定义管理员邮箱
http_access deny all #访问控制
4、设置白名单
sudo vim /etc/squid3/squid.conf
acl whitelist dstdomain "/etc/squid3/whitelist"
http_access allow whitelist
Tips:whitelist中定义可以访问的站点。
【树莓派】Squid代理以及白名单配置