Ubuntu 14 Squid 部署
目录:
Squid是功能齐全的缓存代理,支持流行的网络协议,例如HTTP,HTTPS,FTP等。 它可以通过缓存重复的请求,过滤Web流量和访问受地理限制的内容来提高Web服务器的性能。
在本教程中,我们将说明如何在Debian Buster上设置Squid代理。 我们还将向您展示如何配置Firefox和Google Chrome浏览器以使用它。
在Debian上安装Squid
Squid软件包包含在Debian 10存储库的标准中。 以sudo用户身份运行以下命令以安装Squid:
sudo apt update
sudo apt install squid
安装完成后,Squid服务将自动启动。
通过检查Squid服务的状态,验证安装是否成功并且Squid服务正在运行:
sudo systemctl status squid
● squid.service - LSB: Squid HTTP Proxy version 3.x Loaded: loaded (/etc/init.d/squid; generated) Active: active (running) since Sat 2019-08-03 08:52:47 PDT; 3s ago…
配置鱿鱼
可以通过编辑
/etc/squid/squid.conf
配置文件来配置Squid。 可以使用“ include”指令包含单独的配置文件。
squid.conf
配置文件包含描述每个配置选项功能的注释。
进行任何更改之前,最好备份原始文件:
sudo cp /etc/squid/squid.conf{,.orginal}
要修改配置,请在文本编辑器中打开文件:
sudo nano /etc/squid/squid.conf
默认情况下,Squid侦听所有网络接口上的端口
3128
。
# Squid normally listens to port 3128 http_port IP_ADDR:PORT
对于大多数用户,在所有接口和默认端口上运行Squid应该可以。
访问控制列表(ACL)使您可以控制客户端如何访问Web资源。 默认情况下,Squid仅允许从本地主机访问。
如果将使用代理的所有客户端都具有静态IP地址,最简单的选择是创建将包含允许的IP的ACL。
我们将创建一个新的包含文件来存储IP地址,而不是在主配置文件中添加IP地址:
/etc/squid/allowed_ips.txt
192.168.33.1 # All other allowed IPs
完成后,打开主配置文件并创建一个名为
allowed_ips
的新ACL(第一行突出显示),并允许使用
http_access
指令(第二行突出显示行)访问该ACL:
#… 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服务以使更改生效:
鱿鱼认证
Squid可以使用不同的后端,包括对经过身份验证的用户进行Samba,LDAP和HTTP基本身份验证。
在此示例中,我们将配置Squid以使用基本身份验证。 这是内置在HTTP协议中的简单身份验证方法。
我们将使用
openssl
实用程序来生成密码,并使用
tee
命令将
username:password
对附加到
/etc/squid/htpasswd
文件中,如下所示:
printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd
让我们创建一个名为“ buster”的用户,密码为“
Sz$Zdg69
”:
printf "buster:$(openssl passwd -crypt 'Sz$Zdg69')\n" | sudo tee -a /etc/squid/htpasswd
buster:RrvgO7NxY86VM
下一步是启用HTTP基本身份验证。 打开主配置并添加以下内容:
/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
前三行突出显示的行将创建一个名为
authenticated
的新ACL,最后一行突出显示的行则允许访问经过身份验证的用户。
重新启动Squid服务:
配置防火墙
UFW用户可以通过启用“ Squid”配置文件来打开端口
3128
:
sudo ufw allow 'Squid'
sudo nft add rule inet filter input tcp dport 3128 ct state new, established counter accept
如果Squid在另一个非默认端口上运行,则需要允许该端口上的流量。
配置浏览器以使用代理
在本节中,将向您展示如何配置浏览器以使用Squid代理。
火狐浏览器
对于Windows,macOS和Linux,以下步骤相同。
-
在右上角,单击汉堡包图标
☰打开Firefox的菜单:单击the
⚙ Preferences链接。向下滚动到“
Network Settings部分,然后单击“Settings…按钮。将打开一个新窗口。
- 选择
Manual proxy configuration单选按钮,在HTTP Host字段中输入您的Squid服务器IP地址,在Port字段中输入3128.选择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地址。
结论
我们已经介绍了如何在Debian 10上安装Squid以及配置浏览器以使用它的基础知识。
Squid是最流行的代理缓存服务器之一。 它可以提高Web服务器的速度,并可以帮助您限制用户访问Internet。
代理Debian如何在Debian 9上添加和删除用户
知道如何添加和删除用户是Linux用户应该知道的基本技能之一。 在本教程中,我们将向您展示如何在Debian 9上添加和删除用户。
如何在Debian 9上添加交换空间
交换是物理RAM内存已满时使用的磁盘空间。 本教程概述了在Debian 9系统上添加交换文件所必需的步骤。
如何在Debian 10 Linux上添加交换空间
交换是物理内存量已满时使用的磁盘空间。 本教程将指导您完成在Debian 10 Buster上添加交换文件的步骤。








