【2】iptables理解 - 总体印象

基础语法:

iptables --help
iptables v1.4.7
Usage: iptables -[AD] chain rule-specification [options]
       iptables -I chain [rulenum] rule-specification [options]
       iptables -R chain rulenum rule-specification [options]
       iptables -D chain rulenum [options]
       iptables -[LS] [chain [rulenum]] [options]
       iptables -[FZ] [chain] [options]
       iptables -[NX] chain
       iptables -E old-chain-name new-chain-name
       iptables -P chain target [options]
       iptables -h (print this help information)


iptables [-t] [表名(小写)] [-ADI] [链名(大写)] [rule]


查看规则

iptables -t filter -L -n --line-number


添加规则

iptables -t filter -A INPUT -s 192.168.198.1 -j ACCEPT  

iptables -t filter -I INPUT 2 -s 10.1.1.2 -j ACCEPT

-I INPUT 2 :表示把这条规则添加到规则号的2的位置后面,即这条规则会在第二条规则后面添加。

-A : 默认会在最后一条规则添加规则

-I : 默认会把规则插入到所有规则前面


删除规则 ,把第input链中的第一条规则删除:

iptables -t filter -D INPUT 1


清除规则

iptables -F 清除所有已定的规则

iptables -X 清除所有自定义的链

iptables -Z 清除chain的计数与流量统计归零


保存规则,把规则保存到/etc/sysconfig/iptables文件

/etc/init.d/iptables save  

iptables: Saving firewall rules to /etc/sysconfig/iptables: [  OK  ]


iptables结构:

表   -  链  -  规则

               1 rule

               2 rule

               3 rule

               ...

规则存放在链中。

规则执行顺序:从上到下。当数据包匹配到规则后,会跳过其它规则。



例如:不允许192.168.198.1主机访问iptables主机的22端口,但允许192.168.198.0/24网段其它主机访问22端口。(环境拓扑图,在上一篇博文中)


规则设计:

1、禁止192.168.198.1 访问 iptables 22端口

2、允许192.168.198.0/24 其它主机访问 iptables 22端口

执行过程:

当192.168.198.1的主机访问iptables22端口时,进入到INPUT链中,顺序检测规则,发现第一条规则是禁止这个ip访问22端口,那么匹配成功,此时已把这个数据包丢弃,不会再向下检查允许192.168.198.0/24这个网段允许访问22端口的规则。

其它主机执行有二种情况:

网段192.168.198.0/24:与1规则不匹配,与2规则匹配成功,这时停止再向下匹配。

其它网段:与1、2规则都没有匹配成功,这时数据包会流向按默认规则(丢弃或放行)。




默认规则:

iptables  -t  表名(小写) -P(大写P)  链名(大写) ACCEPT或者DROP


有二种设计方式:

1、默认规则:DROP,即写允许规则,不在允许规则中的数据包都会丢弃。


2、默认规则:ACCEPT,即写禁止规则,不在禁止规则中的数据包都会放行。



查看默认规则:


[root@fw ~]# iptables -t filter -L -n --line-number
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination       
Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination       
Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination


从上面可以看到 filter表中有三条链,分别是:INPUT 、FORWARD 、 OUPUT,他们的默认规则都是ACCEPT。((policy ACCEPT)




数据包流向如下图:


借这个网站的图一用,里面有详细说明:http://www.opsers.org/security/iptables-related-concepts-and-processes-the-packet-figure.html


wKioL1NfHpnSqcAGAANJsJ7SF48811.jpg


你可能感兴趣的:(iptables)