代码之家  ›  专栏  ›  技术社区  ›  Adam Liss

SNMP负载地址转换

  •  3
  • Adam Liss  · 技术社区  · 16 年前

    我在用 iptables 在Linux到NAT的SNMP流量下。一些SNMP数据包具有varbind,这些varbind包含生成它们的设备的(实际)IP地址。这会混淆标准管理工具,后者需要查看varbinds中的natted地址。所以我需要翻译 有效载荷 除了标题中的内容。

    标准工具是 nf_nat_snmp_basic.ko 内核模块,但原始版本只翻译地址的第一个八位字节,而最新版本只会损坏数据包。这显然是网络上的“常识”(www.netfilter.org),我已经在自己的设备上进行了验证。

    在深入研究内核之前,有没有其他人研究过这个问题并提出了一个合适的解决方案?现在,只翻译那些OID将其类型指定为IP地址的varbind就足够了。换言之,我不需要转换嵌入在字符串数据中的地址,这将是非常困难的。

    谢谢你的建议!

    1 回复  |  直到 16 年前
        1
  •  2
  •   Community CDub    8 年前

    Robert Gamble提供的可能的DIY解决方案如下: Packet mangling utilities besides iptables?

    在进行了一些单元测试之后,会有更多的更新和赞扬——谢谢,罗伯特!