问答
天翼云开发者社区

iptables/netfilter是在哪一层实现的?

回答(4) 关注(0) 浏览(1184)

iptables/netfilter是在哪一层实现的?过多的规则会有什么影响?

iptables/netfilter是在哪一层实现的?过多的规则会有什么影响?

l****n  · 发表于2022-11-29 15:43:45
4 个回答
  • 热门排序
  • 回答(4) 写回答
    谭****勇  ·  回答于2023-03-29 17:10:17 2023-03-29 17:10:17

    netfilter 实现主要分两层:第一层在IP层,由IP协议栈预留HOOK点提供支持,对应应用层的管理工具是iptables;第二层在以太链路,由软桥协议栈预留HOOK点提供支持,对应应用层的管理工具是ebtables。netfilter因为处在数据链路上,每一个规则,都可能被海量报文的处理流程所调度,因此极耗CPU资源。如果规则过多,那么可能会导致系统的转发性能变得很差。

    netfilter 实现主要分两层:第一层在IP层,由IP协议栈预留HOOK点提供支持,对应应用层的管理工具是iptables;第二层在以太链路,由软桥协议栈预留HOOK点提供支持,对应应用层的管理工具是ebtables。netfilter因为处在数据链路上,每一个规则,都可能被海量报文的处理流程所调度,因此极耗CPU资源。如果规则过多,那么可能会导致系统的转发性能变得很差。

    1
    王****际  ·  回答于2024-04-24 09:41:19 2024-04-24 09:41:19

    netfilter的所有钩子(hooks)都是在内核协议栈的 IP 层),iptables则是Linux用户对netfilter进行操作与配置的程序。我们可以简单的把iptables理解为netfilter的前端。iptables可以告诉Linux内核,如何对进入,经过和离开Linux的报文进行操作。

    netfilter的所有钩子(hooks)都是在内核协议栈的 IP 层),iptables则是Linux用户对netfilter进行操作与配置的程序。我们可以简单的把iptables理解为netfilter的前端。iptables可以告诉Linux内核,如何对进入,经过和离开Linux的报文进行操作。

    w****n  ·  回答于2023-11-01 10:17:35 2023-11-01 10:17:35

    iptables/netfilter是在Linux操作系统的网络协议栈中的第三层(网络层)和第四层(传输层)实现的。

    iptables/netfilter是在Linux操作系统的网络协议栈中的第三层(网络层)和第四层(传输层)实现的。

    廖****飞  ·  回答于2022-11-29 16:04:12 2022-11-29 16:04:12

    netfilter主要是在IP、ARP等协议所在的网络层、网络层+实现的。可以通过搜索对NF_HOOK函数的引用来深入了解netfilter的实现。如果配置过于复杂的规则,则会消耗过多的CPU资源,加大网络延时。

    netfilter主要是在IP、ARP等协议所在的网络层、网络层+实现的。可以通过搜索对NF_HOOK函数的引用来深入了解netfilter的实现。如果配置过于复杂的规则,则会消耗过多的CPU资源,加大网络延时。

    • 收藏
    • 写回答