在虚拟机上新安装的 Red Hat Enterprise 4 . 配置好squid 后 启动,提示启动失败。
更改了 squid.conf 文件的监听端口,修改为
http_port 81
服务启动顺利。使用 netstat -n -n -l 查看80端口并没有被其它程序占用,也没有处于监听状态。
后来在另外一个虚拟机上重新安装系统,发现在图形安装界面下其中有一步骤是选择是否启动 selinux。
我这里上次安装选择了激活,这次我选择了禁用,结果squid在80端口启动正常。
修改/etc/selinux/config文件中的SELINUX="" 为 disabled
修改 http_port 80 ,启动squid,一切正常!
原因就是 selinux 对于 80 端口的使用有严格的策略,即使 root用户 使用特殊端口也需要有相应的权限,修改策略也可以解决此问题,不过操作比较麻烦,还不了解,有待进一步研究。
SELinux(Security-Enhanced Linux)介绍