如何在 Debian 上安装 Squid 代理?

在本教程中,我们将学习如何在 Debian 上安装 Squid 代理。

在开始安装过程之前,我们应该了解什么是代理、代理服务器等。 让我们了解基本术语。

什么是 Squid 代理?

代理是一个中间单元,它在隐藏源身份的同时将信息转发到源和从源到目标。 现在,什么是 Squid 代理缓存服务器? 它是一个开源实用程序,可让您设置 HTTP 中继并将您的 Web 服务器转换为 Web 代理。 通过内置缓存,Squid 代理缓存服务器还允许您通过缓存用户的重复请求来优化使用带宽。

有关更多详细信息,请查看 Squid 官方文档。

让我们了解如何在 Debian 上安装 squid 代理。

更新存储库

第一步是更新存储库。 在安装任何新软件包之前,请务必记住更新已安装的软件包。 安装的软件包应该是最新版本。 用户将首先更新软件包,然后再升级它们。

更新软件包意味着下载可用软件包列表及其在系统中的版本,而升级意味着安装最新版本的可用软件包。 使用 apt 命令来做。 检查 apt 和 apt-get 命令之间的区别。 让我们看看下面的命令:

sudo apt update && apt upgrade 

在 Debian 上安装 Squid 代理

下一步是使用 apt install 命令在 Debian 上安装 Squid 代理。 为此,请在终端上键入以下内容,

sudo apt install squid 
安装鱿鱼

系统将提示您确认安装软件包。 用 Y 响应它以继续安装过程。 您已成功安装该软件包。

基本配置

一旦我们在 Debian 上安装了 Squid 代理,就需要设置一些基本配置。

用户必须根据鱿鱼的版本在位于 /etc/squid3 或 /etc/squid 的 squid.conf 文件中进行更改。

在这里,我们必须将 http_access 的状态从拒绝全部更改为允许。 默认情况下,Squid 代理服务器不允许访问任何站点。 您可以使用 nano 编辑器或 vi 编辑器。 我们正在使用 vi 编辑器。 让我们看看下面的命令:

vi /etc/squid3/squid.conf OR vi /etc/squid/squid.conf 
搜索 Http 访问

您可能希望在 vi 编辑器上搜索文件中的特定行。 为此,请按 Esc 键,然后按“?” 以及要搜索的关键字。 如上图所示,我们使用了 ?http_access 拒绝所有,即它将在文件中搜索此关键字。 将状态从拒绝全部设置为允许。 Save 并使用“:wq”退出更改。

如果您使用的是 nano 编辑器,请使用 Ctrl + O 以保存更改。

下一步是找到visible_hostname。 使用上述步骤搜索此关键字,并设置您想要的名称。

阻止特定网站

如果用户想要阻止特定网站怎么办。 这不是必需的步骤,而是额外的配置。

我们还将在下一节中学习如何屏蔽特定关键字。 有两种方法可以这样做,要么在配置文件中添加域列表,要么创建一个单独的文件,然后添加域名并在 squid.conf 文件中提及文件名。 让我们尝试第一种方法。

在 squid.conf 文件中的任何允许所有规则之前添加以下块。 让我们看看下面的命令:

vi /etc/squid3/squid.conf Or  vi /etc/squid/squid.conf 

使用 nano 编辑器或 vi 编辑器。 在文件中添加以下代码。

acl blocksite1 dstdomain yahoo.com acl blocksite2 dstdomain www.rediff.com http_access deny blocksite1 http_access deny blocksite2 

特定站点将被阻止。 另一种方法是在 /etc/squid/ 目录中创建一个名为 blockwebsites.lst 的文件并添加域列表。

当您有很长的域列表时,此方法很有用。 使用 touch 命令创建文件并添加域列表。 此外,在squid.conf 文件中添加文件名。 让我们看看下面的命令:

touch /etc/squid/blockwebsites.lst sudo nano /etc/squid/blockwebsites.lst vi /etc/squid/squid.conf 

在 squid.conf 文件中,添加以下代码:

acl blocksitelist dstdomain "/etc/squid/blockwebsites.lst" http_access deny blocksitelist 
阻止网站 1阻止网站

用户还可以使用 cat 命令检查域名。 为此,请在终端中键入以下内容:

cat /etc/squid/blockwebsites.lst 
Cat BlockwebistesCat Blockwebistes

通过squid屏蔽特定关键字

之前我们学习了如何通过squid来屏蔽特定站点。 在这里,我们会用squid来屏蔽一些关键字。 该过程将与我们之前所做的相同。 如上所述,有两种方法。 让我们讨论第一种阻止特定关键字的方法。

我们将在 /etc/squid 目录下的 squid.conf 文件中添加代码块。 为此,请在终端中键入以下内容:

vi /etc/squid3/squid.conf Or  vi /etc/squid/squid.conf 

添加下面给出的以下代码:

acl blockkeyword1 url_regex yahoo acl blockkeyword2 url_regex gmail http_access deny blockkeyword1 http_access deny blockkeyword2 

另一种方法是创建文件并添加关键字列表。 在 /etc/squid 目录中创建名为 blockkeywords.lst 的文件。 文件名将在squid.conf 文件中提及。 让我们看看下面的命令:

touch /etc/squid/blockkeywords.lst sudo nano /etc/squid/blockkeywords.lst vi /etc/squid/squid.conf 

添加以下代码:

acl blockkeywordlist url_regex "/etc/squid/blockkeywords.lst" http_access deny blockkeywordlist 
添加块关键字添加块关键字

用户还可以使用 cat 命令查看文件的内容。 让我们看看下面的命令:

cat /etc/squid/blockkeywords.lst 
猫块关键字列出内容

客户端配置

最后一步是找出客户端配置。 如果您使用的是 firefox, 转到编辑菜单,选择首选项。

  • 选择高级 > 网络 >> 设置。
  • 将出现一个对话框。
  • 选择手动代理配置。
  • 提及服务器的 IP 地址和端口。
  • Squid Proxy 的默认端口是 3128。

看看下面的图片:

客户端配置 1客户端配置 1

你完成了!

结论

而已。 我们已经学习了如何在 Debian 上安装 Squid Proxy 并将我们的系统转换为 Web 代理。 我们已经学会了如何进行必要的配置。 如果您遇到任何问题,请在评论部分告诉我们。