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