Я хочу перенаправить 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