在Ubuntu Server上安装和配置Squid

时间:2020-07-27 12:59:24  来源:igfitidea点击:

在本教程中,我们将学习如何在Ubuntu Linux上安装和配置Squid代理和缓存服务器。
术语代理通常与两种不同的术语组合,一个是前向代理,另一个是反向代理。

大多数时候我们谈论代理时,它通常是指转发代理。
正向代理服务器代表客户端工作,并从Internet隐藏客户端IP地址。

反向代理服务器与正向代理服务器完全相反。
反向代理服务器代表服务器工作并保护外部世界的服务器。

今天,我们将使用Squid3在Ubuntu上配置Fairfure代理。

打开命令行并安装Squid3包。

sudo apt-get update
sudo apt-get install squid3

打开/etc/squid/squid.conf文件:

sudo vim /etc/squid/squid.conf

取消注释cache_dir指令以添加磁盘缓存目录:

cache_dir ufs /var/spool/squid 100 16 256

重新启动Ubuntu Squid Server:

systemctl restart squid.service

默认情况下Squid Server侦听TCP端口3128,因此请确保我们在防火墙上允许TCP端口3128.

默认缓存大小为100MB。
要更改缓存大小,请编辑Cache_Dir指令。
以下示例将Squid缓存大小设置为500MB:

cache_dir ufs /var/spool/squid 500 16 256

使用Access Control List(ACL)控制对Ubuntu代理服务器的访问权限(ACL)

我们可以限制用户使用Access Control Lists(ACL)浏览Internet的能力。
默认情况下,Ubuntu squid.conf文件配置了否则将拒绝除本地更好的所有内容的ACL行。
所以现在我们需要设置允许使用Squid的IP地址列表。

以下示例将允许IP地址192.168.1.10通过代理服务器连接到Internet。

在/etc/squid/squid.conf的ACL部分的底部添加以下行(标签:ACL下):

acl allow_clients  src 192.168.1.10

然后,在/etc/squid/squid.conf的http_access部分的顶部添加以下行(在标记:http_access下):

http_access allow allow_clients

最后,重新启动Squid Server:

systemctl restart squid.service

在上面的示例中,我们将IP地址192.168.1.10添加到名为ALVER_CLIERS的ACL组。

然后,我们启用了对vall_clients组的http访问权限。

现在,具有IP地址192.168.1.10的客户端可以通过Ubuntu代理服务器浏览互联网。

我们可以如下添加多个IP到ACL组:

acl allow_clients  src 192.168.1.10/24
acl allow_clients  src 192.168.1.11/24

管理Squid代理服务器

我们可以使用systemctl命令管理Ubuntu上的Squid。
要查看服务器状态,执行:

systemctl status squid

要启动Squid服务,执行:

sudo systemctl start squid

设置Squid Server以启动系统重新启动(默认值):

sudo systemctl enable squid

运行netstat命令以确保Squid正在侦听端口3128:

sudo netstat -tulnp | grep 3128