# 1.基本概念 ``` squid Cache (简称为squid) 是http代理服务器软件。squid用途广泛,可以作为缓存服务器,可以过滤流量帮助网络安全,也可以作为代理服务器链中的一环,向上级代理转发数据或直接连接互联网。 ``` # 2.操作实例 ### 2.1 squid安装与启动 ``` 第一步:apt install squid #安装服务 第二步:systemctl status squid #查看服务运行状态信息 第三步:apt install net-tools #安装查看端口软件 第四步:netstat -nputl | grep squid #查看squid端口 ``` ### 2.2 配置正向代理 #### Server ``` 第一步:apt install squid #安装服务 第二步:cd /etc/squid #进入路径 第三步:cp squid.conf squid.conf.back #复制配置文件 第四步:grep -Ev '^(#|$)' squid.conf.1 > squid.conf #过滤配置文件 第五步:vim squid.conf #打开配置文件 ``` ![1][1] 第六步:systemctl restart squid #重新服务 第七步:systemctl status squid #查看服务状态信息 第八步:本主机需要能够访问外网 ####Client ![客户端][2] ### 2.3 透明代理 ##### Server ``` 第一步:apt install squid #安装服务 第二步:cd /etc/squid #进入路径 第三步:cp squid.conf squid.conf.back #复制配置文件 第四步:grep -Ev '^(#|$)' squid.conf.1 > squid.conf #过滤配置文件 第五步:vim squid.conf #打开配置文件 acl IP src 192.168.10.0/24 #自定义一条acl允许此网段 http_access allow IP #允许acl http_port 3129 intercept #监听3129端口 ``` ![透明代理][3] ``` 第六步:systemctl restart squid #重启服务 第七步:iptables -t nat -I PREROUTING -s 192.168.10.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3129 #将此网段访问80端口的数据都转向3129端口 第八步:vim /etc/sysctl.conf #打开配置文件 ``` ![配置文件][4] 第九步:sysctl -p #使配置文件重新生效 ##### Client ``` 第一步:将客户端的网关地址 修改成 Server端的IP地址 ``` ![配置代理][5] ### 2.4 反向代理 ![拓扑图][6] ##### Server ``` 第一步:apt install squid #安装服务 第二步:cd /etc/squid #进入路径 第三步:cp squid.conf squid.conf.back #复制配置文件 第四步:grep -Ev '^(#|$)' squid.conf.1 > squid.conf #过滤配置文件 第五步:vim squid.conf #打开配置文件 http_port 80 accel defaultsite=192.168.10.102 #IP处写wb网站IP 有域名最好写域名 cache_peer 192.168.10.102 parent 80 0 no-query originserver #IP处写web网站IP ``` ![配置文件][7] #### Client ![默认页][8] # 3.技能实践 ``` 网站域名:www.520linux.com 用途 主机名IP 客户端:Client:192.168.10.100 域名解析:dns:192.168.10.101 正向代理:proxy:192.168.10.102 反向代理:squid:192.168.20.103 web服务器:web:192.168.20.104 ``` ![拓扑图][9] [1]: https://panfeng-biji.oss-cn-beijing.aliyuncs.com/oss/20211007145731.jpeg [2]: https://panfeng-biji.oss-cn-beijing.aliyuncs.com/oss/20211007145840.jpeg [3]: https://panfeng-biji.oss-cn-beijing.aliyuncs.com/oss/20211007145908.jpeg [4]: https://panfeng-biji.oss-cn-beijing.aliyuncs.com/oss/20211007145956.jpeg [5]: https://panfeng-biji.oss-cn-beijing.aliyuncs.com/oss/20211007150036.jpeg [6]: https://panfeng-biji.oss-cn-beijing.aliyuncs.com/oss/20211007150129.jpeg [7]: https://panfeng-biji.oss-cn-beijing.aliyuncs.com/oss/20211007150204.jpeg [8]: https://panfeng-biji.oss-cn-beijing.aliyuncs.com/oss/20211007150327.jpeg [9]: https://panfeng-biji.oss-cn-beijing.aliyuncs.com/oss/20211007150415.jpeg # 4.扩展指引 ``` 1.如何在命令行中使用正向代理 2.如何在squid正向代理中对https进行acl 3.在透明代理中能不能(如何)做https的透明代理 4.实现https的方向代理,提示:squid 需要重新编译,客户端到squid一定需要ssl证书,squid到web服务器可以使用80端口,也可以使用443,使用443就需要证书。 ```
最后修改:2021 年 10 月 08 日
如果觉得我的文章对你有用,欢迎打赏