【树莓派】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 start
sudo service squid3 stop
sudo service squid3 status

 

补充几条squid的命令说明:

复制代码
#检验:如果没有错误消息输出,恭喜,你可以使用squid
sudo squid3 -k parse

# 重新配置Squid3,使得SquidGuard可以正常工作:
sudo squid3 reload
sudo squid3 -k reconfigure

# 清空缓存,关闭squid3
sudo squid3 -k kill

# 初始化squid的缓存空间
sudo squid3 -z

# 显示创建交换目录
sudo squid -z

# 启动squid
sudo squid

# 关闭squid代理
sudo squid -k shutdown

# 查看squid的状态:
sudo squid -k check

# 重新配置Squid3,使得SquidGuard可以正常工作:
sudo squid3 reload
sudo 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                  #随意填一个email
cache_mem 32 MB                               #缓存大小
cache_swap_low 90                             #最小交换空间
cache_swap_high 95                            #最大交换空间
maximum_object_size 4096 KB
maximum_object_size_in_memory 8 KB
auth_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://www.predatorray.me/在VPS上搭建Squid代理服务器/

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 lifeccp
acl localnet src 192.168.0.0/16
acl whitelist dstdomain "/etc/squid3/whitelist"
http_access allow whitelist
#解决websocket 协议时候,可以配置这个
request_header_add Connection "upgrade"
复制代码

 

(2)在内网增加了白名单的访问规则配置:

#http_access allow localnet
http_access allow whitelist
acl 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. 代理服务器将从缓存中取得的数据返回给客户端。

 

当代理服务器中没有客户端需要的数据时:

  1. 客户端向代理服务器发送数据请求;

  2. 代理服务器检查自己的数据缓存;

  3. 代理服务器在缓存中没有找到用户想要的数据;

  4. 代理服务器向Internet 上的远端服务器发送数据请求;

  5. 远端服务器响应,返回相应的数据;

  6. 代理服务器取得远端服务器的数据,返回给客户端,并保留一份到自己的数据缓存中。

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中定义可以访问的站点。

 

 

 --------------------------

补充信息:

官网:http://www.squid-cache.org/

Squid 代理更改 HTTPS 头 :http://www.guanggua.com/question/39947239-squid-proxy-to-change-https-header.html

 

sudo squid3 -v | grep violations --color



本文转自 念槐聚 博客园博客,原文链接:http://www.cnblogs.com/haochuang/p/7213789.html,如需转载请自行联系原作者

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
负载均衡 监控 Java
异步编程 - 14 异步、分布式、基于消息驱动的框架 Akka
异步编程 - 14 异步、分布式、基于消息驱动的框架 Akka
568 0
|
前端开发 Java 数据库连接
JavaWeb:登录注册功能实现
JavaWeb 登录注册是一种常见的网站开发功能,使用 Java 编程语言和 Web 技术来实现用户注册和登录功能
472 3
|
机器学习/深度学习 人工智能 算法
基于机器视觉的害虫种类及计数检测研究-人工智能项目-附代码
基于机器视觉的害虫种类及计数检测研究-人工智能项目-附代码
phpenv:PHP多版本安装和管理工具
phpenv:PHP多版本安装和管理工具
1368 0
|
6月前
|
JSON 缓存 API
孔夫子旧书网 API 实战:古籍与二手书数据获取及接口调用方案
孔夫子旧书网作为国内知名古籍与二手书交易平台,其数据对图书收藏、学术研究及电商系统具有重要价值。本文详解其API调用方法,涵盖认证机制、搜索参数、数据解析及反爬策略,并提供可直接使用的Python代码,助力开发者合规获取数据。
|
关系型数据库 MySQL 数据库
MySQL基本操作入门指南
MySQL基本操作入门指南
613 0
|
存储 数据库 Android开发
安卓Jetpack Compose+Kotlin,支持从本地添加音频文件到播放列表,支持删除,使用ExoPlayer播放音乐
为了在UI界面添加用于添加和删除本地音乐文件的按钮,以及相关的播放功能,你需要实现以下几个步骤: 1. **集成用户选择本地音乐**:允许用户从设备中选择音乐文件。 2. **创建UI按钮**:在界面中创建添加和删除按钮。 3. **数据库功能**:使用Room数据库来存储音频文件信息。 4. **更新ViewModel**:处理添加、删除和播放音频文件的逻辑。 5. **UI实现**:在UI层支持添加、删除音乐以及播放功能。
在Linux中,如何挂载一个文件系统?
在Linux中,如何挂载一个文件系统?
|
存储 运维 监控
数据库服务器运维最佳实践
【8月更文挑战第22天】
439 2
数据库服务器运维最佳实践
|
存储 Linux 数据安全/隐私保护
linux cryptsetup
cryptsetup 是一个用于设置和管理 LUKS 加密卷的命令行工具,常用于 Linux 系统。它可以创建、打开、关闭加密卷,更改密码,添加和删除密钥槽,以及显示卷信息,确保数据安全和隐私。
391 2