在Ubuntu Server上安装和配置Squid
在本教程中,我们将学习如何在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