iptables常用命令:
iptables -A 将一个规则添加到链末尾
iptables -D 将指定的链中删除规则
iptables -F 将指定的链中删除所有规则
iptables -I 将在指定链的指定编号位置插入一个规则
iptables -L 列出指定链中所有规则
iptables -t nat -L 列出所有NAT链中所有规则
iptables -N 建立用户定义链
iptables -X 删除用户定义链
iptables -P 修改链的默认设置,如将iptables -P INPUT DROP (将INPUT链设置为DROP)
常见设置参数介绍:
--dport 指定目标TCP/IP端口 如 –dport 80
--sport 指定源TCP/IP端口 如 –sport 80
-p tcp 指定协议为tcp
-p icmp 指定协议为ICMP
-p udp 指定协议为UDP
-j DROP 拒绝
-j ACCEPT 允许
-j REJECT 拒绝并向发出消息的计算机发一个消息
-j LOG 在/var/log/messages中登记分组匹配的记录
-m mac –mac 绑定MAC地址
-m limit –limit 1/s 1/m 设置时间策列
-s 10.10.0.0或10.10.0.0/16 指定源地址或地址段
-d 10.10.0.0或10.10.0.0/16 指定目标地址或地址段
-s ! 10.10.0.0 指定源地址以外的
iptables匹配包的状态解释
指定要匹配包的的状态,当前有 4 种状态可用:INVALID,ESTABLISHED,NEW 和 RELATED。
INVALID 意味着这个包没有已知的流或连接与之关联,也可能是它包含的数据或包头有问题。
ESTABLISHED 意思是包是完全有效的,而且属于一个已建立的连接,这个连接的两端都已经有数据发送。
NEW 表示包将要或已经开始建立一个新的连接,或者是这个包和一个还没有在两端都有数据发送的连接有关。
RELATED 说明包正在建立一个新的连接,这个连接是和一个已建立的连接相关的。比如,FTP data transfer,ICMP error 和一个 TCP 或 UDP 连接相关。注意 NEW 状态并不在试图建立新连接的 TCP 包里寻找 SYN 标记,因此它不应该不加修改地用在只有一个防火墙或在不同的防火墙之间没有启用负载平衡的地方。
配置文件位置:
/etc/sysconfig/iptables
iptables服务命令
-- 启动服务
# /etc/init.d/iptables start
# service iptables start
-- 停止服务
# /etc/init.d/iptables stop
# service iptables stop
-- 重启服务
# /etc/init.d/iptables restart
# service iptables restart
-- 保存设置
# /etc/init.d/iptables save
# service iptables save
例子
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
允许外部tcp协议访问端口为3306转台绑定为new