iptables选项参数
[root@test ~]# iptables --help
-L #列出指定表所有链上的所有规则,本选项须置于-n选项后面
-n #以数字格式显示地址和端口号
-v #详细信息;-vv 更详细
-x #显示计数器结果的精确值(字节),而非单位转换后的易读值
--line-numbers #显示规则创建的先后顺序号
-S #selected,以iptables-save命令格式显示链上规则
-D #删除某条规则
-A #追加规则
-I #插入规则,要指明插入至的规则编号,默认为第一条
-R #替换指定链上的指定规则编号
-F #清空指定的规则链
-Z #清空指定表指定链的计数器;iptables的每条规则都有两个计数器,匹配到的报文的个数及匹配到的所有报文的大小之和
-s #规则的源地址
-d #设置规则的目标地址
-i #报文流入的网卡接口;只能应用于数据报文流入环节,只应用于INPUT、FORWARD、PREROUTING链
-o #报文流出的接口;只能应用于数据报文流出的环节,只应用于FORWARD、OUTPUT、POSTROUTING链
iptables使用帮助
man iptables #查看iptables基本用法的帮助
man iptables-extensions #查看iptables扩展模块用法帮助;此帮助针对centos7,centos6是合并在一起的
iptables基本用法
基本用法格式
iptables [-t table] {-A|-C|-D} chain rule-specification
iptables [-t table] -I chain [rulenum] rule-specification
iptables [-t table] -R chain rulenum rule-specification
iptables [-t table] -D chain rulenum
iptables [-t table] -S [chain [rulenum]]
iptables [-t table] {-F|-L|-Z} [chain [rulenum]] [options...]
iptables [-t table] -N chain
iptables [-t table] -X [chain]
iptables [-t table] -P chain target
iptables [-t table] -E old-chain-name new-chain-name
rule-specification = [matches...] [target]
match = -m matchname [per-match-options]
target = -j targetname [per-target-options]
基本用法示例-filter表-input链
iptables -t filter -A INPUT -s 192.168.39.1 -j DROP
#在filter表的input链上添加规则,报文的源地址为192.168.0.1时,拒绝访问;即当192.168.0.1的报文到达filter表的input链时,拒绝访问;filter表为系统默认表,可以省略不写
iptables -t filter -A INPUT -s 192.168.39.1,192.168.39.11 -j DROP
#可以指定多个IP地址,但是最终每个IP地址会是一条单独的规则
iptables -t filter -A INPUT -s 192.168.39.0/24 -j REJECT
#REJECT与DROP的区别在于,DROP是直接拒绝访问,没有回复报文,而REJECT虽然也是拒绝报文,但是会有回复报文,告知不可达
iptables -vnL #列出filter表中所有链的规则
iptables -t nat -vnL #列出nat表中所有链的规则
iptables -F #清除filter表所有链的规则
iptables -F INPUT #清除filter表input链的规则
iptables -vnL --line-numbers #列出filter表所有链的所有规则,并且打印出规则的顺序编号
iptables -D INPUT 1 #删除filter表input链的编号为1的规则
iptables -I INPUT 2 -s 192.168.39.1 -j ACCEPT #filter表input链插入一条规则,允许192.168.39.1访问,插入成第二条规则;没指定插入规则编号,默认为第一条
iptables -R INPUT 2 -s 192.168.39.0/24 -j ACCEPT #替换filter表input链编号为2的规则
iptables -A INPUT -j REJECT #往filter表input链插入一条规则,拒绝所有人访问本机的所有IP地址
iptables -A INPUT -i lo -j ACCEPT #filter表input链插入一条规则,只要从回环网卡进入的报文全部允许
iptables -P INPUT -j DROP #修改filter表input链默认规则为DROP,即input链规则没有一条匹配,则默认规则为DROP;没修改前默认为ACCEPT
基本用法示例-filter表-output链
iptables -A OUTPUT -j REJECT #filter表output链插入一条规则,拒绝通过output函数出去的所有报文
iptables -A OUTPUT -d 192.168.39.0/24 -j ACCEPT #filter表output链插入一条规则,目标地址为192.168.39.0/24网段的报文,允许通过output链出去;目标地址网段为客户端网段