标签:开机 处理 accept table 网络地址转换 path 五链 roc src
一、iptables简介:首先介绍iptables的结构:iptables -> Tables -> Chains -> Rules. 简单地讲,tables由chains组成,而chains又由rules组成。如下图所示。
二、iptables的表与链关系
1、iptables由4表5链组成具体如下
四表:
filter: mangle: nat: raw:关闭在nat表中启用的连接追踪机制
五链: PREROUTING: INTPUT: FORWRAD:OUTPUT:POSTROUTING
2、表与链的关系
filter:Filter表示iptables的默认表,如果没有自定义表,默认使用filter表,它具有以下三种内建链:功能:主要实现过滤功能
INPUT:处理来自外部与本机进程的报文
OUTPUT :处理本机产生的报文
FOWARD:将数据通过本机转发至本机其他网卡或其他网络的数据
mangele:具有所有内置链,功能:拆解报文,按需修改
PREROUTING:
INTPUT
FORWRAD
OUTPUT
POSTROUTING
nat:实现网络地址转换功能
PEROUTING,处理刚到达本机并在路由转发前的数据包,它会转换数据包中的目标IP地址通常用于DNAT(destination NAT)。
OUTPUT.处理本机产生的报文
POSROUTING:处理马上离开本机之前的报文,会转换数据包中的源Ip地址通常用户SNAT
raw:关闭在nat表中启用的连接追踪机制
PREOUTING,
OUTPUT
三、iptables规则
1、组成和标准:
根据规则的匹配条件尝试匹配报文,对匹配成功的报文根据规则定义的处理动作
Rules包括一个条件和一个目标(target)
如果满足条件,就执行目标(target)中的规则或者特定值。
如果不满足条件,就判断下一条Rules。
2、基本处理动作:
ACCEPT :允许防火墙接收数据包
DROP :防火墙丢弃包
QUEUE : 防火墙将数据包移交到用户空间
RETURN :防火墙停止执行当前链中的后续Rules,并返回到调用链(the calling chain)中。
3、主要参数:
4、匹配条件
匹配条件主要有基本匹配和扩展匹配
1、基本匹配
[!] -s, :源地址匹配
[!] -d, :目标地址匹配
[!] -p {tcp|udp|icmp}:限制协议:
禁止所有主机ping本机
// 禁止所有主机ping测本机,源和目标不指定即为所有IP
查看所有规则的具体信息
扩展匹配可以分两大类:
隐式扩展:可以不用使用-m选项,前面是使用-p匹配任何协议
显示扩展:必须有-m选项专门加载相应的模块
隐式扩展匹配条件
[!]--sport:源端口
[!]--dport:目标端口
[!]--tcp-fiags mask comp:检查报文中mask指明的tcp标志,而这些标志位comp必须唯1
mask:sys,fin,ack,rst
禁止指定主机访问本机的SSH服务
显示扩展匹配条件:
multiport:多端口匹配
iprange:指明一段连续的ip地址范围做为源地址或目标地址匹配
[!]--src-range from[-to]:源地址范围
[!]--dst-range from[-to]:目标地址范围
指定特有的主机可以访问本机的80和22端口:
time:根据收到报文的时间/日期与指定的时间/日期范围进行匹配
--datestart YYY:MM-DD THH:mm ss 起始日期时间
--datestop YYY:MM-DD THH:mm ss 结束日期时间
--timestart hh:mm[:ss]:起始时间
--timestart hh:mm[:ss]:结束时间
--monthdays day [,day..]:匹配一个月中的哪些天
--weekdays day [,day..]:匹配一个周中的哪些天
connlimit:根据客户端主机并作出并发连接限制,即每客户端同时发起连接数限制
--connlimlt-upto n :连接数量小于等于n则匹配
--connlimlt-above n : 连接数量大于n则匹配;
拒绝周一到周五所有主机禁止访问本机的web服务
拒绝连接超过2次的主机再次访问
state:用于对报文的状态做连接追踪(可以优化防火墙规则,但超过记录的最大值所有连接就会超时,不适合访问量大的服务器开启,比如负载均衡服务器等)
--state state
INVALID:无法识别的连接
ESTABLISHED:连接追踪模板当中存在记录的连接
NEW:连接追踪模板当中不存的连接请求 (新的请求)
RELATED:连接追踪模板当中存在相关联的连接
UNTRACKED:未追踪的连接
允许其他主机访问80端口
5、NAT地址转换
NAT只要有两个动作,且NAT表一般只应用在PERROUTING,POSTROUTING链上面
SNAT:源地址转换
DNAT:目标地址转换
将192168.153网段的IP地址进行转换以及进行80端口进行映射
6、如何存储防火墙策略
iptables 规则是写入内核中,一单重启就会失效因此需要对规则进行保持
保存规则: iptables-save>/PATH/TO/SOME_RULE_FILE
加载规则: iptables-restore < /PATH/FROM/SOME_RULE_FILE
也可以开机自动加载
进入 /etc/rc.d/rc.local 中写入加载命令即可
标签:开机 处理 accept table 网络地址转换 path 五链 roc src
原文地址:http://blog.51cto.com/8950428/2159977