Squid 配置问题(已尝试过几种方法)

Squid 配置问题(已尝试过几种方法)

我正在尝试在位于普通数据中心的红帽机器上设置一个 squid 代理服务器,以便通过该代理发送我的所有流量。

我已经将 squid 配置为允许每个请求(当然只是为了测试:)),这是我的小配置:

debug_options ALL,1 33,2 28,9

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl CONNECT method CONNECT

http_access allow all

icp_access allow all

http_port 3128

hierarchy_stoplist cgi-bin ?
access_log /var/log/squid/access.log squid

acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY

refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern .               0       20%     4320

acl apache rep_header Server ^Apache
broken_vary_encoding allow apache

问题是,当我将服务器的 IP 和 squid 端口 3128 输入到 Firefox 中时,出现超时...

如您所见,我在调试模式下运行 squid,但 cache.log 和 access.log 文件都没有显示任何请求。我以为 acl 是问题所在,但如果是这样,应该有一个限制访问的条目,对吗?

我还尝试了 squidclient,它运行起来非常好。所以我猜问题出在,由于某种原因,我无法连接到服务器...

答案1

经过一些额外的检查,很明显你的 iptables 防火墙阻止了来自主机的连接。根据 RedHat 文档添加规则以允许 SQUID 流量:http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Security_Guide/sect-Security_Guide-Firewalls-Basic_Firewall_Configuration.html

规则本身应该是这样的:

-A INPUT -s <your.internal.network>/<netmask> -p tcp -m tcp --dport 3128 -j ACCEPT
-A OUTPUT -d <your.internal.network>/<netmask> -p tcp -m tcp --sport 3128 -j ACCEPT

仅当输出流量也经过过滤时才需要最后一条规则(我没有 RHEL 框来检查默认设置)。设置仅从内部网络访问对于安全性也非常重要。或者您可以将 squid 配置为仅监听内部的界面

http_port your.internal.ip.address:3128

相关内容