关于 Linux 内核 Netfilter 部分中深度数据包检测的说明

关于 Linux 内核 Netfilter 部分中深度数据包检测的说明

Linux 内核提供 Netfilter 作为 NAT 和防火墙功能的机制。这两种功能都需要对传入数据包进行分析和分类,这被称为“状态数据包检查”。

对于大多数流量,查看 IP 数据包头就足够了。但是,FTP、IRC、H.323(以及其他一些协议)等协议在内核配置中具有特定模块,以便于这些数据包进行正确的 NAT 遍历。在内核中,这些被称为“conntrack 模块”。

现在,我的理解是,检查这些数据包的有效负载是为了使 netfilter 能够识别外部连接何时到达并需要路由到相应的客户端。这是因为协议需要 OSI 第 7 层传输的信息,这会直接影响第 3 层发送的实际 IP 数据包。换句话说,应用程序代码会导致创建另一个 TCP 连接,该连接必须由 NAT 设备路由。

现在回答我的问题:

  • 为什么没有地方(好吧,我只是快速谷歌搜索了一下)标有深度包检测这个术语?
  • 鉴于大量塑料路由器设备运行在 GNU/Linux 上,这在深度数据包检测被视为非法的地区会不会成为法律问题?我想到可能会出台有关网络中立性和流量保密性的法规,这可能会影响希望为客户提供更好服务并需要在某些环境中使用 NAT 的网络服务提供商。

相关内容