在Ubuntu 18.04/CentOS 7上安装和配置Squid代理服务器

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

Squid是功能齐全的开源Web代理缓存服务器,SME可以将其用于大型企业级网络,以缓存和代理FTP,HTTP,DNS查找和其他协议。 Squid还可以为SSL请求进行缓存和代理。在本指南中,我们将介绍如何在Ubuntu 18.04/CentOS 7上安装和配置Squid代理服务器。

有关代理服务器如何工作的基础知识,请查看关于什么是代理服务器和代理服务器类型的指南。总之,它具有广泛的粒度访问控制机制,我们可以使用简单网络管理协议(SNMP)监视关键参数。

在Ubuntu 18.04/CentOS 7上安装Squid代理

可从Ubuntu存储库中获得Squid代理程序包。可以通过运行以下命令来安装它:

sudo apt-get install squid

对于CentOS 7,运行:

sudo yum -y install squid

安装软件包后,需要进行基本配置,然后才能使用Squid Proxy服务器。

配置Squid代理服务器

Squid最简单的配置是作为转发代理服务器。在这种情况下,它将接收来自服务器的所有请求并进行相应转发。要配置Squid,请编辑/etc/squid/squid.conf文件中包含的指令。

$sudo vim /etc/squid/squid.conf

为内部信任网络定义ACL:

在" acl CONNECT"行之后添加ACL

acl lan src 192.168.18.0/24

然后根据上面定义的ACL允许访问,在" http_access allow localhost manager"之后添加一行

http_access allow lan

配置客户端标头请求以匹配

这应该放在标签" TAG:request_header_access"下

request_header_access Via deny all
request_header_access X-Forwarded-For deny all
request_header_access Referer deny all
request_header_access Cache-Control deny all

这将关闭标题。Via和Forwarded-For字段配置为指示请求已由代理转发。这可以通过泄漏使用代理的信息来公开真实IP。

要删除更多可能使我们暴露的标头,请添加:

via off
forwarded_for off

request_header_access From deny all
request_header_access Via deny all
request_header_access X-Forwarded-For deny all
request_header_access Cache-Control deny all
request_header_access X-Cache deny all
request_header_access X-Cache-Lookup deny all
request_header_access Server deny all
request_header_access Link deny all
request_header_access WWW-Authenticate deny all
request_header_access Proxy-Connection deny all
request_header_access Pragma deny all
request_header_access Keep-Alive deny all

进行更改后,重新启动鱿鱼代理服务:

sudo systemctl restart squid

另外,请确保启动时已启用该服务。

sudo systemctl enable squid

squid使用的默认服务端口是3128. 如果要更改它,请修改以下行:

http_port 3128

确认服务状态

# ss -tunelp | grep 3128
tcp   LISTEN  0       128                          *:3128               *:*      users:(("squid",pid=14580,fd=11)) ino:41513 sk:9 v6only:0 <->

配置防火墙服务

要在Ubuntu或者CentOS上运行防火墙服务,请打开防火墙上的端口,

$sudo firewall-cmd --add-service=squid --permanent
$sudo firewall-cmd --reload
or
$sudo ufw allow 3128/tcp

配置Squid客户端

现在我们已经准备好代理服务器,配置客户端系统以进行连接。\

在CentOS/RHEL/Fedora上配置代理设置

在Debian/Ubuntu上配置代理设置

示例1:为HTTP,HTTPS和FTP配置代理

$sudo vim /etc/profile

PROXY_URL="http://192.168.18.2:3128/"
export HTTP_PROXY=$PROXY_URL
export http_proxy=$ROXY_URL
export HTTPS_PROXY=$PROXY_URL
export https_proxy=$PROXY_URL
export FTP_PROXY=$PROXY_URL
export ftp_proxy=$PROXY_URL

对于Web浏览器:

Firefox:导航到"设置">"首选项">"网络代理">"设置">"手动代理配置"

勾选"将此代理服务器用于所有协议"