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密码。
方法 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
2. 在 Squid Proxy 上配置网络
配置 Squid 代理的网络将允许您将代理服务器连接到其他机器。 配置文件存放在 etc
和 var
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
现在,您必须重新启动 Squid 服务器以加载更改。
$ sudo systemctl restart squid
默认情况下,Squid 代理服务器不允许本地网络的所有开放端口。 如果您需要在服务器上添加更多开放端口,您可以打开网络配置脚本并添加更多端口。 将 XXX 替换为您的端口。
acl Safe_ports port XXX
进行更改后不要忘记重新启动服务器。
4.授权设置
通过启用身份验证设置,您可以要求用户通过登录到您的服务器来证明他们的授权。 您需要安装 Apache Linux 系统上的实用工具来配置登录批准系统。 运行下面给出的以下命令行来安装 Apache 工具。
$ sudo apt install apache2-utils
安装完成后,您现在可以创建一个脚本来为您的网络分配用户名和密码。 我们正在创建授权脚本,这样您就无需在 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 代理服务器是过滤流量、控制带宽、监控用户活动和 Web 缓存的绝佳工具。 在整篇文章中,我已经描述了 Squid 代理服务器的概念,并说明了 Squid 代理服务器在 Linux 系统上的安装过程。 我还展示了如何配置与 Squid 代理服务器的 HTTP 连接的过程。
如果您觉得这篇文章内容丰富且有帮助,请与您的朋友和 Linux 社区分享。 您也可以在评论部分写下您对这篇文章的看法。