我在linux下使用iptables
来NAT NAT流量。某些SNMP数据包具有VARBIND,其中包含生成它们的设备的(实际)IP地址。这会混淆标准管理工具,这些工具需要查看VARBIND中的NATted地址。所以我需要翻译有效负载中的地址以及标题中的地址。
标准工具是nf_nat_snmp_basic.ko
内核模块,但原始版本仅转换地址的第一个八位字节,而最新版本只会破坏数据包。这显然是网络上的“常识”(www.netfilter.org),我已经在自己的设备上验证了它。
在深入研究内核之前,有没有其他人在解决这个问题并提出合适的解决方案?目前,仅将那些OID指定其类型的VARBIND转换为IP地址就足够了。换句话说,我不需要翻译嵌入在字符串数据中的地址,这将更加困难。
感谢您的建议!
答案 0 :(得分:2)
Robert Gamble可能提供的DIY解决方案:Packet mangling utilities besides iptables?
经过一些单元测试后,更新和更多的赞扬 - 谢谢,罗伯特!