The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"SNMP-запрос с одного IP, а ответ с другого"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Др. сетевые сервисы)
Изначальное сообщение [ Отслеживать ]

"SNMP-запрос с одного IP, а ответ с другого"  +/
Сообщение от ingref (ok) on 27-Сен-12, 18:11 
Уважаемые гуру, подскажите, если кто сталкивался.
Хочу опросить по SNMP маршрутизатор, посылаю запрос на один IP-адрес, а маршрутизатор мне отвечает с другого IP-адреса. Этот ответ на мою сетевую карту приходит, но отправитель пакета его не воспринимает:

admin@server:~$ snmpwalk -v 1 -c public 10.111.0.1
Timeout: No Response from 10.111.0.1

Но tshark ответ от маршрутизатора показывает:

  1.118100 10.111.23.63 -> 10.111.0.1   SNMP 85 get-next-request
  1.120292 172.16.2.2 -> 10.111.23.63 SNMP 351 get-response

10.111.23.63 - это адрес сервера, с которого отправляю SNMP-запрос.
10.111.0.1 - адрес маршрутизатора, на который отправляю SNMP-запрос.
172.16.2.2 - второй адрес маршрутизатора, с которого поступает SNMP-ответ.

Можно ли заставить snmpwalk воспринимать ответы с IP-адреса, отличающегося от изначального?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "SNMP-запрос с одного IP, а ответ с другого"  +1 +/
Сообщение от ДорогойДрук on 27-Сен-12, 19:16 
Я бы на вашем месте искал способ заставить маршрутизатор отвечать с правильного интерфейса.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "SNMP-запрос с одного IP, а ответ с другого"  +/
Сообщение от ingref (ok) on 28-Сен-12, 09:05 
> Я бы на вашем месте искал способ заставить маршрутизатор отвечать с правильного
> интерфейса.

Проблема в том, что его не я конфигурировал =(

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "SNMP-запрос с одного IP, а ответ с другого"  +/
Сообщение от 1 (??) on 28-Сен-12, 10:10 
>> Я бы на вашем месте искал способ заставить маршрутизатор отвечать с правильного
>> интерфейса.
> Проблема в том, что его не я конфигурировал =(

тогда задайте на вашем сервере маршрут до 172.16.2.2 через 10.111.0.1, ну это если между ними ничего активного нет, конечно

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "SNMP-запрос с одного IP, а ответ с другого"  +/
Сообщение от ДорогойДрук on 28-Сен-12, 12:44 
> тогда задайте на вашем сервере маршрут до 172.16.2.2 через 10.111.0.1, ну это
> если между ними ничего активного нет, конечно

вместо этого проще сразу запрос слать на 172.16.2.2 и от него же получать ответ.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

7. "SNMP-запрос с одного IP, а ответ с другого"  +/
Сообщение от ingref (ok) on 29-Сен-12, 00:34 
> вместо этого проще сразу запрос слать на 172.16.2.2 и от него же
> получать ответ.

На 172.16.2.2 нельзя послать запрос - запрещено в аксес-листах маршрутизатора.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

6. "SNMP-запрос с одного IP, а ответ с другого"  +/
Сообщение от ingref (ok) on 29-Сен-12, 00:33 
> тогда задайте на вашем сервере маршрут до 172.16.2.2 через 10.111.0.1, ну это
> если между ними ничего активного нет, конечно

На самом маршрутизаторе нет маршрута от 10.111.0.1 к 172.16.2.2.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

4. "SNMP-запрос с одного IP, а ответ с другого"  +/
Сообщение от Andrey Mitrofanov on 28-Сен-12, 11:20 
>   1.118100 10.111.23.63 -> 10.111.0.1   SNMP 85 get-next-request
>   1.120292 172.16.2.2 -> 10.111.23.63 SNMP 351 get-response
> Можно ли заставить snmpwalk воспринимать ответы с IP-адреса, отличающегося от изначального?

SNAT на сервере из 172.16.2.2 в 10.111.0.1 ?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "SNMP-запрос с одного IP, а ответ с другого"  +/
Сообщение от ingref (ok) on 29-Сен-12, 01:10 
>>   1.118100 10.111.23.63 -> 10.111.0.1   SNMP 85 get-next-request
>>   1.120292 172.16.2.2 -> 10.111.23.63 SNMP 351 get-response
>> Можно ли заставить snmpwalk воспринимать ответы с IP-адреса, отличающегося от изначального?
> SNAT на сервере из 172.16.2.2 в 10.111.0.1 ?

Так?

iptables -t nat -A POSTROUTING -s 172.16.2.2 -j SNAT --to-source 10.111.0.1

Не помогает.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

9. "SNMP-запрос с одного IP, а ответ с другого"  +/
Сообщение от reader (ok) on 29-Сен-12, 12:08 
>[оверквотинг удален]
> приходит, но отправитель пакета его не воспринимает:
> admin@server:~$ snmpwalk -v 1 -c public 10.111.0.1
> Timeout: No Response from 10.111.0.1
> Но tshark ответ от маршрутизатора показывает:
>   1.118100 10.111.23.63 -> 10.111.0.1   SNMP 85 get-next-request
>   1.120292 172.16.2.2 -> 10.111.23.63 SNMP 351 get-response
> 10.111.23.63 - это адрес сервера, с которого отправляю SNMP-запрос.
> 10.111.0.1 - адрес маршрутизатора, на который отправляю SNMP-запрос.
> 172.16.2.2 - второй адрес маршрутизатора, с которого поступает SNMP-ответ.
> Можно ли заставить snmpwalk воспринимать ответы с IP-адреса, отличающегося от изначального?

маршрут к 10.111.23.63 с 172.16.2.2/10.111.0.1 через какой интерфейс? таблицу маршрутизации с 172.16.2.2/10.111.0.1 покажите

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "SNMP-запрос с одного IP, а ответ с другого"  +/
Сообщение от ingref (ok) on 29-Сен-12, 13:35 
> маршрут к 10.111.23.63 с 172.16.2.2/10.111.0.1 через какой интерфейс? таблицу маршрутизации
> с 172.16.2.2/10.111.0.1 покажите

10.111.0.0/16  *[Direct/0] 17w1d 06:15:03
                    > via lo0.3

172.16.2.2/32  *[Local/0] 17w1d 06:24:11
                    Local via lo0.7

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "SNMP-запрос с одного IP, а ответ с другого"  +/
Сообщение от reader (ok) on 29-Сен-12, 14:43 
http://www.juniper.net/techpubs/en_US/junos/topics/task/conf...
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "SNMP-запрос с одного IP, а ответ с другого"  +/
Сообщение от ingref (ok) on 01-Окт-12, 09:32 
> http://www.juniper.net/techpubs/en_US/junos/topics/task/conf...

Но это только для SNMP-трапов. Указать нужный интерфейс для обычных ответов на SNMP-запросы там нельзя, они отсылаются с того интерфейса, через который проходит маршрут к тому IP-адресу, с которого пришел запрос - http://www.juniper.net/techpubs/en_US/junos12.2/topics/refer...

What is the source IP address used in the response PDUs for SNMP requests? Can this be configured?

The source IP address used in the response PDUs for SNMP requests is the IP address of the outgoing interface to reach the destination. The source IP address cannot be configured for responses. It can only be configured for traps.

А сеть 10.111.0.0/16 находится в отдельной VRF-таблице, поэтому маршрутизатор отправляет ответ не с того интерфейса, с которого надо, а с того, который по-умолчанию.

Может быть, это вообще проблема не с snmpwalk? Может, он должен воспринимать ответы с любых адресов, а это у меня на сервере что-то не так? Кто-нибудь может точно сказать - должен snmp-ответ быть с того же айпишника или нет?

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. "SNMP-запрос с одного IP, а ответ с другого"  +/
Сообщение от reader (ok) on 01-Окт-12, 13:50 
>[оверквотинг удален]
> is the IP address of the outgoing interface to reach the
> destination. The source IP address cannot be configured for responses. It
> can only be configured for traps.
> А сеть 10.111.0.0/16 находится в отдельной VRF-таблице, поэтому маршрутизатор отправляет
> ответ не с того интерфейса, с которого надо, а с того,
> который по-умолчанию.
> Может быть, это вообще проблема не с snmpwalk? Может, он должен воспринимать
> ответы с любых адресов, а это у меня на сервере что-то
> не так? Кто-нибудь может точно сказать - должен snmp-ответ быть с
> того же айпишника или нет?

Зависит от реализации многоинтерфейсного режима в софте. Не весь софт с udp правильно отрабатывает эту ситуацию. Если многоинтерфейсного режима нет вы можете получить ответный пакет с ip адресом интерфейса через который идет маршрут к адресу запросившего, хоть запрос был на другой ip.

Поэтому и просил показать таблицу маршрутизации. Но как у них с поддержкой многоинтерфейсного режима я не знаю.

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

14. "SNMP-запрос с одного IP, а ответ с другого"  +/
Сообщение от ingref (ok) on 01-Окт-12, 15:33 
ПРОБЛЕМА РЕШЕНА!

iptables -A OUTPUT -d 172.16.2.2 -j DNAT --to-destination 10.111.0.1

И опрашиваю маршрутизатор по адресу 172.16.2.2.
Всем большое спасибо =)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

15. "SNMP-запрос с одного IP, а ответ с другого"  +/
Сообщение от reader (ok) on 01-Окт-12, 15:47 
> ПРОБЛЕМА РЕШЕНА!
> iptables -A OUTPUT -d 172.16.2.2 -j DNAT --to-destination 10.111.0.1
> И опрашиваю маршрутизатор по адресу 172.16.2.2.
> Всем большое спасибо =)

dnat делает обратное преобразование не глядя на ip отправителя?
интересно глянуть бы на tcpdump

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

16. "SNMP-запрос с одного IP, а ответ с другого"  +/
Сообщение от ingref (ok) on 01-Окт-12, 17:20 
>> ПРОБЛЕМА РЕШЕНА!
>> iptables -A OUTPUT -d 172.16.2.2 -j DNAT --to-destination 10.111.0.1
>> И опрашиваю маршрутизатор по адресу 172.16.2.2.
>> Всем большое спасибо =)
> dnat делает обратное преобразование не глядя на ip отправителя?
> интересно глянуть бы на tcpdump

Совершенно верно, я просто теперь обманываю snmpwalk, чтобы он думал, что опрашивает 172.16.2.2, а на самом деле он опрашивает 10.111.0.1.

Вот вывод tshark:

  1.842915 10.111.23.63 -> 10.111.0.1   SNMP 91 get-next-request
  1.844480 172.16.2.2 -> 10.111.23.63 SNMP 93 get-response

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

17. "SNMP-запрос с одного IP, а ответ с другого"  +/
Сообщение от reader (ok) on 01-Окт-12, 19:14 
>[оверквотинг удален]
>>> iptables -A OUTPUT -d 172.16.2.2 -j DNAT --to-destination 10.111.0.1
>>> И опрашиваю маршрутизатор по адресу 172.16.2.2.
>>> Всем большое спасибо =)
>> dnat делает обратное преобразование не глядя на ip отправителя?
>> интересно глянуть бы на tcpdump
> Совершенно верно, я просто теперь обманываю snmpwalk, чтобы он думал, что опрашивает
> 172.16.2.2, а на самом деле он опрашивает 10.111.0.1.
> Вот вывод tshark:
>   1.842915 10.111.23.63 -> 10.111.0.1   SNMP 91 get-next-request
>   1.844480 172.16.2.2 -> 10.111.23.63 SNMP 93 get-response

скорей обратного преобразования не происходит, но так как пакет пришел и так с правильным заголовком он отдается в snmpwalk , иначе это опасная фича dnat.

может на шлюзе отдельно к 10.111.23.63 маршрут прописать?

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

18. "SNMP-запрос с одного IP, а ответ с другого"  +/
Сообщение от ingref (ok) on 02-Окт-12, 09:12 

> скорей обратного преобразования не происходит, но так как пакет пришел и так
> с правильным заголовком он отдается в snmpwalk , иначе это опасная
> фича dnat.
> может на шлюзе отдельно к 10.111.23.63 маршрут прописать?

Маршрут от 172.16.2.2 к 10.111.0.1 есть, а в обратную сторону маршрута нет из соображений безопасности. Иначе бы я сразу опрашивал 172.16.2.2 без всякого dnat.

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру