美文网首页
详述iptables五种链接

详述iptables五种链接

作者: 任总 | 来源:发表于2018-07-04 23:30 被阅读93次

一、初识防火墙

Firewall:防火墙,隔离工具;工作于主机或网络边缘,对于进出本主机或本网络的报文根据事先定义的检查规则作匹配检测,对于能够被规则匹配到的报文作出相应处理的组件;
防火墙类型分为: 主机防火墙 和网络防火墙
实现方法分为:软件防火墙(软件逻辑)和硬件防火墙(硬件和软件逻辑)

二、iptables五种链接

内置规则链逻辑图.png
iptables五种链接分别是prerouting、input 、output 、forward 、postrouting
  • prerouting:流入的数据包进入路由表之前。
  • input :通过路由表判断后目的地址是本机,然后进入本机内部资源。
  • output :由本机产生的数据向外转发
  • forward :通过路由表判断目的地址是本机,然后通过路由转发到其他地方。
  • postrouting:传出的数据包到达网卡出口前。
iptables的四张表

现在用的比较多的表是前两个:

  • 表(功能):

filter:过滤,防火墙;
nat:network address translation;用于修改源IP或目标IP,也可以改端口;
mangle:拆解报文,做出修改,并重新封装起来;
raw:关闭nat表上启用的连接追踪机制;

  • 表(功能)和链对应关系:

raw:PREROUTING, OUTPUT
mangle:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
nat:PREROUTING,[INPUT,]OUTPUT,POSTROUTING
filter:INPUT,FORWARD,OUTPUT

  • 处理优先级:raw-->mangle-->nat-->filter
  • 报文流向:

流入本机:PREROUTING --> INPUT
由本机流出:OUTPUT --> POSTROUTING
转发:PREROUTING --> FORWARD --> POSTROUTING

处理流程.png

三、iptables规则

1、添加规则时的考量点:

(1) 要实现哪种功能:判断添加到哪个表上;
(2) 报文流经的路径:判断添加到哪个链上;

2、链的规则

链上的规则次序,即为检查的次序;因此,隐含一定的应用法则:

(1) 同类规则(访问同一应用),匹配范围小的放上面;
(2) 不同类的规则(访问不同应用),匹配到报文频率较大的放在上面;
(3) 将那些可由一条规则描述的多个规则合并起来;
(4) 设置默认策略;

3、匹配规则:

组成部分:根据规则匹配条件来尝试匹配报文,一旦匹配成功,就由规则定义的处理动作作出处理;

匹配条件:
基本匹配条件:内建
扩展匹配条件:由扩展模块定义;

4、处理动作:

基本处理动作:内建
扩展处理动作:由扩展模块定义;
自定义处理机制:自定义链

四、iptables命令:

高度模块化,由诸多扩展模块实现其检查条件或处理动作的定义;

/usr/lib64/xtables/
适用IPv6报文:libip6t_
适用IPv4报文:libipt_, libxt_

规则格式:
iptables [-t table] COMMAND chain [-m matchname [per-match-options]] -j targetname [per-target-options]

-t table:raw, mangle, nat, [filter]#表
rule-specification = [matches...] [target] #规则格式,matches匹配条件,target处理动作
match = -m matchname [per-match-options] #指明一个匹配模块 定义它的选项和值
target = -j targetname [per-target-options]#指明一个处理动作的扩展 并定义它的选项

  • 查询filter表有三个链
[root@bogon ~]# iptables -t filter -L#查询filter表有三个链
Chain INPUT (policy ACCEPT)    #指明那个表(默认法则+黑名单)
target     prot    opt    source      destination #(执行动作-端口-选择-原地址-目标地址)        
ACCEPT     all  --  anywhere   anywhere  #(允许-所有端口-任意地址-任意地址)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
  • 查询mangle表有五个链
[root@bogon ~]# iptables -t mangle -L#查询mangle表有五个链
Chain PREROUTING (policy ACCEPT)
Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
Chain POSTROUTING (policy ACCEPT)
  • 查询nat表有四个链
[root@bogon ~]# iptables -t nat -L#查询nat表有四个链
Chain PREROUTING (policy ACCEPT)
Chain INPUT (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
Chain POSTROUTING (policy ACCEPT)
  • 查询raw表有两个链
[root@bogon ~]# iptables -t raw -L#查询raw表有两个链
Chain PREROUTING (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)

五、链管理:

  • 1、 -N:new, 自定义一条新的规则链;
[root@bogon ~]# iptables -N in_web_rules#只能调用內建链
  • 2、 -X: delete,删除自定义的规则链;
[root@bogon ~]# iptables -X in_web_rules#注意:仅能删除 用户自定义的 引用计数为0的 空的 链;
  • 3、 -P:Policy,设置默认策略;对filter表中的链而言,其默认策略有:

    ACCEPT:接受(內建)
    DROP:丢弃(內建)
    REJECT:拒绝(扩展)

[root@bogon ~]# iptables -P FORWARD DROP或ACCEPT#关闭或打开转发报文
[root@bogon ~]# iptables -vnL#查询状态
  • 4、 -E:重命名自定义链;引用计数不为0的自定义链不能够被重命名,也不能被删除;
[root@bogon ~]# iptables -E in_web_rules in_web

六、规则管理:

  • 1、-A:append,追加;
  • 2、-I:insert, 插入,要指明位置,省略时表示第一条;
  • 3、-D:delete,删除;

(1) 指明规则序号;
(2) 指明规则本身;

  • 4、-R:replace,替换指定链上的指定规则;

  • 5、-F:flush,清空指定的规则链;

[root@bogon ~]# iptables -F IN_public#清空指定的规则
  • 6、-Z:zero,置零;

iptables的每条规则都有两个计数器:
(1) 匹配到的报文的个数;
(2) 匹配到的所有报文的大小之和;

[root@bogon ~]# iptables -Z INPUT_ZONES 1#把这个链第一条规则置零
  • 7、查看:

-L:list, 列出指定鏈上的所有规则;
-n:numberic,以数字格式显示地址和端口号;
-v:verbose,详细信息;
-vv, -vvv
-x:exactly,显示计数器结果的精确值;
--line-numbers:显示规则的序号;

[root@bogon ~]# iptables -L -n --line-numbers #显示当前表链并编号
[root@bogon ~]# iptables -L -n --line-numbers -v#显示详细信息
[root@bogon ~]# iptables -vnL INPUT#显示INPUT信息

相关文章

  • 详述iptables五种链接

    一、初识防火墙 Firewall:防火墙,隔离工具;工作于主机或网络边缘,对于进出本主机或本网络的报文根据事先定义...

  • iptables相关以及sudo

    (一)、详述iptables五链 iptables: 包过滤型的防火墙 firewall: 防火墙,隔离工具;工作...

  • iptables及visudoer详解

    详述iptables五链 iptables有4表5链,4表分别为:filter,nat,mangle,raw。5链...

  • iptables配置

    1、详述iptables五链2、举例实现iptables多端口匹配、连接追踪、字符串匹配、时间匹配、并发连接限制、...

  • 第十二周《详述iptables五链.........》

    一、详述iptables五链 1.简介iptables是Linux系统上的防火墙,是一个包过滤型的防火墙,能够根据...

  • Linux 查看iptables状态-重启

    iptables 所在目录 :/etc/sysconfig/iptables 原文链接 csdn

  • iptable及visudoer详解

    详述iptables五链 iptable有4表5链,4表分别为:filter,nat,mangle,raw.5链分...

  • iptables面试题

    1、详述iptales工作流程以及规则过滤顺序? 2、iptables有几个表以及每个表有几个链? Iptable...

  • Linux系统防火墙iptables

    详述iptables五链 防火墙程序是工作在内核的TCP/IP的网络协议栈的框架之上,通过网络过滤可以实现入侵检测...

  • 2017 10-19 防火墙设置2

    一.iptables 命令 (1)iptables相关规则 任何不允许的访问,应该在请求到达时给予拒绝 规则在链接...

网友评论

      本文标题:详述iptables五种链接

      本文链接:https://www.haomeiwen.com/subject/szznyftx.html