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