Přesměrování portů

Přesměrování portů
« kdy: 11. 07. 2019, 18:26:53 »
Ahoj,
Mohu poprosit o radu jak řešit:
Máme na jednom serveru službu která sbírá data ze senzorů, která poslouchá na veřejné IP a nějakém portu (příklad 1.1.1.1:6666) problém je že server se bude přesouvat z kanceláře do cloudu a bude mít jinou IP.
Senzory které jsou ale po celém CZ a SK tak jsou nakonfigurované na IP adresu co máme v kanceláři (deb**ní syystém který někdo dříve vyvíjel a umí pracovat pouze s IP adresou a ne s DNS)
Jak tedy udělat to ať z kanceláře předáme komunikaci která dorazí k nám na 1.1.1.1:6666 do cloudu na 9.9.9.9:6666

Ideálně pokud by to dokázal mikrotik který máme jako router, ale asi nebude problém dodat klidně nějakou malinu pí a nebo něco podobného a Linuxem.

předem díky za rady


_Jenda

  • *****
  • 1 550
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:Přesměrování portů
« Odpověď #1 kdy: 11. 07. 2019, 18:51:32 »
socat TCP4-LISTEN:6666,reuseaddr,fork "TCP4:9.9.9.9:6666"

5nik

  • ***
  • 133
    • Zobrazit profil
    • E-mail
Re:Přesměrování portů
« Odpověď #2 kdy: 11. 07. 2019, 19:25:17 »
Pokud vám nevadí, že server neuvidí původní zdrojovou adresu požadavků od čidel, lze to řešit kombinací srcNATu a dstNATu. Pokud chcete zachovat u požadavků zdrojovou IP, bude třeba udělat mezi Mtikem a cloudem tunel a směrovat to skrze něj.
Ta čidla komunikují oboustranně (tcp) ? Nebo prostě jen něco pošlou v udp a nezajímá je doručení?

Re:Přesměrování portů
« Odpověď #3 kdy: 11. 07. 2019, 19:35:29 »
zařízení odesílá data na TCP porty - pouze to odesílá přes mobilní připojení, nic to nepřijímá

Re:Přesměrování portů
« Odpověď #4 kdy: 11. 07. 2019, 20:35:12 »
zařízení odesílá data na TCP porty - pouze to odesílá přes mobilní připojení, nic to nepřijímá

Jak je psáno výše. Je potřeba udělat kombinaci SRC NAT + DST NAT. Ve skutečnosti to zařízení musí přijímat spoustu packetů při navázání a ukončení TCP spojení. UDP by to nepotřebovalo, TCP ano, viz např.: https://www.researchgate.net/figure/Normal-TCP-connection-sequence-diagram_fig6_283497223

DST NAT nasměruje packet do cloudu. Ale cloud by nedokázal ani potvrdit přijetí packetu a ukončení spojení (SYN+ACK, FIN+ACK), protože by se pokoušel odpovídat na privátní adresu v LAN. Proto je potřeba ještě přidat SRC NAT, který skryje požadavek za veřejnou adresu routeru.


SB

  • ****
  • 347
    • Zobrazit profil
    • E-mail
Re:Přesměrování portů
« Odpověď #5 kdy: 12. 07. 2019, 09:28:48 »
Zadání není kompletní - není z něj jasné, zda bude nově provoz přeposílán ze zařízení s veřejnou adresou (asi toho routeru), nebo neveřejnou (něco místo toho původního serveru), pak by zůstal na routeru DSTNAT na neveřejné zařízení + masquerade ven, každopádně výše uvedené SRC+DSTNAT mezi původní a novou službou platí.