在 Debian 10 (Buster) 上安装和配置 Squid 代理服务器
Squid 是最常用的代理服务器之一,用于控制本地网络的互联网访问并保护网络免受非法流量和攻击。它们放置在客户端和互联网之间。来自客户端的所有请求都通过中间代理服务器路由。 Squid 适用于多种服务,例如超文本传输协议 (HTTP)、文件传输协议 (FTP) 和其他网络协议。
除了充当代理服务器之外,Squid 主要用于缓存来自 Web 服务器的经常访问的网页。因此,当用户从 Web 服务器请求页面时,请求首先通过代理服务器检查请求的内容是否可用。这减少了服务器负载和带宽使用,并加快了内容交付速度,从而改善了用户体验。
Squid 还可用于在上网时匿名。通过Squid代理,我们可以访问特定国家的受限内容。
本指南将介绍如何在 Debian 10(Buster) 上安装和配置 Squid 代理服务器。
先决条件:
“sudo”访问将安装 Squid 的系统。
基于 Debian 的 Linux 终端命令的基本知识。
使用代理服务器的基本知识。
在 Debian 10(Buster) 上安装鱿鱼的步骤
1) 首先更新 Debian 10(Buster) 上的存储库和软件包
$ sudo apt upgrade -y
2) 现在使用以下命令安装 Squid 包:
安装过程非常简单。它将自动安装任何所需的依赖项。
3) 现在转到位于/etc/squid/squid.conf 的Squid 代理服务器的主配置文件。
注意:为了安全,请备份此文件。
4) 要允许任何人访问 HTTP 代理服务器,请转到包含字符串“http_access拒绝所有”的行并将其更改为“http_access允许所有”。如果您使用 vi 或 vim 编辑器,则可以使用正斜杠 (/) 搜索直接转到该特定字符串。
现在只需删除该字符串开头的“#”符号即可取消注释该行。
我们将只允许本地主机和我们的本地网络(LAN)设备使用 Squid 进行更精确的控制。为此,我们将更改squid.conf 文件,如下所示:
“http_access 拒绝本地网络”改为“http_access 允许本地网络”
“http_access 拒绝 localhost” 更改为“http_access 允许 localhost”。
现在重新启动Squid服务以应用更改。
5) 现在转到指定“http_port”选项的行。它包含 Squid 代理服务器的端口号。默认端口号是3128。如果由于某种原因(例如端口号冲突),您可以将端口号更改为其他值,如下所示:
6) 您还可以使用visible_hostname选项更改Squid代理服务器的主机名。每次修改配置文件时还要重新启动Squid服务。使用以下命令:
7)配置Squid ACL
a) 定义规则以仅允许特定 IP 地址进行连接。
转到包含字符串 #acl localnet src 的行并取消注释。如果该行不存在,只需添加一条新行。现在添加您想要允许从 Squid 服务器访问的任何 IP。如下所示:
保存文件并重新启动鱿鱼服务器。
b) 定义规则以打开连接端口。
要打开端口,请取消注释“#acl Safe_ports port ”行并添加您要允许的端口号:
保存文件并重新启动鱿鱼服务器。
c) 使用 Squid 代理阻止对特定网站的访问。
要阻止使用 Squid 访问某些网站,请在与squid.conf 相同的位置创建一个名为blocked.acl 的新文件。
现在通过说明以点开头的地址来指定您要阻止的网站:
.youtube.com
.yahoo.com
现在再次打开鱿鱼配置文件并查找“acl Blocked_websites dstdomain”行。在这里添加文件“blocked.acl”的位置,如下所示:
另外在下面添加一行:
保存文件并重新启动鱿鱼服务器。
同样,我们可以创建一个新文件来存储允许使用 Squid 代理的客户端的 IP 地址。
现在指定您想要允许的 IP 地址并保存文件。现在在主配置文件中创建一个新的 acl 行,并允许使用 http_access 指令访问 acl。这些步骤如下所示:
http_access allow allowedHosts
保存文件并重新启动鱿鱼服务器。
注意:我们还可以在主配置文件中添加允许和拒绝客户端的IP地址,如下所示:
acl myIP2 src 10.0.0.2
http_access allow myIP1
http_access allow myIP2
d) 更改鱿鱼端口
Squid的默认端口是3128,可以从squid.conf更改为任何其他值,如下所示:
保存文件并重新启动鱿鱼服务器。
为 Squid 代理服务器配置客户端
Squid 最好的一点是所有配置都在服务器端本身完成。要配置客户端,您只需在网络浏览器的网络设置中输入squid设置即可。
让我们用 Firefox 网络浏览器做一个简单的代理测试。只需转到菜单 > 首选项 > 网络设置 > 设置。
将打开一个新窗口。在“配置对 Internet 的代理访问”部分中,选择“手动代理配置”。文本框标记为“HTTP Proxy”,而是 Squid 代理服务器的 IP 地址。在标记为端口的文本框中,输入您在squid.conf 文件中的“http_port ”中指定的端口号。
在浏览器的搜索标签中,转到任意网站地址 (www.google.com)。您应该能够浏览该网站。现在返回 Squid 浏览器并通过以下命令停止服务:
通过刷新页面再次检查网站的 url。这次你会看到以下错误:
我们可以用 Squid 做很多事情。它的官方网站上提供了大量文档。在这里您可以了解如何使用第三方应用程序配置 Squid、配置代理身份验证等等。同时,尝试阻止特定网站、IP、更改 Squid 默认端口、部署缓存以加速数据传输。