在 Debian 10 (Buster) 上安装和配置 Squid 代理服务器在 Debian 10 (Buster) 上安装和配置 Squid 代理服务器在 Debian 10 (Buster) 上安装和配置 Squid 代理服务器在 Debian 10 (Buster) 上安装和配置 Squid 代理服务器
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

在 Debian 10 (Buster) 上安装和配置 Squid 代理服务器

发表 admin at 2025年2月28日
类别
  • 未分类
标签

Squid 是最常用的代理服务器之一,用于控制本地网络的互联网访问并保护网络免受非法流量和攻击。它们放置在客户端和互联网之间。来自客户端的所有请求都通过中间代理服务器路由。 Squid 适用于多种服务,例如超文本传输协议 (HTTP)、文件传输协议 (FTP) 和其他网络协议。

除了充当代理服务器之外,Squid 主要用于缓存来自 Web 服务器的经常访问的网页。因此,当用户从 Web 服务器请求页面时,请求首先通过代理服务器检查请求的内容是否可用。这减少了服务器负载和带宽使用,并加快了内容交付速度,从而改善了用户体验。

Squid 还可用于在上网时匿名。通过Squid代理,我们可以访问特定国家的受限内容。

本指南将介绍如何在 Debian 10(Buster) 上安装和配置 Squid 代理服务器。

先决条件:

  1. “sudo”访问将安装 Squid 的系统。

  2. 基于 Debian 的 Linux 终端命令的基本知识。

  3. 使用代理服务器的基本知识。

在 Debian 10(Buster) 上安装鱿鱼的步骤

1) 首先更新 Debian 10(Buster) 上的存储库和软件包

$ sudo apt update

$ sudo apt upgrade -y

2) 现在使用以下命令安装 Squid 包:

$ sudo apt install squid3

安装过程非常简单。它将自动安装任何所需的依赖项。

3) 现在转到位于/etc/squid/squid.conf 的Squid 代理服务器的主配置文件。

$ sudo nano /etc/squid/squid.conf

注意:为了安全,请备份此文件。

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。如果由于某种原因(例如端口号冲突),您可以将端口号更改为其他值,如下所示:

http_port 1256

6) 您还可以使用visible_hostname选项更改Squid代理服务器的主机名。每次修改配置文件时还要重新启动Squid服务。使用以下命令:

$ sudo systemctl restart squid

7)配置Squid ACL

a) 定义规则以仅允许特定 IP 地址进行连接。

转到包含字符串 #acl localnet src 的行并取消注释。如果该行不存在,只需添加一条新行。现在添加您想要允许从 Squid 服务器访问的任何 IP。如下所示:

acl localnet src 192.168.1.4 # IP of your computer

保存文件并重新启动鱿鱼服务器。

b) 定义规则以打开连接端口。

要打开端口,请取消注释“#acl Safe_ports port ”行并添加您要允许的端口号:

acl Safe_ports port 443

保存文件并重新启动鱿鱼服务器。

c) 使用 Squid 代理阻止对特定网站的访问。

要阻止使用 Squid 访问某些网站,请在与squid.conf 相同的位置创建一个名为blocked.acl 的新文件。

现在通过说明以点开头的地址来指定您要阻止的网站:

.youtube.com

.yahoo.com

现在再次打开鱿鱼配置文件并查找“acl Blocked_websites dstdomain”行。在这里添加文件“blocked.acl”的位置,如下所示:

acl blocked_websites dstdomain “/etc/squid/blocked.acl”

另外在下面添加一行:

http_access deny blocked_websites

保存文件并重新启动鱿鱼服务器。

同样,我们可以创建一个新文件来存储允许使用 Squid 代理的客户端的 IP 地址。

$ sudo nano /etc/squid/allowedHosts.txt

现在指定您想要允许的 IP 地址并保存文件。现在在主配置文件中创建一个新的 acl 行,并允许使用 http_access 指令访问 acl。这些步骤如下所示:

acl allowed_ips  src "/etc/squid/allowedHosts.txt"

http_access allow allowedHosts

保存文件并重新启动鱿鱼服务器。

注意:我们还可以在主配置文件中添加允许和拒绝客户端的IP地址,如下所示:

acl myIP1 src 10.0.0.1

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 浏览器并通过以下命令停止服务:

$ sudo systemctl stop squid.service

通过刷新页面再次检查网站的 url。这次你会看到以下错误:

我们可以用 Squid 做很多事情。它的官方网站上提供了大量文档。在这里您可以了解如何使用第三方应用程序配置 Squid、配置代理身份验证等等。同时,尝试阻止特定网站、IP、更改 Squid 默认端口、部署缓存以加速数据传输。

©2015-2025 Norria support@norria.com