一、简介
讲到iptables,先说下 Firewall,防火墙或包过滤性防火墙,或称为隔离工具,主要分为主机防火墙和网络防火墙。工作于主机或网络的边缘,对于进出本主机或者网络的报文,根据事先定义好的规则做匹配,对于能够匹配到的报文做相应处理的组件(硬件或软件或软硬件组合)。
iptables称为规则(hook function:钩子函数)管理工具,分为四表五链;framework netfilter即网络过滤器框架,起到防火墙的功能。
NOTE: 添加规则时考量点:
- 要实现哪种功能,判断添加在哪张表上;
- 报文流经的路径,判断添加在哪个链上;
二、四表五链
1. 四表
iptables功能(每个功能有一张表,4表)及实现位置(查看命令iptables -t 功能名称 -L,如:iptables -t nat -L):
- filter,过滤,防火墙;实现位置:INPUT, FORWARD,OUTPUT
- nat:network address translation,网络地址转换;实现位置:PREROUTING(DNAT),INPUT, OUTPUT, POSTROUTING(SNAT)
- mangle: 拆解报文,做出修改,封装报文;实现位置:PREROUTING,INPUT,FORWARD,OUTPU,POSTROUTING
- raw: 关闭nat表上启用的连接追踪机制;实现位置:PREROUT, OUTPUT
功能的优先级次序:raw –> mangle –> nat –> filter
2. 五链(内置链):
- PREROUTING: 路由前
- INPUT: 输入到用户空间
- FORWARD: 转发
- OUTPUT: 本机转发
- POSTROUTING: 路由后
链上规则的次序,即为检查的次序:因此隐含一定的法则(优化策略如下):
- 同类规则(控制同一种应用的访问),匹配范围小的放上面
- 不同类规则(访问不同应用),匹配到报文频率较大的放上面
- 将可由一条规则表述的多个规则合并为一个
- 设置默认策略;
规则的组成部分:报文的匹配条件(根据协议报文特征指定分为基本匹配条件和扩展匹配条件);匹配到之后的处理动作(分为内建处理机制和自定义处理机制)
NOTE: 报文不会自动经过自定义链,只能在内置链上通过规则进行引用后生效。
报文途径:
- 流入:PREROUTING –> INPUT
- 流出:OUTPUT –> POSTROUTING
- 转发:PREROUTING –> FORWARD –> POSTROUTING
路由发生的时刻:报文进入本机后,判断目标主机;报文发出之前,判断经由那个接口送往下一跳;
三、iptables的使用
iptables即规则管理工具,可以对规则进行添加、修改、删除、显示等。
规则和链有计数器:
- pkgs: 由规则或链所匹配到的报文的个数;
- bytes: 由规则或链匹配到的所有报文的大小之和;
iptables命令:
您暂时无权查看此隐藏内容!
Linux深入学习之iptables如何开放被动模式下的FTP服务【五】
NOTE:
Centos7 : 引入了新的iptables前端管理服务工具: firewalld
firewalld-cmd
firewalld-config
参考文章:https://www.ibm.com/developerworks/cn/linux/1507_caojh/index.html
https://www.cnblogs.com/wangkangluo1/archive/2012/04/19/2457072.html
评论前必须登录!
注册