iptables TEE模块测试小记

本文讲述了在公司项目中使用TEE模块进行服务器端口流量镜像时遇到的问题,通过tcpdump抓包发现数据转发失败是因为二层转发设置错误,需要配置转发服务器使用两个网卡以实现有效镜像,同时提到了iptables的使用注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

因为公司项目需求,需要对服务器特定端口进行流量镜像,各种百度之后,发现TEE的模块,后来一番折腾,发现被转发的机器死活收不到数据,最后tcpdump一通了解到根源,博文记录,用以备忘。

问题描述

Q: 很简单就是局域网内两台机器,通过TEE模块转发无法成功。
A: 后面通过tcpdump抓包对比了数据,发现TEE模块已经起作用了,因为是二层转发,gateway指定的是另外一台服务器,这导致转发的数据经过进来的网卡,然后又重新丢回了当前机器,这导致没有配置转发,数据接收正常;配置转发后,本地服务器收到一堆重复的数据(重复次数取决TTL)。从目前现象总结可以知道,TEE模块要真正起作用,转发服务器至少得两个网卡,这样转发的数据在二层就发送到了另外一个网卡完成流量镜像。

参考链接

iptables TEE使用注意事项
【TCP/IP】【调试】丢包、流不通、错包等问题查证手段系列之五——iptables实现镜像(克隆)

### iptables内核模块概述 iptables 是 Linux 内置的一个强大的防火墙工具,其功能依赖于多个内核模块来实现网络流量过滤和地址转换等功能。iptable 的工作原理基于 netfilter 架构,在数据包通过不同链时对其进行匹配并执行相应操作[^1]。 对于 IPv4 协议栈而言,主要涉及以下几个重要的内核模块: - `ip_tables`:这是最基本的框架模块,负责处理所有的 IP 数据报文。 - `nf_conntrack_ipv4` 和其他连接跟踪模块:用于维护状态表,支持状态检测机制。 - 各种特定用途的扩展模块如 `iptable_nat`, `ipt_MASQUERADE` 等等,它们提供了额外的功能比如 NAT 转换、端口映射等等[^2]。 加载这些必要的内核模块可以通过命令行完成;通常情况下,当首次调用相关特性时会自动装载所需组件。然而有时可能需要手动干预以确保所有必需项都已就绪。 ```bash modprobe ip_tables lsmod | grep ip_tables ``` 上述脚本展示了如何显式地载入 `ip_tables` 模块以及验证它是否已经被成功加入到当前运行中的内核环境中去[^3]。 ### 常见问题及其解决方案 #### 无法保存规则集 如果遇到更改后的策略未能持久化的情况,则需确认是否有安装相应的服务程序(例如 RedHat/CentOS 下面的 `iptables-services`),或者是使用了不兼容的方式来进行设置存储。可以尝试利用如下方法之一来解决这个问题: - 安装并启用官方提供的管理套件; - 手动导出现有配置文件 `/etc/sysconfig/iptables` 或者 `/etc/iptables/rules.v4` 并在启动时重新导入; - 利用第三方软件如 `firewalld` 来代替传统方式管理防火墙规则[^4]。 #### 连接追踪超限错误 当观察到日志中有大量关于 conntrack 表满溢的消息时,这表明系统正在遭遇过多的同时建立的新连接请求超过了默认容量限制。此时应该考虑调整参数 `net.netfilter.nf_conntrack_max` 及关联的时间窗口大小 `net.netfilter.nf_conntrack_tcp_timeout_established` ,从而允许更大的并发量或是更长时间保持记录条目不变[^5]。 ```bash sysctl -w net.netfilter.nf_conntrack_max=1048576 echo "net.netfilter.nf_conntrack_max = 1048576" >> /etc/sysctl.conf ``` 以上命令临时修改最大连接数至 1,048,576,并将其永久写入配置文件以便重启后继续生效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜晓码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值