APF是Linux环境下出色的软件防火墙,它使用iptables的规则,简化了iptables的设置.搭配DOS deflate脚本可有效减轻攻击带来的伤害.前段时间写过一篇howto的日志,有朋友安装后发现某些应用无法实施.比较抱歉的是那篇日志中我没有说的太清楚.这里我以设置pptpd VPN为例.说明一下添加某些特别应用的过滤规则.
pptpd的运行环境
pptpd安装在实体服务器或者xen-based的VPS上.需要在主机(单位node)上开启tcp:1723端口和GRE协议(协议名为47,用于验证用户名),同时需要使用iptables进行SNAT转发.用户进来之后将使用虚拟网卡.
首先开放tcp端口,编辑/etc/apf/conf.apf文件.找到IG_TCP_CPORTS,添加1723和47端口.如下:

添加iptables规则:编辑/etc/apf/main.rules,在最下面添加一段自定义的规则.以内网192.168.9.0/24段为例.
# PPTPD
/sbin/iptables -A INPUT -p gre -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.9.0/24 -j MASQUERADE

重启apf后,查看iptables是否生效.如下图.iptables的DNAT转发已生效.

后话
大部分网络应用都依靠端口或者转发操作实施的.假定需要为特定程序添加过滤规则,就先要明白程序需要开放哪些端口,不需要开放哪些端口,或者有没有转发操作等.只有了解这些基本特性并充分利用好,才能让这些程序更好的服务于我们需要的应用领域.
[ 本帖最后由 诡谲 于 2010-4-19 15:36 编辑 ] |