如何在Ubuntu 20.04上安装和配置Squid代理
admin
2023-08-03 05:27:25
0

featured_hu51832c77e0f0dd1a9d92c686601833e4_37751_768x0_resize_q75_lanczosfeatured_hu51832c77e0f0dd1a9d92c686601833e4_37751_768x0_resize_q75_lanczos

Squid是功能齐全的缓存代理,支持流行的网络协议,例如HTTP,HTTPS,FTP等。它可以通过缓存重复的请求,过滤Web流量以及访问受地理限制的内容来提高Web服务器的性能。

本教程说明了如何在Ubuntu 20.04上设置Squid代理以及如何配置Firefox和Google Chrome浏览器以使用它。

在Ubuntu上安装Squid

squid软件包包含在标准的Ubuntu 20.04存储库中。要安装它,请以sudo用户身份运行以下命令:

sudo apt update
sudo apt install squid

安装完成后,Squid服务将自动启动。要进行验证,请检查服务状态:

sudo systemctl status squid

输出将如下所示:

● squid.service - Squid Web Proxy Server
     Loaded: loaded (/lib/systemd/system/squid.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2020-10-23 19:02:43 UTC; 14s ago
       Docs: man:squid(8)
...

配置鱿鱼

可以通过编辑/etc/squid/squid.conf文件来配置鱿鱼服务。配置文件包含描述每个配置选项功能的注释。您还可以将配置设置放在单独的文件中,使用“ include”指令可以将其包含在主配置文件中。

 

进行任何更改之前,建议备份原始配置文件:

sudo cp /etc/squid/squid.conf{,.orginal}

要开始配置鱿鱼实例,请在文本编辑器中打开文件:

sudo nano /etc/squid/squid.conf

默认情况下,squid设置为侦听3128服务器上所有网络接口上的端口。

如果要更改端口并设置侦听接口,请找到以开头的行,http_port并指定接口IP地址和新端口。如果没有指定接口,Squid将监听所有接口。

/etc/squid/squid.conf

# Squid normally listens to port 3128
http_port IP_ADDR:PORT

对于大多数用户,在所有接口和默认端口上运行Squid应该可以。

Squid允许您控制客户端如何使用访问控制列表(ACL)访问Web资源。默认情况下,仅允许从本地主机访问。

如果所有使用代理的客户端都具有静态IP地址,则限制访问代理服务器的最简单选择是创建一个ACL,其中将包括允许的IP。否则,您可以将squid设置为使用身份验证。

与其在主配置文件中添加IP地址,不如创建一个新的专用文件来保存允许的IP:

/etc/squid/allowed_ips.txt

192.168.33.1
# All other allowed IPs

完成后,打开主配置文件并创建一个名为allowed_ips(第一行突出显示的行)的新ACL,并允许使用http_access指令(第二行突出显示的行)访问该ACL :

/etc/squid/squid.conf

# ...
acl allowed_ips src \"/etc/squid/allowed_ips.txt\"
# ...
#http_access allow localnet
http_access allow localhost
http_access allow allowed_ips
# And finally deny all other access to this proxy
http_access deny all

http_access规则的顺序很重要。确保在之前添加行http_access deny all。

 

该http_access指令的工作方式与防火墙规则类似。Squid从上到下读取规则,当规则匹配时,以下规则将不被处理。

每当您对配置文件进行更改时,都需要重新启动Squid服务以使更改生效:

sudo systemctl restart squid

鱿鱼认证

如果基于IP的访问限制不适用于您的用例,则可以将squid配置为使用后端对用户进行身份验证。Squid支持Samba,LDAP和HTTP基本身份验证。

在本教程中,我们将使用基本身份验证。这是内置在HTTP协议中的简单身份验证方法。

要生成加密的密码,请使用该openssl工具。以下命令将对添加USERNAME:PASSWORD到/etc/squid/htpasswd文件:

printf \"USERNAME:$(openssl passwd -crypt PASSWORD)\\n\" | sudo tee -a /etc/squid/htpasswd

例如,要创建一个密码为“ P@ssvv0rT”的用户“ josh ”,可以运行:

printf \"josh:$(openssl passwd -crypt \'P@ssvv0rd\')\\n\" | sudo tee -a /etc/squid/htpasswd
josh:QMxVjdyPchJl6

下一步是启用HTTP基本身份验证,并将包含用户凭据的文件包含到squid配置文件中。

打开主配置并添加以下内容:

sudo nano /etc/squid/squid.conf

/etc/squid/squid.conf

# ...
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/htpasswd
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
# ...
#http_access allow localnet
http_access allow localhost
http_access allow authenticated
# And finally deny all other access to this proxy
http_access deny all

前三个突出显示的行创建一个名为的新ACL authenticated,最后一个突出显示的行允许访问经过身份验证的用户。

重新启动Squid服务:

sudo systemctl restart squid

配置防火墙

要打开鱿鱼端口,请启用UFW“鱿鱼”配置文件:

sudo ufw allow \'Squid\'

例如,如果Squid在另一个非默认端口上运行,则8888可以使用以下命令允许该端口上的流量sudo ufw allow 8888/tcp。

配置浏览器以使用代理

现在已经设置了Squid,最后一步是配置您喜欢的浏览器以使用它。

火狐浏览器

对于Windows,macOS和Linux,以下步骤相同。

  1. 在右上角,单击汉堡包图标☰以打开Firefox的菜单:
  2. 点击⚙ Preferences链接。
  3. 向下滚动到该Network Settings部分,然后单击Settings…按钮。
  4. 将打开一个新窗口。选择Manual proxy configuration单选按钮。在输入您的Squid服务器的IP地址HTTP Host字段3128的Port字段。选择Use this proxy server for all protocols复选框。单击OK按钮保存设置。

至此,您的Firefox已配置完毕,您可以通过Squid代理浏览Internet。要进行验证,请打开google.com,键入“ what is my ip”,您应该会看到您的Squid服务器IP地址。

要恢复为默认设置,请转到Network Settings,选择Use system proxy settings单选按钮并保存设置。

有几个插件还可以帮助您配置Firefox的代理设置,例如FoxyProxy。

谷歌浏览器

Google Chrome使用默认的系统代理设置。您可以使用SwitchyOmega之类的插件,也可以从命令行启动Chrome网络浏览器,而无需更改操作系统代理设置。

要使用新的配置文件启动Chrome并连接到Squid服务器,请使用以下命令:

Linux:

/usr/bin/google-chrome \\
    --user-data-dir=\"$HOME/proxy-profile\" \\
    --proxy-server=\"http://SQUID_IP:3128\"

苹果系统 :

\"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome\" \\
    --user-data-dir=\"$HOME/proxy-profile\" \\
    --proxy-server=\"http://SQUID_IP:3128\"

Windows:

\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\" ^
    --user-data-dir=\"%USERPROFILE%\\proxy-profile\" ^
    --proxy-server=\"http://SQUID_IP:3128\"

如果配置文件不存在,将自动创建。这样,您可以同时运行多个Chrome实例。

要确认代理服务器正常工作,请打开google.com,然后输入“ what is my ip”。浏览器中显示的IP应该是服务器的IP地址。

结论

Squid是最流行的代理缓存服务器之一。它可以提高Web服务器的速度,并可以帮助您限制用户访问Internet。

 

相关内容

热门资讯

Windows 11 和 10... Windows 11/10 文件夹属性中缺少共享选项卡 – 已修复 1.检查共享选项卡是否可用 右键...
Radmin VPN Wind... Radmin VPN 是一款免费且用户友好的软件,旨在牢固地连接计算机以创建一个有凝聚力的虚拟专用网...
事件 ID 7034:如何通过... 点击进入:ChatGPT工具插件导航大全 服务控制管理器 (SCM) 负责管理系统上运行的服务的活动...
如何修复 Steam 内容文件... Steam 内容文件锁定是当您的 Steam 文件无法自行更新时出现的错误。解决此问题的最有效方法之...
Hive OS LOLMine... 目前不清退的交易所推荐: 1、全球第二大交易所OKX欧意 国区邀请链接: https://www.m...
如何在电报Telegram中隐... 点击进入:ChatGPT工具插件导航大全 在Android上的电报中隐藏您的电话号码 您可以通过切换...
在 Windows 11 中打... 什么是链路状态电源管理? 您可以在系统控制面板的电源选项中看到链接状态电源管理。它是 PCI Exp...
Hive OS 部署 PXE ... 目前不清退的交易所推荐: 1、全球第二大交易所OKX欧意 国区邀请链接: https://www.m...
在 iCloud 上关闭“查找... 如果您是 Apple 的长期用户,您肯定会遇到过 Find My 应用程序,它本机安装在 iPhon...
如何在 iPhone 14 P... Apple 的 iPhone 14 Pro 是第一款配备 48MP 传感器的 iPhone。所有以前...