wiki:iptablesnotes

Wiki: Iptables Notes

2006/3/28

在freebsd下的包过滤工具是ipfw,而linux下的包过滤工具是iptables

iptables介绍

使用iptables

要使用iptables需要在内核中加入iptables支持

CONFIG_NETFILTER=y

插入connection-tracking模块,(如果内建在内核中就不需要)

# insmod ip_conntrack

# insmod ip_conntrack_ftp

iptables工作原理

iptables防火墙是由很多链构成的,内置的链是INPUT,FORWARD和OUTPUT三个,一个网络包 到达下图的圈子中,就开始被iptables检查、处理:

_____

Incoming / \ Outgoing

-->[Routing ]--->|FORWARD|------->

[Decision] \_____/ ^

| |

v ____

___ / \

/ \ |OUTPUT|

|INPUT| \____/

\___/ ^

| |

----> Local Process ----

创建新链

# 对创建大量新的连接创建一个链,除非这些连接来自内部。

# iptables -N block

# iptables -A block -m state --state ESTABLISHED,RELATED -j ACCEPT

# iptables -A block -m state --state NEW -i ! ppp0 -j ACCEPT

# iptables -A block -j DROP

# 由INPUT和FORWARD链跳往(刚刚创建的)那条链。

# iptables -A INPUT -j block

# iptables -A FORWARD -j block