我iptables
在 linux 下使用 NAT SNMP 流量。一些 SNMP 数据包具有 VARBIND,其中包含生成它们的设备的(真实)IP 地址。这会混淆标准管理工具,这些工具需要查看 VARBIND 中的 NAT 化地址。因此,除了标题中的地址之外,我还需要翻译有效载荷中的地址。
标准工具是nf_nat_snmp_basic.ko
内核模块,但原始版本只翻译地址的第一个八位字节,最新版本完全破坏了数据包。这显然是网络上的“常识”(www.netfilter.org),我已经在自己的设备上验证了它。
在我深入内核之前,有没有其他人研究过这个问题并提出了合适的解决方案?现在,只翻译那些 OID 将其类型指定为 IP 地址的 VARBIND 就足够了。换句话说,我不需要翻译嵌入在字符串数据中的地址,这要困难得多。
感谢您的建议!