iptables结构
iptables –> tables –> chains –>rules
2.1 iptables的表与链
iptables具有Filter,NAT,Mangle,Raw四种内建表
2.1.1 Filter表
filter表示iptables的默认表,它具有三种内建链:
input chain - 处理来之外部的数据
output chain - 处理向外发送的数据
forward chain- 将数据转发到本机的其它网卡上
2.1.2 NAT表
NAT有三种内建的链:
prerouting - 处理刚到达本机并在路由转发前的数据包,它会转换数据包中的目标IP地址(destination ip address),通常用于DNAT(destination NAT)。
postrouting - 处理即将离开本机数据包,它会转换数据包中的源目标IP地址(source ip address),通常SNAT(source NAT)
output - 处理本机产生的数据包
2.1.3 Mangle表
Mangle表用于指定如何处理数据包,它能改变TCP头中的Qos位,Mangle表具有5个内建链:
prerouting
output
forward
input
postrouting
2.1.4 Raw 表
raw表用户处理异常,它具有2个内建链:
prerouting chain
output chain
2.2 iptables规则
rules包括一个条件和一个目标(target)
如果满足条件就执行目标target中规则或者特定值
如果不满足条件,就判断下一条Rules
iptables使用:
开启ip段211.123.16.123/24端ip段的80口
# iptables -I INPUT -p tcp --dport 80 -j DROP
# iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 80 -j ACCEPT
# iptables -I INPUT -s 211.123.16.123/24 -p tcp --dport 80 -j ACCEPT
iptables -F##清空防火墙规则
service iptables save##保存当前防火前规则
查看filter表的iptables规则
iptables -L
删除规则
iptables -D INPUT -s 192.168.1.5 -j DROP