深入理解 iptables 防火墙策略配置与测试
1. iptables 链规则配置
1.1 规则概述
iptables 规则主要分为 INPUT、OUTPUT 和 FORWARD 三个链,分别对不同类型的网络数据包进行控制。对于未被 INPUT 链规则接受的数据包,将按照该链的 DROP 策略丢弃,OUTPUT 和 FORWARD 链同理。
1.2 OUTPUT 链规则
OUTPUT 链用于对本地系统生成的网络数据包进行内核级控制。以下是构建 OUTPUT 链规则集的命令:
###### OUTPUT chain ######
echo "[+] Setting up OUTPUT chain..."
### state tracking rules
$IPTABLES -A OUTPUT -m state --state INVALID -j LOG --log-prefix "DROP INVALID " --log-ip-options --log-tcp-options
$IPTABLES -A OUTPUT -m state --state INVALID -j DROP
$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
### ACCEPT rules for allowing connections out
$IPTABLES -A OUTPUT -p tcp --dport 21 --syn -m state --state NEW -j ACCEPT
$IPTABLES -