NetFilter/iptables防火墙设置(上)
2007-02-23 12:39:38 来源:WEB开发网核心提示: 以上是设置了过滤器表中的三个链丢弃所有包的策略,需要注意的是该表没有被指定,NetFilter/iptables防火墙设置(上)(3),在没有特别指定的情况下,iptables默认值为过滤器表,匹配的数据包被路由器接受,而“相关”会话状态则是在那种有与允许的出站会话
以上是设置了过滤器表中的三个链丢弃所有包的策略。需要注意的是该表没有被指定。在没有特别指定的情况下,iptables默认值为过滤器表。
Next we want to remove any existing rules from the tables:
接下来我们要除去表中所有现有的规则:
iptables -F -t nat
iptables -F -t mangle
iptables -F -t filter
iptables -X
前三句依次去掉所有nat,mangle以及filter表中的规则。最后一句去掉所有用户定义的链。路由
我将要构造的防火墙,还将是一个能够转发数据的路由器。Linux上的IP堆栈可以如路由器一般动作,并且开能够很简单地激活:
echo 1 > /proc/sys/net/ipv4/ip_forward
转发规则
既然我们要把主机当服务器用,我们就得从转发规则开始。我们信任内网,因此允许所有从内网发送的数据流:
iptables -A FORWARD -i $IF_PRV -o $IF_PUB -j ACCEPT
以上语句同意转发内网接口的入站数据流以及公网接口出站数据流。但是这还不够。过滤是根据每个包来执行的。我们需要允许从公网接口回到内网的数据传输。但是不能允许所有的传输。Netfilter能够感知会话,因此我们可以规定让它允许已有会话的传输:iptables -A FORWARD -i $IF_PUB -o $IF_PRV -m state --state
ESTABLISHED,RELATED -j ACCEPT
本句规定了过滤表转发链的规则。该规则应用于内网接口的入站数据流以及公网接口出站数据流。该规则加载NetFilter“state”模块并且限制对已经建立的会话以及相关会话状态的中的数据包的操作规则。匹配的数据包被路由器接受。而“相关”会话状态则是在那种有与允许的出站会话相关联的次级通道情况下使用的,比如ftp会话的数据连接。可信赖的防火墙
更多精彩
赞助商链接