Portál AbcLinuxu, 11. května 2024 16:03


Dotaz: socat - snmp protokol cez SSH na remote host

14.5.2017 14:22 mir
socat - snmp protokol cez SSH na remote host
Přečteno: 571×
Odpovědět | Admin

Zdravicko, riesim takyto problem.

scenar:
server_monitored, ktoreho snmp (port 161, UDP) chcem smerovat na vzdialeny server cez ssh remote_server, server ktory sa ma javit ako server_monitored.
server_proxy, tento server forwarduje udp 161 protokol pomocou socat do remote_server.

moja konfiguracia, ak to spravne chapem:

server_proxy:
- forwardujem server_monitored:161 na lokalny TCP 8050

sudo socat -d -d -d  TCP4-LISTEN:8050,fork UDP4:server_monitored:161

- forwardujem TCP 8050 na remote_server cez autossh na port 8060

autossh -N -M 0 -T -R8060:localhost:8050 -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -o TCPKeepAlive=yes user@remote_server

remote_server
- premienam forwardnuty port 8060 na udp 161

sudo socat -d -d -d UDP4-LISTEN:161,fork TCP:localhost:8060

Teraz by som cakal, ze nejaky client01, ktory je na rovnakej sieti ako remote_server, bude moct ziskat informacie cez snmp na remote_server:161, ale toto nefunguje. Pritom ak ten client je na sieti s "server_monitored" tak to funguje. Takze bud som zle pochopil konfiguraciu alebo nieco taketo vobec nieje mozne.

Vdaka za rady a tipy.

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.5.2017 17:04 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: socat - snmp protokol cez SSH na remote host
Odpovědět | | Sbalit | Link | Blokovat | Admin
Není mi jasné, jak chcete TCP transformovat na UDP a opačně – a překvapuje mne, že socat vůbec takovou kombinaci parametrů dovolí, aniž by skončil chybou.
14.5.2017 19:14 mir
Rozbalit Rozbalit vše Re: socat - snmp protokol cez SSH na remote host
chybu to nehlasi ziadnu, skor sa javi ze je vsetko okej-
15.5.2017 18:25 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: socat - snmp protokol cez SSH na remote host
Ono to možná obsah UDP paketů odesílá do TCP streamu a na druhém konci to stream zase nějak rozseká na UDP pakety. Ovšem obávám se, že bude problém v tom nějak – že už to na výstupu vůbec nemusí být SNMP, ale jenom špatně rozsekané kousky SNMP protokolu. Schválně si zkuste tcpdumpem odchytit ty pakety před vstupem do tunelu a pak za jeho výstupem – jestli obsah paketů bude shodný.
16.5.2017 09:20 mir
Rozbalit Rozbalit vše Re: socat - snmp protokol cez SSH na remote host
nieco natom bude, aj ked snmpwalk ziska potrebne informacie o zariadeni aj cez takto rozsekane kusky SNMP, ale uz nejaky cielovy software s tym ma problem. Takze je to dost mozne. Skusim to porovnat
16.5.2017 11:28 miker | skóre: 6 | Budmerice
Rozbalit Rozbalit vše Re: socat - snmp protokol cez SSH na remote host
https://www.diffchecker.com/bpnwT8RB
host: 192.168.1.24 je zariadenie server_monitored
host:  192.168.1.230 je server_proxy
host: rpserver.example.local je remote server
host: 192.168.0.123 je moja client masina cez ktoru posielam snmpwalk command

v case spustenie boli zaznamene tcpdumpom packety na:
server_proxy -> sudo tcpdump -vv -x -X -s 1500 -i eth0 'port 161'
rempote_server -> sudo tcpdump -vv -x -X -s 1500 -i eth0 'port 161'
14.5.2017 18:22 NN
Rozbalit Rozbalit vše Re: socat - snmp protokol cez SSH na remote host
Odpovědět | | Sbalit | Link | Blokovat | Admin
Na remote-server to zkus takto:
socat -T15 udp4-recvfrom:161,reuseaddr,fork tcp:localhost:8060
14.5.2017 19:14 mir
Rozbalit Rozbalit vše Re: socat - snmp protokol cez SSH na remote host
client sa stale nedokazal nato napojit. nestat -a|grep snmp na remote-server po tejto socat configuracii.

udp 0 0 0.0.0.0:snmp 0.0.0.0:*

Takze to vyzera celkom okej, len niekde bude este chyba.
14.5.2017 19:24 mir
Rozbalit Rozbalit vše Re: socat - snmp protokol cez SSH na remote host
ale na remote-host priamo na lokale dostavam info a vyzera ze to funguje.
[thebe@rpserver ~]$ snmpwalk -Os -c public -v 1 localhost system
sysDescr.0 = STRING: RTCS version 03.02.00
sysObjectID.0 = OID: zeroDotZero
sysUpTimeInstance = Timeticks: (37868421) 4 days, 9:11:24.21
sysContact.0 = STRING: 
sysName.0 = STRING: 
sysLocation.0 = STRING: 
sysServices.0 = INTEGER: 8
14.5.2017 20:00 NN
Rozbalit Rozbalit vše Re: socat - snmp protokol cez SSH na remote host
Mas povolene 161/UDP na remote_server z venku?
14.5.2017 20:15 mir
Rozbalit Rozbalit vše Re: socat - snmp protokol cez SSH na remote host
ano to som nastavoval
sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     udp  --  anywhere             anywhere             udp dpt:snmptrap
ACCEPT     udp  --  anywhere             anywhere             udp dpt:snmp
ACCEPT     udp  --  anywhere             anywhere             udp dpt:snmp
Pouzivam SNMP Web manager a napada ma jedine ze pri scanovani (auto vyhladani a priradeni hosta do zoznamu) pouziva nejaky iny port ako SNMP.
14.5.2017 20:37 NN
Rozbalit Rozbalit vše Re: socat - snmp protokol cez SSH na remote host
Otestuj to lokalne primo na IP:
snmpwalk -Os -c public -v 1 remote-server-IP system
A vzdalene netcat/nmap..
14.5.2017 23:17 mir
Rozbalit Rozbalit vše Re: socat - snmp protokol cez SSH na remote host
snmpwalk -Os -c public -v 1 rpserver system
sysDescr.0 = STRING: RTCS version 03.02.00
sysObjectID.0 = OID: zeroDotZero
sysUpTimeInstance = Timeticks: (39265138) 4 days, 13:04:11.38
sysContact.0 = STRING: 
sysName.0 = STRING: 
sysLocation.0 = STRING: 
sysServices.0 = INTEGER: 8
to funguje, aj socat vypisuje traffic. Vyzera to na problem vo snmp web manager
17.5.2017 16:22 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: socat - snmp protokol cez SSH na remote host
Síce netuším čo si predstavuješ pod pojmom snmp web manager, ale SNMPd sa dá nakonfigurovať aj aby požíval na TCP, nielen na východzom UDP. Nevyriešilo by to tvoj problém s tunelovaním pomocou TCP schovanom v SSL/ssh?
17.5.2017 16:49 miker | skóre: 6 | Budmerice
Rozbalit Rozbalit vše Re: socat - snmp protokol cez SSH na remote host
Toto musim presondovat, ono toto je dost specificke HW ktore prave pouziva SNMP web manager a nad tym je potom dalsi webserver s prislusnou webAppkou a podla dokumentacie to vyzaduje prave SNMP web manager resp. bez neho nevie priamo appka komunikovat s HW. Kazdopadne vdaka za pomoc, tunel aj TCP->UDP->TCP cez ssh sa podaril spojazdnit, ale problem je prave spominana clientska appka.
17.5.2017 21:02 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: socat - snmp protokol cez SSH na remote host
Otázkou je, zda ten tunel TCP → UDP → TCP ta přenášená data nekazí. Je klidně možné, že ten řádkový klient posílá jednotlivé požadavky postupně, takže se i na druhé straně tunelu poskládají do správných paketů. Ta vaše klientská aplikace ale může hned na začátku odpálit větší množství požadavků, v tunelu se to spojí do jednoho proudu a na konci tunelu se to rozseká náhodně.
17.5.2017 23:03 mir
Rozbalit Rozbalit vše Re: socat - snmp protokol cez SSH na remote host
ano to je mozne, vyssie som dal diff z tcpdumpu in vs out. Asi to aj tak vyzera ze sa nejaka cast rozseka nahodne ako vravite. ///sorry ze raz pisem ako lognuty uzivatel a raz nie.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.