Squid 是类 Unix 操作系统中最流行的代理服务器。它还用于网页过滤。 Squid 还可用作 HTTP、HTTPS 和 FTP 协议的缓存代理服务器。
本文将帮助您在 Ubuntu 18.10、18.04 LTS、16.04 LTS 和 14.04 LTS 系统上设置 Squid 代理服务器。
第 1 步 – 安装软件包
Squid 包在默认的 yum 存储库中可用。在您的服务器上执行以下命令来安装 SQUID 代理服务器。
sudo apt update
sudo apt install squid
步骤 2 – 配置 Squid 端口
Squid 代理服务器的默认端口是3128。您可以根据要求更改此设置。要在不同端口上设置 Squid,请编辑鱿鱼配置文件并更改http_端口新端口的价值。
/etc/squid/squid.conf
http_port 3128
进行更改后,让我们重新启动 Squid 服务以重新加载配置更改
sudo service squid restart
接下来的步骤将帮助您在 Ubuntu 系统上设置 Squid 代理服务器。仅使用代理服务器所需的这些设置。
步骤 3 – 允许所有流量
有时您需要允许代理服务器上的所有流量。在 Squid 服务器中打开 Squid 配置文件。评论一下http_access 拒绝所有行并添加http_access 允许所有进入这个文件。
/etc/squid/squid.conf
http_access allow all
#http_access deny all
第 4 步 – 使用 Squid 阻止特定网站
让我们从附加配置开始,例如使用鱿鱼代理服务器阻止任何网站。在允许所有规则之前添加以下规则以阻止特定网站。下面的示例将阻止 yahoo.com 和 www.rediff.com。
/etc/squid/squid.conf
acl blocksite1 dstdomain yahoo.com
acl blocksite2 dstdomain www.rediff.com
http_access deny blocksite1
http_access deny blocksite2
如果您有很长的域名列表,请创建一个文件/etc/squid/blockwebsites.lst并将域名每行一个,并在鱿鱼配置文件中添加以下规则。
/etc/squid/squid.conf
acl blocksitelist dstdomain "/etc/squid/blockwebsites.lst"
http_access deny blocksitelist
阻止网站.lst文件内容示例:
cat /etc/squid/blockwebsites.lst
yahoo.com
www.rediff.com
第 5 步 – 使用 Squid 阻止特定关键字
在允许所有规则之前添加以下规则以阻止特定网站。下面的示例将阻止所有具有关键字 yahoo 或 Gmail 的页面。
/etc/squid/squid.conf
acl blockkeyword1 url_regex yahoo
acl blockkeyword2 url_regex gmail
http_access deny blockkeyword1
http_access deny blockkeyword2
如果您有很长的关键字列表,请创建一个文件/etc/squid/blockkeywords.lst每行放置一个关键字,并在鱿鱼配置文件中添加以下规则。
/etc/squid/squid.conf
acl blockkeywordlist url_regex "/etc/squid/blockkeywords.lst"
http_access deny blockkeywordlist
blockkeywords.lst 文件内容示例:
cat /etc/squid/blockkeywords.lst
yahoo
gmail
facebook
恭喜你您已成功安装并配置 Squid 代理服务器。阅读下一篇文章配置 Squid 以进行基于 Mac 地址的过滤.