- A+
所属分类:linux技术
Squid是一个缓存和转发HTTP Web代理。Squid具有很多功能,可用于多种情况,例如通过缓存重复的请求来加速Web服务器,缓存Web和dns查找,过滤流量,阻止网站等。它是用C ++编写的,并在GNU GPL下分发执照。
Squid被认为是最可靠的内容控制软件,并且自最近20年以来已被许多组织使用。
在本文中,我们将在CentOS 7上安装Squid代理服务器。尽管在网络上已有太多类似的文章。但是我们写这篇文章的目的是包括较小的(但很重要)的步骤,这些步骤通常被其他作者所忽略。
本文特别强调CentOS 7上Squid代理服务器的安装和初始配置。因此,如果您愿意在Squid代理中配置一些高级设置,则强烈建议您购买Packt的Squid Proxy Server 3.1:入门指南。出版。
- 环境规格
- 在CentOS 7上安装Squid Web代理
- 在CentOS 7上配置Squid Web代理
- 配置客户端的浏览器以使用Squid代理
- 配置Squid客户端身份验证
- 创建自定义黑名单以通过Squid代理阻止网站
环境规格:
我们已提供了具有以下规范的CentOS 7虚拟机。
- CPU -3.4 GHz(1核心)
- 内存-1 GB
- 储存空间-20 GB
- 作业系统-CentOS 7.7
- 主机名-squid-proxy.lianglab.cn
- IP地址-192.168.6.175/24
在CentOS 7上安装Squid Web代理:
使用ssh作为root用户连接squid-proxy.lianglab.cn。
Squid软件包在标准yum存储库中可用,因此,我们正在使用yum命令安装Squid代理。
[root@squid-proxy ~]# dnf install -y squid Last metadata expiration check: 2:12:45 ago on Thu 17 Dec 2020 09:03:48 PM CST. Dependencies resolved. ============================================================================================ Package Arch Version Repository Size ============================================================================================ Installing: squid x86_64 7:4.4-8.module_el8.2.0+319+d18e041f.1 AppStream 3.5 M Installing dependencies: libecap x86_64 1.0.1-2.module_el8.2.0+319+d18e041f AppStream 29 k Enabling module streams: squid 4 Transaction Summary ============================================================================================ Install 2 Packages Total download size: 3.6 M Installed size: 12 M Downloading Packages: (1/2): libecap-1.0.1-2.module_el8.2.0+319+d18e041f.x86_64.r 1.5 MB/s | 29 kB 00:00 (2/2): squid-4.4-8.module_el8.2.0+319+d18e041f.1.x86_64.rpm 41 MB/s | 3.5 MB 00:00 -------------------------------------------------------------------------------------------- Total 40 MB/s | 3.6 MB 00:00 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Running scriptlet: squid-7:4.4-8.module_el8.2.0+319+d18e041f.1.x86_64 1/1 Preparing : 1/1 Installing : libecap-1.0.1-2.module_el8.2.0+319+d18e041f.x86_64 1/2 Running scriptlet: libecap-1.0.1-2.module_el8.2.0+319+d18e041f.x86_64 1/2 Running scriptlet: squid-7:4.4-8.module_el8.2.0+319+d18e041f.1.x86_64 2/2 Installing : squid-7:4.4-8.module_el8.2.0+319+d18e041f.1.x86_64 2/2 Running scriptlet: squid-7:4.4-8.module_el8.2.0+319+d18e041f.1.x86_64 2/2 Verifying : libecap-1.0.1-2.module_el8.2.0+319+d18e041f.x86_64 1/2 Verifying : squid-7:4.4-8.module_el8.2.0+319+d18e041f.1.x86_64 2/2 Installed products updated. Installed: libecap-1.0.1-2.module_el8.2.0+319+d18e041f.x86_64 squid-7:4.4-8.module_el8.2.0+319+d18e041f.1.x86_64 Complete!
启用并启动Squid代理服务。
[root@squid-proxy ~]# systemctl enable --now squid.service Created symlink /etc/systemd/system/multi-user.target.wants/squid.service → /usr/lib/systemd/system/squid.service. [root@squid-proxy ~]# systemctl status squid.service ● squid.service - Squid caching proxy Loaded: loaded (/usr/lib/systemd/system/squid.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2020-12-17 23:17:24 CST; 8s ago Docs: man:squid(8) Process: 3894564 ExecStart=/usr/sbin/squid $SQUID_OPTS -f $SQUID_CONF (code=exited, statu> Process: 3894559 ExecStartPre=/usr/libexec/squid/cache_swap.sh (code=exited, status=0/SUC> Main PID: 3894566 (squid) Tasks: 3 (limit: 23840) Memory: 14.2M CGroup: /system.slice/squid.service ├─3894566 /usr/sbin/squid -f /etc/squid/squid.conf ├─3894573 (squid-1) --kid squid-1 -f /etc/squid/squid.conf └─3894582 (logfile-daemon) /var/log/squid/access.log Dec 17 23:17:24 squid-proxy.lianglab.cn systemd[1]: Starting Squid caching proxy... [root@squid-proxy ~]# netstat -antpl| grep squid tcp6 0 0 :::3128 :::* LISTEN 3894573/(squid-1) [root@squid-proxy ~]# ss -antpl| grep squid LISTEN 0 4096 *:3128 *:* users:(("squid",pid=3894573,fd=13)) [root@squid-proxy ~]#
在CentOS 7防火墙中允许Squid代理服务。
[root@squid-proxy ~]# firewall-cmd --permanent --add-service=squid success [root@squid-proxy ~]# firewall-cmd --reload success
在CentOS 7上配置Squid Web代理:
Squid Web代理的全局配置文件是/etc/squid/squid.conf。我们可以根据我们的要求进行定制。
[root@squid-proxy ~]# vi /etc/squid/squid.conf
在其中添加以下指令。
dns_v4_first on
重新启动Squid代理服务以加载更改。
[root@squid-proxy ~]# systemctl restart squid
配置客户端浏览器以使用Squid代理:
启动客户端浏览器,并在其设置中添加我们的Squid代理。
为此,请打开Internet Explorer并转到Internet选项。