如何在 Linux 上安装和配置 Squid 代理服务器


在这篇文章中,我们将学习如何安装和配置 Squid 代理服务器。Squid 代理服务器是一个开源且使用 GPLD 许可的代理服务器,带有 Web 缓存功能。Squid 代理服务器有各种用途,例如通过缓存来自客户端的重复请求来加速 Web 服务器,以及用于名称服务器查询。我们可以使用它来查看网络或一组人共享网络资源。

Squid 代理是一个高性能的 Web 客户端代理缓存服务器,支持 FTP、gopher 和 HTTP 数据对象。Squid 可以在一个非阻塞 I/O 驱动的进程中处理所有请求。Squid 将元数据和热门对象保存在 RAM 中,缓存 DNS 查询,并且还支持非阻塞 DNS 查询。

安装 Squid

# yum install squid
Loaded plugins: fastestmirror, security
Setting up Install Process
Loading mirror speeds from cached hostfile
epel/metalink | 5.2 kB 00:00
* base: ftp.iitm.ac.in
* epel: mirror.premi.st
* extras: ftp.iitm.ac.in
* updates: mirrors.nwsuaf.edu.cn
base | 3.7 kB 00:00
epel | 4.3 kB 00:00
epel/primary_db | 5.9 MB 00:00
extras | 3.4 kB 00:00
updates/primary_db | 5.2 MB 00:00
Resolving Dependencies
--> Running transaction check
---> Package squid.x86_64 7:3.1.23-9.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
==================================================================================================
Package       Arch       Version          Repository Size
==================================================================================================
Installing:
squid x86_64 7:3.1.23-9.el6 base 1.8 M
Transaction Summary
==================================================================================================
Install 1 Package(s)
Total download size: 1.8 M
Installed size: 6.3 M
Is this ok [y/N]: y
Downloading Packages:
squid-3.1.23-9.el6.x86_64.rpm | 1.8 MB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : 7:squid-3.1.23-9.el6.x86_64 1/1
Verifying : 7:squid-3.1.23-9.el6.x86_64 1/1
Installed:
squid.x86_64 7:3.1.23-9.el6
Completed

配置 Squid 代理

安装完成后,我们需要编辑配置文件,以便客户端可以使用它作为代理服务器。我们需要定义 ACL(访问控制列表)来与 squid 配合使用。代理服务器上的默认端口是 TCP 3128。

以下是 ACL 的示例,用于提供来自本地网络客户端 192.168.87.0/24 和 192.168.88.0/24 的访问。

确保此网络处于活动状态,以便允许浏览。

打开位于 /etc/squid/squid.conf 的配置文件。

# vi /etc/squid/squid.conf

打开文件后,删除所有 src 网络,默认情况下网络会显示可能的内部网络。

acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines

在此处添加网络的本地地址,我正在本地环境中使用 192.168.8X.X 系列。

acl our_networks src 192.168.87.0/24 192.168.88.0/24
http_access allow our_networks

保存并关闭配置文件,然后重新启动或启动 Squid 代理服务器。

# chkconfig squid on
# /etc/init.d/squid start
Starting squid: . [ OK ]

验证 Squid 服务是否正在运行

# netstat -ntlp | grep squid
or
# netstat -ntlp | grep 3128
tcp 0 0 :::3128 :::* LISTEN 2180/(squid)

客户端配置以使用 Squid 代理服务器

在客户端计算机上打开浏览器,然后在“工具”->“Internet 选项”->“网络设置”->中添加 Squid 代理服务器 IP 地址并使用端口号 3128。

经过此设置和配置后,我们能够共享互联网或缓存 Web 服务器,以便尽可能快地将网页加载到客户端,并且我们还可以将单个连接到环境中的另一个客户端。

更新于: 2020年1月17日

712 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告