如何在 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 服务器,以便尽可能快地将网页加载到客户端,并且我们还可以将单个连接到环境中的另一个客户端。