Назад | Перейти на главную страницу

Перенаправление портов SNMP в одну сторону

Я хочу перенаправить snmp из одной локальной сети в другую. Я считаю, что у меня работает один способ (снаружи внутрь), но, к сожалению, box1 не может ответить. (изнутри наружу)

Настройка, которую я хотел бы сделать:

  box1                  box2             box3
[10.1.255.245] -------------------------- [public_ip]
    |               eth0-|-eth1               |
    |-----------3161---------------- 3161 ----|

Это правила iptables, относящиеся к ВСТАВКЕ 2,

-A PREROUTING -i eth1 -p udp -m udp --dport 3161 -j DNAT --to-destination 10.1.255.244:3161
-A FORWARD -d 10.1.255.244/32 -p udp -m udp --dport 3161 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

Теперь я подтвердил, что пакеты, поступающие из box3, поступают в box1.

tcpdump 'port 3161'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
13:46:03.887718 IP x-20150810-092601.x.be.53329 > compute-0-2.local.doc1lm: UDP, length 48
13:46:04.888851 IP x-20150810-092601.x.be.53329 > compute-0-2.local.doc1lm: UDP, length 48
13:46:05.889977 IP x-20150810-092601.x.be.53329 > compute-0-2.local.doc1lm: UDP, length 48
13:46:06.891108 IP x-20150810-092601.x.be.53329 > compute-0-2.local.doc1lm: UDP, length 48

Итак, я предполагаю, что процесс snmp не может реагировать на местоположение, потому что он не знает, как найти этот IP вне локальной сети ... как я могу это добавить? это маршрут на box1:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
255.255.255.255 *               255.255.255.255 UH    0      0        0 eth0
box2 box2     255.255.255.255 UGH   0      0        0 eth0
224.0.0.0       *               255.255.255.0   U     0      0        0 eth0
10.1.0.0        *               255.255.0.0     U     0      0        0 eth0
link-local      *               255.255.0.0     U     1002   0        0 eth0
link-local      *               255.255.0.0     U     1003   0        0 eth1
192.168.0.0     *               255.255.0.0     U     0      0        0 eth1
default         storage          0.0.0.0         UG    0      0        0 eth1

Или мне не хватает чего-то еще очевидного?

SNMP работает через UDP, поэтому нет сессий, как в TCP. Поэтому вам следует добавить дополнительную запись NAT на box2, чтобы разрешить пакеты от box1 до box3.

Что-то вроде этого:

-A PREROUTING -i eth0 -p udp -m udp --dport 3161 -j DNAT --to-destination <RealIP>:3161
-A FORWARD -d <RealIP>/32 -p udp -m udp --dport 3161 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT