iptables(1):基础概念

#iptables(1):基础概念

##1.防火墙相关概念

###1.1分类
逻辑上 主机防火墙 网络防火墙 (前者针对单个主机进行防护,后者位于网络入口或边缘,针对网络入口进行防护,服务于防火墙背后的本地局域网)
物理上 硬件防火墙 软件防火墙

##2.iptables理解

  • iptables可以理解成一个用户代理,真正的防火墙(安全)是netfilter位于内核空间,而iptables是一个命令行工具位于用户空间,我们通过这个工具来操作真正的框架。
  • Netfilter是操作系统核心层内部的一个数据包处理模块,它具有以下功能:网络地址转换、数据包内容修改、数据包过滤的防火墙功能

所以说,虽然我们使用service iptables start启动iptables 服务,但是准确的说,iptables并没有一个守护进程,若依并不能算是真正意义上的服务,而应该算是内核提供的功能。

##3.iptables基础

**iptables是按规则办事,而规则储存在内核空间的信息包过滤表中。**这些规则分别指定了源地址、目的地址、传输协议和服务类型等。当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,accept(接受)、reject(拒绝)、丢弃(drop)

**墙需要设置“关卡”,也就是“链”。**比如INPUT OUTPUT FORWARD PREROUTING POSTROUTING。当我们用了防火墙功能后,报文根据实际情况的不同就要通过不同的链。

##4.链的概念

防火墙的作用就在于对经过的报文匹配“规则”,然后执行相应的动作,所以,当报文经过这些关卡时,则必须匹配这个关卡上的规则,但是,这个关卡上可能不止有一条规则,而是有很多条规则。而一条条规则串起来就是链

##5.表的概念
我们把具有相同功能的规则的集合叫做“表”,不同功能的规则,我们可以放置在不同的表中进行管理,而iptables已经为我们定义了4种表,每个表对应了不同的功能。

  • filter表:负责过滤功能,防火墙;内核模块:iptables_filter
  • nat表:网络地址转换功能;内核模块:iptable_nat
  • mangle表:拆解报文,做出修改,并重新封装的功能;内核模块:iptable_mangle
  • raw表:关闭nat表上启用的连接追踪机制;内核模块:iptable_raw

##6.表链关系

某些链注定不会包含某类规则
比如 prerouting链只拥有nat、raw、mangle表中的规则

PREROUTING 的规则可以存在于:nat、raw、mangle 表中

INPUT 的规则可以存在于:mangle、filter表中(centos7还有nat表)

FORWARD 的规则可以存在于:mangle 、filter表中

OUTPUT :raw、mangle、nat、filter表中国

POSTROUTING 的规则可以存在于:mangle表,nat表

  • 但是我们实际使用过程中,时通过“表”作为操作入口,对规则进行定义的。实际使用中的表链关系应该为

表(功能)<————>链(钩子)

raw 表中的规则可以被:PREROUTING OUTPUT链使用

mangle表中的规则可以被:PREROUTING INPUT FORWARD POSTROUTING OUTPUT链使用

nat表中的规则可以被:PREROUTING OUTPUT POSTROUTING使用(centos7还有INOUT)

filter表中的规则可以被:INPUT FORWARD OUTPUT使用

  • 一个数据包经过链的时候,会将当前链的规则全部匹配一次,但是是有优先级的。由高到低位raw、mangle、nat、filter
  • 注意:为了方便管理,我们还可以在某个表中创建自定义链,将针对应用程序所设置的规则放置在自定义的链中,但是要注意自定义的链不能直接使用,只能被某个默认的链当做动作去调用才能起作用。

##7.规则的概念

  1. 规则:根据指定的匹配条件来尝试匹配某个经流此处的报文,一旦匹配成功,则由规则后面指定的处理动作进行处理。
  2. 匹配条件 :除了源地址source IP、目的地址destination IP基本匹配条件外,还有扩展匹配条件
  3. 处理动作
  • 常用:ACCEPT(允许通过)、DROP(直接丢弃,并不给回应信息)、REJECT(拒绝通过,必要时会给数据发送端一个回应)
  • SNAT(源地址转换,解决内网用户用同一个公网地址上网的功能)

##总结
也就是说规则是在链上的,一条链可能会有多条规则。相同功能的规则可放在一个表中。链表关系是某些表中的规则没办法被链使用,也就是说某些链无法调用内核的相应模块。一般来讲,是通过“表“作为操作入口来对规则进行定义的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值