Трансляция адресов полезной нагрузки SNMP - PullRequest
3 голосов
/ 29 октября 2008

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

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

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

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

1 Ответ

2 голосов
/ 04 ноября 2008

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

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

...