encaminhamento de porta SNMP de uma direção

1

Gostaria de encaminhar o snmp de uma LAN para outra LAN. Eu acredito que eu tenho um jeito de trabalhar (de fora para dentro), mas infelizmente a caixa1 não parece responder. (de dentro para fora)

A configuração que gostaria de fazer:

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

Estas são as regras do iptables que são relevantes da BOX 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

Agora eu validei que os pacotes vindos da box3 são recebidos na caixa1.

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

Então, eu assumo que o processo snmp não pode responder ao local porque ele não sabe como encontrar esse ip fora da rede ... como posso adicionar isso? esta é a rota na caixa1:

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

Ou estou sentindo falta de algo mais óbvio?

    
por SvennD 23.06.2017 / 14:44

1 resposta

2

O SNMP funciona através do UDP, portanto não há sessões, como no TCP. Portanto, você deve adicionar uma entrada NAT adicional na box2 para permitir pacotes de box1 a box3.

Algo parecido com isto:

-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
    
por 23.06.2017 / 17:54