在CentOS 8/RHEL 8上安装和配置Squid代理

时间:2020-02-23 14:31:06  来源:igfitidea点击:

本指南将引导我们逐步了解如何在CentOS 8/RHEL 8 Linux上安装Squid代理服务器。 Squid是一个Web代理服务器应用程序,为组织提供Web代理和缓存服务,支持HTTP,HTTPS,FTP等。通过缓存和重用经常请求的网页,它减少了带宽并缩短了响应时间。 Squid具有广泛的访问控制,是一个出色的服务器加速器。它可以在大多数可用的操作系统(包括Windows)上运行,并已获得GNU GPL的许可。要在CentOS 8/RHEL 8服务器上安装Squid,请按照以下步骤进行。

更新服务器

在开始将服务器安装在舒适的地方之前,请确保我们的房子完全干净。

sudo dnf update

安装Squid

Squid在Yum存储库中可用。运行以下命令以将其安装在我们的干净服务器中。

sudo dnf install squid -y

配置转发代理设置

我们将连接请求发送到转发代理,然后它代表我们从Internet检索数据。这样,通过将所有经常访问的页面保留其中,它还可以充当缓存服务器。下次访问已缓存的页面时,请求无需一直转到Internet。浏览器从缓存中检索它。

在继续之前,让我们备份默认配置文件。

sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.ori

打开鱿鱼主配置文件并添加/编辑以下内容

sudo vim /etc/squid/squid.conf

注释掉所有默认网络ACL,如下所示

#acl localnet src 0.0.0.1-0.255.255.255  # RFC 1122 "this" network (LAN)
#acl localnet src 10.0.0.0/8             # RFC 1918 local private network (LAN)
#acl localnet src 100.64.0.0/10          # RFC 6598 shared address space (CGN)
#acl localnet src 169.254.0.0/16         # RFC 3927 link-local (directly plugged) machines
#acl localnet src 172.16.0.0/12          # RFC 1918 local private network (LAN)
#acl localnet src 192.168.0.0/16         # RFC 1918 local private network (LAN)
#acl localnet src fc00::/7               # RFC 4193 local private network range
#acl localnet src fe80::/10              # RFC 4291 link-local (directly plugged) machines

#Add the subnet that will be using the proxy. This is typically your local area network(s). You can give them anyname.
 acl my_proxynet src 172.20.0.0/24
 http_access deny to_localhost
#Comment out the line below
#http_access allow localnet
#Allow the defined network acl above
 http_access allow my_proxynet
#Hide your IP address
 forwarded_for off
#Extra Settings
 request_header_access From deny all
 request_header_access Server deny all
 request_header_access Referer deny all
 request_header_access X-Forwarded-For deny all
 request_header_access Via deny all
 request_header_access Cache-Control deny all

在cache_dir参数中配置高速缓存类型,高速缓存目录的路径,高速缓存大小以及其他特定于高速缓存类型的设置。

#Uncomment the line below in the same config file
cache_dir ufs /var/spool/squid 10000 16 256

启动Squid,并在防火墙上允许其服务

如果服务器正在运行FirewallD,我们需要允许它,以便客户端可以访问它。运行以下命令以启动/启用,然后在防火墙上允许鱿鱼。

sudo firewall-cmd --add-service=squid --permanent
sudo firewall-cmd --reload

测试代理是否有效。它应该下载index.html文件

curl -O -L "https://www.redhat.com/index.html" -x "localhost:3128"

配置CentOS客户端

在CentOS客户端上,我们可以选择在系统范围内或者基于每个应用程序设置代理服务器。为了不浪费大量时间用于每个应用程序,让我们在系统范围内设置代理服务器。

打开下面的文件并相应地添加设置

sudo vim /etc/profile.d/proxyserver.sh

添加代理设置:

MY_PROXY_URL="192.168.120.15:3128"  ## If your server has a domain name, you can replace the IP with it. 
HTTP_PROXY=$MY_PROXY_URL
HTTPS_PROXY=$MY_PROXY_URL
FTP_PROXY=$MY_PROXY_URL
http_proxy=$MY_PROXY_URL
https_proxy=$MY_PROXY_URL
ftp_proxy=$MY_PROXY_URL

然后获取文件

source /etc/profile.d/proxyserver.sh