在 CentOS 7 上配置 Squid Web 代理
Squid Web 代理的全局配置文件是 /etc/squid/squid.conf 。
我们可以根据我们的要求定制它。
[root@squid-proxy-01 ~]# vi /etc/squid/squid.conf
其中添加以下指令。
dns_v4_first on
重新启动 Squid 代理服务以加载更改。
[root@squid-proxy-01 ~]# systemctl restart squid
配置客户端的浏览器以使用 Squid 代理
启动客户端浏览器并在其设置中添加我们的 Squid 代理。
为此,请打开 Internet Explorer 并转到 Internet 选项。
转到连接选项卡并单击 LAN 设置。
在上面的对话框中输入 Squid 代理 IP 地址和端口。
单击确定退出 Internet 选项。
在 Internet Explorer 中浏览 https://jacklifqyang.onitroad.com。
上述网站已通过我们的 Squid 代理服务器提供服务。
配置 Squid 客户端身份验证
我们可以使用 HTTP 基本身份验证为 Squid 代理服务器配置基于用户的身份验证。
使用 yum 命令安装 httpd-tools 包。
[root@squid-proxy-01 ~]# yum install -y httpd-tools
创建密码文件并其中添加squiduser 用户。
[root@squid-proxy-01 ~]# htpasswd -c /etc/squid/passwd squiduser New password: Re-type new password: Adding password for user squiduser
更改 passwd 文件的所有者。
[root@squid-proxy-01 ~]# chown squid.squid /etc/squid/passwd
现在,编辑 Squid 配置文件并添加客户端身份验证设置。
[root@squid-proxy-01 ~]# vi /etc/squid/squid.conf
在端口的 ACL 之后添加以下指令。
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd auth_param basic children 5 auth_param basic realm Squid Basic Authentication auth_param basic credentialsttl 2 hours acl auth_users proxy_auth REQUIRED http_access allow auth_users
重新启动 Squid 代理服务以使更改生效。
[root@squid-proxy-01 ~]# systemctl restart squid
在客户端浏览器中打开 URL https://jacklifqyang.onitroad.com。
这次是提示进行身份验证。
Squid 是一个缓存和转发 HTTP Web 代理。
Squid 有很多特性,它被用于各种情况,例如通过缓存重复请求来加速 web 服务器、缓存 web 和 dns 查找、过滤流量、阻止网站等。
在这篇文章中,我们是在 CentOS 7 上安装 Squid 代理服务器。
创建自定义黑名单以通过 Squid 代理阻止网站
创建黑名单文件以阻止网站。
[root@squid-proxy-01 ~]# vi /etc/squid/blacklist
并其中添加以下 URL。
.weibo.com .facebook.com
编辑 Squid 代理配置文件以添加黑名单设置。
[root@squid-proxy-01 ~]# vi /etc/squid/squid.conf
在端口的 ACL 之后添加以下指令。
acl bad_urls dstdomain "/etc/squid/blacklist" http_access deny bad_urls
重新启动 Squid 代理服务以加载更改。
[root@squid-proxy-01 ~]# systemctl restart squid
在客户端浏览器中浏览 URL http://www.weibo.com。
可以看到 http://www.weibo.com 已经被我们的 Squid 代理服务器屏蔽了。
我们已经在 CentOS 7 上成功安装了 Squid 代理服务器。
在 CentOS 7 上安装 Squid Web 代理
使用 ssh 作为 root 用户连接到 squid-proxy-01.onitroad.com。
Squid 软件包在标准 yum 存储库中可用,因此,我们使用 yum 命令安装 Squid 代理。
[root@squid-proxy-01 ~]# yum install -y squid .
启用并启动 Squid 代理服务。
[root@squid-proxy-01 ~]# systemctl enable --now squid.service Created symlink from /etc/systemd/system/multi-user.target.wants/squid.service to /usr/lib/systemd/system/squid.service.
在 CentOS 7 防火墙中允许 Squid 代理服务。
[root@squid-proxy-01 ~]# firewall-cmd --permanent --add-service=squid success [root@squid-proxy-01 ~]# firewall-cmd --reload success