[ad_1]
乌贼 是一个功能齐全的基于 Linux 的代理应用程序,主要用于过滤流量、安全性和 DNS 查找。 它还用于通过缓存资源来提高 Web 服务器性能。 简单来说,一个 鱿鱼服务器 是一台充当台式计算机和 Internet 之间的中介的计算机,它将入站客户端请求重定向到存储数据的服务器,以便于检索。 它支持多种协议,包括 HTTP、FTP、TLS、SSL、Internet Gopher 和 HTTPS。
本指南说明 如何在 Ubuntu 20.04 上安装和配置 Squid 代理。
如何在 CentOS 7 上安装和配置 Squid 代理
Ubuntu 20.04 服务器上的 Squid 代理服务器
在开始之前,您需要将系统包更新到最新版本。 您可以使用以下命令更新它们:
请注意,对于所有命令,我将以 root 用户身份运行它们!
$ sudo apt-get update $ sudo apt-get upgrade
更新所有软件包后,重新启动系统以应用更改。
要安装 Squid 代理,请运行以下命令。 还可以在系统启动时启动,然后检查状态:
$ sudo apt-get install -y squid $ sudo systemctl start squid $ sudo systemctl enable squid $ sudo systemctl status squid
如果 squid 正确安装并运行,您应该输出如下所示:
在 Ubuntu 20.04 上配置 Squid 代理服务器
鱿鱼配置文件位于 /etc/squid/squid.conf
和 /etc/squid/conf.d/
目录。 让我们编辑 /etc/squid/squid.conf
使用文本编辑器。 备份原始文件,以便我们可以在出现问题时使用 cp命令:
$ sudo cp -v /etc/squid/squid.conf{,.bkp}
现在,在 /etc/squid/squid.conf.
使用您喜欢的文件编辑器打开文件:
$ sudo nano /etc/squid/squid.conf
更改鱿鱼默认端口
这 默认 Squid tcp 端口 是 3128。要改变这个,打开 squid.conf
文件并寻找 http_port 线。 更改为所需的端口号并保存文件。
#http_port 3128 http_port 8080
确保允许端口通过防火墙
$ sudo ufw allow 8080/tcp $ sudo ufw enable
设置 Squid 缓存内存大小
要设置所需的缓存,请使用以下设置。 就我而言,我使用的是 512 MB:
cache_mem 512 MB
指定要使用的 DNS 名称服务器
要定义您自己的 DNS 服务器,请使用如下所示的命令
dns_nameservers 8.8.8.8 8.8.4.4
为 Squid 代理服务器定义 ACL
ACL (访问控制列表) 是定义允许通过代理服务器的内容和拒绝的内容的语句。 每个语句都必须以 acl 开头,后跟规则名称。 名称之后是 acltype,最后是参数或文件。 在使用文件的地方,文件中的每一行必须只包含一项。
acl aclname acltype argument.. acl aclname acltpe “file”…
例子:
通过 Squid 代理服务器允许 LAN 网络
创建 acl 规则
acl my_lan src 192.168.100.0/24
现在根据定义的规则允许或拒绝,使用 http_access 指令。 在我们的例子中,我们需要允许
http_access allow my_lan
请注意,每次创建 ACL 访问规则时的最后一条规则应该是 deny all。 这应该在您允许所有需要的站点时完成,否则您可能会阻止自己访问某些需要的站点。
如何在 Squid 代理服务器中阻止访问特定网站
让我们屏蔽 twitter.com 和 facebook.com:
acl deniedsites dstdomain facebook.com twitter.com http_access deny deniedsites
注意每次修改都必须重启squid server
$ systemctl restart squid
使用关键字阻止 URL
假设任何 url 包含诸如“foo”或“browse.php?u=”之类的关键字,请使用 url_regex acl 阻止它:
acl urlkeywordsblocks url_regex -i "/etc/squid/blocked-urls-keyword.conf" http_access deny urlkeywordsblocks
创建一个名为 /etc/squid/blockd-urls-keyword.conf
如下:
sudo nano /etc/squid/blocked-urls-keyword.conf
附加网址/关键字:
foo browse.php?u=
设置基于 IP 的身份验证
您可以通过多种方式限制客户端访问 Internet。 在本节中,我们将设置 Squid 以根据客户端的 IP 地址进行身份验证。
您可以通过编辑 Squid 默认配置文件来实现:
$ nano /etc/squid/squid.conf
在文件开头添加以下行:
acl client1 src 192.168.100.8 acl client2 src 192.168.100.17 http_access allow client1 client2
Save 和 close 完成后的文件。 然后重新启动 Squid 服务以应用更改:
$ systemctl restart squid
客户 1 和 客户端2 是标识客户端计算机的名称。 192.168.100.8 和 192.168.100.17 是客户端计算机的 IP 地址。
现在,只有配置了 IP 192.168.100.8 和 192.168.100.17 的计算机才能访问 Internet。
设置基于用户的身份验证
您还可以设置 Squid 根据用户和密码进行身份验证。 为此,您需要安装 Apache utils 包在您的系统中。
运行以下命令安装 Apache 实用程序包:
$ sudo apt install apache2-utils -y
安装后,使用以下命令创建第一个用户:
htpasswd /etc/squid/passwd client1
系统会要求您设置密码,如下所示:
New password: Re-type new password:
为用户 client1 添加密码
接下来,使用以下命令创建第二个用户:
$ htpasswd /etc/squid/passwd client2
设置您的密码,如下所示:
New password: Re-type new password: Adding password for user client2
接下来,打开 Squid 默认配置文件:
$ nano /etc/squid/squid.conf
删除您在上一节中添加的前三行,并在文件开头添加以下行:
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/passwd acl ncsa_users proxy_auth REQUIRED http_access allow ncsa_users
Save 和 close 文件。 然后,重新启动 Squid 代理服务以应用更改:
$ sudo systemctl restart squid
现在,您需要提供用户名和密码才能访问互联网。
验证 Squid 代理
接下来,您需要在 Mozilla Web 浏览器中定义您的代理服务器。
转到客户端系统,打开 Mozilla Web 浏览器,然后单击 Edit => Preferences,如下所示:
单击“网络设置”部分,然后单击“设置”。 您应该会看到以下页面:
选择手动代理配置单选按钮,在 HTTP 主机字段中输入您的 Squid 服务器 IP 地址,在端口字段中输入 8080,然后选中对所有协议使用此代理服务器复选框,然后单击确定按钮以保存设置。
现在确认您的 Squid 代理设置有效。 打开 Firefox 浏览器并尝试搜索受限制的站点,例如 youtube.com 以了解我的情况。 您应该会看到一个页面,上面写着“代理服务器拒绝连接”
现在打开另一个不受限制的站点。 系统会提示您进行身份验证,输入用户名和密码后,您应该能够访问该站点。
结论
这是一个分步指南 如何在 Ubuntu 20.04 中安装和配置 Squid 代理服务器. 我希望你喜欢。 请在评论部分分享您的反馈。
[ad_2]