怎样在 linux 代理服务上设置防火墙 怎样在 linux 代理服务上设置防火墙 一般而言,实现 Linux 的防火墙功能有两种策略。一种是首先全面禁止全部的输入、输出和转发数据包,然后根据用户的具体需要逐步打开各项服务功能。这种方式的特点是安全性很高,但必需全面考虑用户所需的各项服务功能,不能有任何遗漏,要求系统管理员清楚地知道实现某种服务和功能需要打开哪些服务和端口。第二种方式是首先默认打开全部的输入、输出数据包,然后禁止某些危险包、IP 欺骗包、广播包、ICMP 服务类型攻击等;对于应用层的服务,像http、sendmail、pop3、ftp 等,可以有选择地启动或安装。这种方式虽然没有第一种方式安全,但比较简洁配置,不需要过多地了解ipchains 指令的详情就可以配置一个基本的防火墙系统。 我所管理的代理服务器是 IBM 的 Netfinity3000,安装了 RedHat Linux 6.2、squid-2.3,有两块网卡,外部网卡为eth0(211.98.126.180),内部网卡为 eth1 (192.168.0.1),客户机的IP 地址是 192.168.0.xxx。依据第二种方法设置了一个防火墙,具体过程如下: 安装完系统之后,以 root 的身份登录,在/etc/rc.d/名目下用 vi创建一个脚本叫 firewall.rules;创建完成后,执行指令 chmod 755 firewall.rules,确保其为可执行文件;然后用 vi 打开/etc/rc.d/rc.local 文件,加入一行/etc/rc.d/firewall.rules,确保机器每次启动即可执行所设定的.各项防火墙规则。 firewall.rules 文件的内容略。 假如你的机器只有一块网卡,通过 Modem 拨号上网,那么连接内部网络的网卡应当是 eth0,IP 地址可能是 192.168.0.1,外部接口就是 ppp0,你只须将 firewall.rules 文件内容中的 eth0 改为 ppp0 即可。设置了以上防火墙规则之后,你可以在/etc/inetd.conf 中禁止全部不需要的服务,只保存 ftp 和 telnet;同时设置/etc/hosts.allow 和/etc/hosts.deny,仅允许内部某些管理用户登录到该防火墙。以上方法在笔者所在的环境中胜利运行,并解决了 outlook express 收发邮件的问题。