iptables的使用格式;
iptables -L -n -v --line-numbers 显示规则序列号,如果需要删除规则的话,只需删除编号即可
iptables -t filter -L -n 显示当前默认规则链
[root@www ~]# iptables -t filter -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
iptables[-t table ]-N chain 创建一条自定义规则链
示例;iptables -N test
说明:[-t table ] 是指表的意思,这个在创建新的规则的时候可以不用指,如果指了就表示创建的新规则链只能在 table这张表里的某些规则被引用或跳转
iptables [-t table ] -X 删除自定义的规则链
示例;iptables -X test
iptables [ -t table ] -E 旧自定义链名 新定定义链名
示例;iptables -E test newtest
iptables [ -t table ] -P chain target 为链指定默认策略,指定默认规则
示例;把系统当前默认链 Chain FORWARD (policy ACCEPT) 修改为DROP
iptables -P FORWARD DROP
iptables [-t table] {-F|-L|-Z} [chain [rulenum]] [options...]
[root@www ~]# iptables -t filter -L -n -v
Chain INPUT (policy ACCEPT 774 packets, 105K bytes) 进站默认允许
pkts bytes target prot opt in out source destination
Chain FORWARD (policy DROP 0 packets, 0 bytes) 转发 默认拒绝
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 65 packets, 5404 bytes) 出站默认允许
pkts bytes target prot opt in out source destination
-F: 清空链中的规则
规则有编号,在链中自上而下,从1开始;
-L: list,列出表中的所有规则;
-n: 数字格式显示IP和Port
-v: 以详细格式显示
[root@www ~]#iptables -L -n -a --line-numbers
pkts bytes target prot opt in out source destination
pkts: packets, 被本规则所匹配到的报文的个数;
bytes: 被本规则所匹配到的所有报文的大小之和,会执行单位换算;
target: 目标,即处理机制;
prot: 协议,一般为{TCP|UDP|ICMP};
opt: 可选项
in: 数据包的流入接口;
out: 数据包的流出接口;
source: 源地址;
destination: 目标地址;
ptables [-t table] {-A|-D} chain rule-specification
-A: append, 附加一条规则
rule-specification
匹配条件 -j 处理机制
匹配条件:实例演示
注意:iptables是从上往依次匹配的,如果事先打开了某个端口服务,而后又想关闭的话,需要把写的关闭规则写到开启的前面
-s:匹配原地址,可以IP,也可以网络地址;可以使用!操作符取反, ! 172.16.0.0/16; -s 相当于 --src, 或 --source
d : 匹配目标地址
示例;iptables -t filter -A INPUT -s 172.16.0.0/16 -d 172.16.34.30 -j ACCEPT
iptables -t filter -A OUTPUT -s 172.16.34.30 -d 172.16.0.0/16 -j ACCEPT
-p : 匹配协议,通常只使用{TCP|UDP|ICMP}三者之一;
iptables -A INPUT -i eth1 -d 172.16.34.30 -p icmp -j REJECT
-i :数据报文流入的接口;通常只用于INPUT、FORWARD和PREROUTING
-o:流出的接口;通常只用于OUTPUT、FORWARD和POSTROUTING
iptables -A INPUT -i eth1 -d 172.16.100.7 -j ACCEPT
iptables -A OUTPUT -o eth1 -s 172.16.34.30 -j ACCEPT
扩展匹配;隐含扩展;使用-p{tcp|udp|icmp}指定某特定协议后,自动能够对协议进行的扩展;
-p tcp
--dport ;匹配的目标端口,可以是连续的多个端口;
--sport; 匹配的源端口,也要是是连续的多个端口;