如何在 Linux 系统上安装和配置 Squid 代理

Squid 代理服务器是 Linux 发行版的开源代理服务器。 您可以在您的网络上安装 Squid 代理服务器,以通过代理服务器传递您的所有带宽。 现在,您可能会问为什么要使用 Squid 代理服务器? 这是答案,Squid 允许您通过代理服务器连接您的计算机,而无需主动连接互联网。

您还可以启用 DNS 缓存、Web 缓存、内存缓存和其他 Internet 缓存以更快地加载网页。 您可以看到 Squid 代理服务器可以启用缓存,提高服务器的效率,提高网络性能,减少带宽使用,并使您的服务器安全。

Linux 系统上的 Squid

Squid 代理服务器于 1996 年首次发布。它是用 C++ 编程语言编写的,拥有 GNU GPL 隐私许可。 你可以看到 Squid 代理的存储库在这里.

在 Linux 上,您可以在您的机器上安装 Squid 代理服务器,并使用代理设置配置您的网络和 Web 浏览器,以享受代理服务器的好处。 在这篇文章中,我们将了解如何在 Linux 系统上安装和配置 Squid 代理服务器。

1. 在 Debian/Ubuntu Linux 上安装 Squid

在 Ubuntu 和其他 Debian Linux 发行版上安装 Squid 代理是一个简单的过程。 您可以使用 aptitude 包管理器从 Linux 的官方存储库安装 Squid 代理。 在这里,我使用 Ubuntu Linux 来演示 Squid 代理在 Debian Linux 上的安装过程。

使用 root 权限在终端 shell 上运行下面给出的以下 aptitude 命令行,以在系统上安装 Squid 代理。

$ sudo apt update
$ sudo apt -y install squid

– –

安装完成后,您现在可以运行以下系统控制命令来启用和启动系统上的 Squid 守护程序。

$ sudo systemctl start squid
$ sudo systemctl enable squid

2.安装鱿鱼 Fedora 和红帽 Linux

如果您是 Red Hat 或 Fedora Linux 用户,您可以毫不费力地在您的系统上安装 Squid 代理服务器。 作为红帽和 Fedora 两者都支持 YUM 包管理工具,我将使用 YUM 命令工具安装 Squid 代理服务器。

使用 root 权限在终端 shell 上运行下面给出的以下 YUM 命令,以在 Red Hat 上安装 Squid 代理服务器,并 Fedora Linux。

sudo yum install squid

3. 在 Arch Linux 上安装 Squid

如果您是 Arch Linux 用户,您可以使用三种不同的方法在系统上安装 Squid 代理服务器。 在这里,我将展示在 Arch Linux 系统上安装 Squid 代理服务器的 CLI 方法、GUI 方法和 Snap 方法。

方法一:通过命令行在 Arch 上安装 Squid

使用 Pacman 命令在 Arch Linux 上安装 Suid 代理很简单。 您可以在终端 shell 上运行下面给出的以下 Pacman 命令,以在 Arch Linux 上安装和启动 Squid 代理服务器。

在这里,我使用 Manjaro Linux 来演示在 Arch Linux 上安装 Squid 代理的过程,但是 Pacman 命令将适用于所有基于 Arch 的系统。

$ sudo pacman -S squid lsof
$ sudo systemctl enable squid
$ sudo squid -z
$ sudo systemctl start squid

方法二:在 Arch 上下载并安装 Squid

如果您不熟悉在 Arch 系统上安装软件包的 CLI 方法,那么此方法适合您。 你可以 从这里下载 Arch Linux 的 Squid 代理的编译 ZST 包. 下载完成后,打开下载目录并使用默认软件商店打开 ZST 包。 然后单击安装按钮并继续使用您的root密码。

Manjaro 的 squid zst 包

方法 3:通过 Snap 命令在 Arch 上安装 Squid

在这里,我将展示通过 Snap 包管理系统在 Arch 系统上安装 Squid 代理的方法。 首先,您需要在系统上安装 Snap 软件包安装程序守护程序。 运行下面给出的以下命令行,在 Arch Linux 系统上安装 Snapd。

sudo pacman -S snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap

现在,运行以下 Snap 命令在 Arch Linux 上安装 Squid 代理。

sudo snap install squid-gary

在 Linux 上配置 Squid 代理

到目前为止,我们已经看到了几种在各种 Linux 发行版上安装 Squid 代理服务器的方法。 在这一步中,我们将了解如何在系统上配置和开始使用 Squid 代理。 我将在这一步中展示的所有命令行都可以在所有主要的 Linux 发行版上执行。

1.检查鱿鱼状态

Squid 代理安装完成后,您需要检查状态以了解它是否在您的系统上运行。 有时,与配置文件不匹配会导致代理服务器无法运行。 如果出现任何问题,我建议您复制记事本上的默认设置以修复它们。

但是,在终端 shell 上运行以下系统控制命令来检查 Linux 系统上 Squid 代理的状态。 您将在 shell 上看到 PID、任务、内存使用情况和其他信息。

$ sudo systemctl status squid

Ubuntu 上的系统状态 Squid 代理

2. 在 Squid Proxy 上配置网络

配置 Squid 代理的网络将允许您将代理服务器连接到其他机器。 配置文件存放在 etcvar Linux 文件系统的目录。 在这里,我将为您提供一个说明,您可以在哪里找到系统上的配置文件。

找到里面的所有配置设置 etc 目录。

/etc/squid/squid.conf

查找访问和日志信息 var 目录。

/var/log/squid/access.log
/var/log/squid/cache.log

现在,要添加所需的 IP 地址和端口,请在终端 shell 上运行以下命令行。 在这里,我使用的是 Nano 脚本编辑器; 你可以使用你最喜欢的脚本编辑器。 不要忘记以 root 用户身份运行该命令。

$ sudo nano /etc/squid/squid.conf

打开配置脚本后,找到 http_port,然后输入您想要的端口,并取消注释。

http_port 8888 transparent

现在,允许所有 HTTP 网络访问您的服务器。 您还可以通过编辑主机名来显示您的主机名。

http_access allow all
visible_hostname

添加新的开放端口

您现在可以运行以下系统控制命令来重新启动 Linux 系统上的 Squid 服务器。

$ sudo systemctl restart squid

3. 在 Linux 上将 Squid 配置为 HTTP 代理

通过配置 localnet 设置,您可以在 Squid 代理设置中添加您的 IP 地址。 这样,您将只允许您的 IP 地址通过您的服务器。 在终端 shell 上运行以下命令以编辑 localnet 范围。

$ sudo nano /etc/squid/squid.conf

现在,找到 acl localnet 语法并输入您的 IP 地址,不要忘记通过删除哈希 (#) 来取消注释。 然后保存脚本并退出编辑器。

acl localnet src 192.168.0.101

在 Ubuntu 上添加 IP Squid 代理

现在,您必须重新启动 Squid 服务器以加载更改。

$ sudo systemctl restart squid

默认情况下,Squid 代理服务器不允许本地网络的所有开放端口。 如果您需要在服务器上添加更多开放端口,您可以打开网络配置脚本并添加更多端口。 将 XXX 替换为您的端口。

acl Safe_ports port XXX

进行更改后不要忘记重新启动服务器。

4.授权设置

通过启用身份验证设置,您可以要求用户通过登录到您的服务器来证明他们的授权。 您需要安装 Apache Linux 系统上的实用工具来配置登录批准系统。 运行下面给出的以下命令行来安装 Apache 工具。

$ sudo apt install apache2-utils

Squid 的用户名和密码

安装完成后,您现在可以创建一个脚本来为您的网络分配用户名和密码。 我们正在创建授权脚本,这样您就无需在 Squid 代理服务器的网络配置上手动添加登录信息。 创建登录脚本后,您只需在 Squid 配置设置中设置登录文件的路径。

但是,运行以下命令为您的服务器创建用户名和密码。

$ sudo touch /etc/squid/passwd
$ sudo chown proxy: /etc/squid/passwd
$ ls -l /etc/squid/passwd
$ sudo htpasswd /etc/squid/passwd ubuntupit

现在,在终端 shell 上运行以下命令,在 Squid 的配置脚本中添加登录脚本的路径并启用身份验证设置。

$ sudo vim /etc/squid/squid.conf

在 Squid 代理的配置脚本中添加以下参数。 您需要在访问控制列表 (ACL) 设置之后添加以下行。

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users

允许所有用户

然后重新启动您的 Squid 代理服务器。

$ sudo systemctl restart squid

5. 通过 Squid 阻止网站

如果你想在你的代理服务器上阻止一些特定的网站,你可以通过在 Squid 的代理服务器设置中添加脚本来做到这一点。 首先,您需要创建一个文件来存储要阻止的网站的 URL。

您需要在 (.) 点之后添加 URL。 让,我想阻止 Facebook; 在这种情况下,我必须把地址写成 .facebook.com. 在这里,我保存名为 blacklisted_sites.

$ sudo touch /etc/squid/blacklisted_sites.acl

您现在可以在 blacklisted_sites.acl 您要在代理服务器上阻止的文件

.badsite1.com
.badsite2.com

现在,打开 Squid 代理服务器的配置脚本,添加 blacklisted_sites.acl 文件。

$ sudo vim /etc/squid/squid.conf

之后,打开代理服务器的配置脚本,并在 ACL 设置后添加以下行。

acl bad_urls dstdomain "/etc/squid/blacklisted_sites.acl"
http_access deny bad_urls

然后重新启动 Linux 系统上的 Squid 代理服务器。

$ sudo systemctl restart squid

6. 为客户端设置浏览器

这是您可以配置客户端以访问 Squid 代理服务器的步骤。 您需要打开网络浏览器并找到网络设置来设置配置。 在这里,我正在使用 Firefox 网络浏览器,您也可以使用任何其他浏览器。 通常,可以在 Web 浏览器的“首选项”设置中找到连接设置。

打开连接设置后,您需要启用 HTTP 代理并将代理服务器的 IP 地址放入 HTTPS 代理和 FTP 代理设置中。 在无代理设置上,您可以输入您的本地主机地址。

如果您不记得代理服务器的 IP 地址,可以通过在终端 shell 上运行以下 IP 地址命令来检查它。

ip address

浏览器设置 Squid 的用户名和密码

最后的话

Squid 代理服务器是过滤流量、控制带宽、监控用户活动和 Web 缓存的绝佳工具。 在整篇文章中,我已经描述了 Squid 代理服务器的概念,并说明了 Squid 代理服务器在 Linux 系统上的安装过程。 我还展示了如何配置与 Squid 代理服务器的 HTTP 连接的过程。

如果您觉得这篇文章内容丰富且有帮助,请与您的朋友和 Linux 社区分享。 您也可以在评论部分写下您对这篇文章的看法。