标签:隔离 范围 nat表 -- 对应关系 勾子 指定 net info
防火墙,是一种隔离工具,工作于主机或网络边缘,对于进出主机或网络的报文根据事先定义好的检查规则作匹配检测,对于能够被规则所匹配到的报文做出相应处理的组件。
1. 内核空间,集成在linux内核中
2. 扩展各种网络服务的结构化底层框架
3. 内核中选取五个位置放了五个hook(勾子) function(INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING),而这五个hook function向用户开放,用户可以通过一个命令工具(iptables)向其写入规
4. 由信息过滤表(table)组成,包含控制IP包处理的规则集(rules),规则被分组放在链(chain)上
命令行工具,工作在用户空间
用来编写规则,写好的规则被送往netfilter,告诉内核如何去处理信息包
Filter表:过滤规则表,根据预定义的规则过滤符合条件的数据包
NAT表:network address translation 地址转换规则表
Mangle:修改数据标记位规则表
Raw:关闭NAT表上启用的连接跟踪机制,加快封包穿越防火墙速度
注意:一般不要启动连接追踪功能,在头端负载很大的情况下,如果要启用,一定要把内存设置的足够大。
INPUT
OUTPUT
FORWARD
PREROUTING
POSTROUTING
流入:PERROUTING--> INPUT
流出:OUTPUT-->POSTROUTING
转发:PREROUTING-->FORWARD-->POSTROUTING
filter:INPUT, FORWARD, OUTPUT
nat:PREROUTING(DANT), OUTPUT, POSTROUTING(SANT)
mangle:PREROUTING(DANT), INPUT, FORWARD, OUTPUT, POSTROUTING(SANT)
raw:PREROUTING, OUTPUT
报文进入本机后:
判断目标主机
报文发出之前:
判断经由哪个接口送往下一跳
添加规则时的考量点:
1. 要实现哪种功能:判断添加在哪张表上
2. 报文流经的路径:判断添加在哪个链上
链:链上规则的次序,即为检查的次序,因此隐含一定的法则
1. 同类规则(控制同一种应用访问),匹配范围小的放上面:
2. 不同类规则(访问不同应用),匹配到报文频率较大的放上面:
3. 设置默认策略(白名单:默认拒绝,开放明确识别的;黑名单:默认允许,只拒绝认为危险的。白名单安全级别高,可以允许也可以拒绝)
4. 将那些可以由一条规则描述的多个规则合并为一个
组成部分:报文的匹配条件,匹配到之后处理动作
匹配条件:根据协议报文特征指定
基本匹配条件
扩展匹配条件
处理动作:
内建处理动作
自定义处理机制
注意:报文不会经过自定义链,只能在内置链上通过规则进行引用后生效。
标签:隔离 范围 nat表 -- 对应关系 勾子 指定 net info
原文地址:https://www.cnblogs.com/liangjindong/p/9241174.html