Вопрос

Я использую iptables в Linux для трафика NAT SNMP. Некоторые из пакетов SNMP имеют VARBIND, которые содержат (реальные) IP-адреса устройств, которые их сгенерировали. Это сбивает с толку стандартные инструменты управления, которые должны видеть NAT-адреса в VARBIND. Поэтому мне нужно перевести адреса в полезную нагрузку в дополнение к адресам в заголовках.

Стандартным инструментом является модуль ядра nf_nat_snmp_basic.ko , но оригинальная версия транслирует только первый октет адреса, а последняя версия просто полностью повреждает пакеты. Это, по-видимому, «общеизвестно» в Интернете (www.netfilter.org), и я проверил это на своем оборудовании.

Прежде чем я углублюсь в ядро, кто-нибудь еще работал над этой проблемой и придумал подходящее решение? Пока достаточно перевести только те VARBIND, чьи OID определяют их тип в качестве IP-адреса. Другими словами, мне не нужно переводить адреса, встроенные в строковые данные, что было бы гораздо сложнее.

Спасибо за ваши предложения!

Это было полезно?

Решение

Возможное решение «Сделай сам» от Роберта Гэмбла здесь: Утилиты пакетного управления помимо iptables?

Обновления и еще больше похвалы после небольшого модульного тестирования - спасибо, Роберт!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top