运维基础-iptables和ipvs


1、iptables和ipvs

1

2、iptables

  • Linux网络协议栈非常高效,同时比较复杂。如果我们希望在数据的处理过程中对关心的数据进行一些操作,则该怎么做呢?Linux提供了一套机制来为用户实现自定义的数据包处理过程。
  • 在Linux网络协议栈中有一组回调函数挂接点,通过这些挂接点挂接的钩子函数可以在Linux网络栈处理数据包的过程中对数据包进行一些操作,例如过滤、修改、丢弃等。整个挂接点技术叫作Netfilter和iptables。

2.1、iptables和Netfilter

  • iptables和Netfilter配合实现整个Linux网络协议栈中灵活的数据包处理机制。
    • Netfilter负责在内核中执行各种挂接的规则,运行在内核模式中;(netfilter是防火墙的安全框架)
    • iptables是在用户模式下运行的进程,负责协助和维护内核中Netfilter的各种规则表。(iptables是命令行工具)
  • Netfilter可以挂接的规则点有5个,如图7.4中的粉色图形所示。

运维基础-iptables和ipvs

2.1.1、规则表Table

  • 这些挂接点能挂接的规则也分不同的类型(也就是规则表Table),我们可以在不同类型的Table中加入我们的规则。
  • 目前主要支持的Table类型有:RAW、MANGLE、NAT和FILTER(RAW的优先级最高,FILTER最低)。
  • 在实际应用中,不同的挂接点需要的规则类型通常不同(图7.4中每个挂载点旁边的方框中就是其可以使用规则类型)。例如,在Input的挂接点上明显不需要FILTER过滤规则,因为根据目标地址已经选择好本机的上层协议栈了,所以无须再挂接FILTER过滤规则。
  • 当Linux协议栈的数据处理运行到挂接点时,它会依次调用挂接点上所有的挂钩函数,直到数据包的处理结果是明确地接受或者拒绝。

2.1.2、处理规则

  • 每个规则的特性都分为以下几部分:
    • 表类型(准备干什么事情)。
    • 什么挂接点(什么时候起作用)。
    • 匹配的参数是什么(针对什么样的数据包)。
    • 匹配后有什么动作(匹配后具体的操作是什么)。
  • 前面已经介绍了表类型和挂接点,接下来看看匹配的参数和匹配后的动作。

1、匹配的参数

  • 匹配的参数用于对数据包或者TCP数据连接的状态进行匹配。当有多个条件存在时,它们一起发挥作用,来达到只针对某部分数据进行修改的目的。
  • 常见的匹配参数如下:
    • 流入、流出的网络接口(网卡名)。
    • 来源、目的地址。
    • 协议类型。
    • 来源、目的端口。

2、匹配后的动作

  • 一旦有数据匹配,就会执行相应的动作。动作类型既可以是标准的预定义的几个动作,也可以是自定义的模块注册的动作,或者是一个新的规则链,以便更好地组织一组动作。

2.2、iptables命令

  • iptables命令用于协助用户维护各种规则。

1

#                                                                                                                        #

原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/267656.html

(0)
上一篇 2022年6月18日
下一篇 2022年6月18日

相关推荐

发表回复

登录后才能评论