Portál AbcLinuxu, 25. dubna 2024 03:22


Dotaz: Presmerovanie IP:port - priebeh komunikácie

6.10.2019 17:02 kysučan | skóre: 14
Presmerovanie IP:port - priebeh komunikácie
Přečteno: 458×
Odpovědět | Admin
Zdravím, mám jednu kontrolnú otázku. Ak mám na verejnej sieti stroje A-klient, B-presmerovanie, C-server. Ako bude prebiehať komunikácia po presmerovaní, teda po A->B->C. Žiadúce by bolo A<->C.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.10.2019 19:35 NN
Rozbalit Rozbalit vše Re: Presmerovanie IP:port - priebeh komunikácie
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud se budeme bavit napriklad o HTTPS protokolu a presmerovani klienta A z domeny XY.CZ na stroji B na domenu AB.CZ na stroji C. Tak to bude fungovat tak jak si predstavujes. Klient se po presmerovani na B zepta DNS, kde je nova domena a dal bude komunikovat jen s C.
6.10.2019 20:32 kysučan | skóre: 14
Rozbalit Rozbalit vše Re: Presmerovanie IP:port - priebeh komunikácie
Ide o presmerovanie verejnej IP adresy:port(B) na inú verejnú IP adresu:port(C). Problém je ešte v tom, že B je za routrom, v ktorom je spravený portfordward na lokálny stroj(B), na ktorom by to presmerovanie malo byť vykonané. Dá sa to vôbec? Ak áno, bol by nejaký nástrel na iptables pravidlo?
7.10.2019 08:49 NN
Rozbalit Rozbalit vše Re: Presmerovanie IP:port - priebeh komunikácie
Co je to za protokol se asi nedozvime. Na presmerovani staci obycejny DNAT, ale nepocitej s tim, ze klient najednou zacne komunikovat s jinou IP. Nezacne, jen se provoz pres starou preposle dal. Pokud chces donutit klienta, aby zacal komunikovat s jinou IP je to aplikacni problem. Mozna kdyby jsi prozradil co vlastne resis naslo by se efektivnejsi reseni.
6.10.2019 20:15 rastos | skóre: 62 | blog: rastos
Rozbalit Rozbalit vše Re: Presmerovanie IP:port - priebeh komunikácie
Odpovědět | | Sbalit | Link | Blokovat | Admin
B-presmerovanie
Čo to je? Zmena DNS? proxy? NAT?
6.10.2019 20:21 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Presmerovanie IP:port - priebeh komunikácie
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokiaľ použitý aplikačný protokol umožňuje presmerovať požiadavky na iný cieľ, tak dosiahneš žiadúci výsledok. Ak je B len topologický uzol, tak je možné presmerovať komunikáciu inou cestou.

O čo ti ide, skončil ti webhosting a nechcú ti pustiť ich doménu?
6.10.2019 21:38 kysučan | skóre: 14
Rozbalit Rozbalit vše Re: Presmerovanie IP:port - priebeh komunikácie
Nejde mi o nič, proste len tak bádam. Niekde na verejnej ip:port beží server a ja potrebujem klientoch(bez zásahu do ich konfigurácie) presmerovať na inú verejnú ip:port. Aplikačný protokol presmerovanie neumožňuje, to by som robil práve cez danú aplikáciu.
6.10.2019 23:29 debian+
Rozbalit Rozbalit vše Re: Presmerovanie IP:port - priebeh komunikácie
Ano da: kapitola Přesměrování pomocí iptables, https://www.root.cz/clanky/tuneluji-tunelujes-tunelujeme-presmerovani-portu/ .

Co studujes? Toto su veci ohladom sietariny. Zaklady - s cim robit, co dokaze a potom naucit, ako to ovladat.
7.10.2019 09:19 j
Rozbalit Rozbalit vše Re: Presmerovanie IP:port - priebeh komunikácie
To je prave to, co tu z tebe ostatni uz nekolika posty pacej - co od toho chces. Bez toho se ti neda poradit.

Pokud nastavis portforward, tak ti to bude fungovat, ale veskera komunikace stale pobezi pres toho prostrednika (tzn pres B).

Normalni lidi pak pri konfiguraci klientu pouzivaji DNS, tudiz dalsi moznost je kupodivu zmena zaznamu v DNS.

Pokud bys chtel zmenit ten port, tak je tu jeste velmi teoreticka moznost (protoze to aplikace prevazne neumej) v SRV zaznamech.

----

Dalsi moznosti jsou uz spis v rovine hypotez, protoze ses stale nepochlubil co ze to resis. Principielne muze B predat IPcko A serveru C a ten muze A kontaktovat naprimo. Nebo naopak, muze B sdelit klientovi A ze IP serveru C je jiny.

Podobny veci jsou mimo jiny soucasti IPv6, pokud ti doma bezi agent, melo by to fungovat nativne. Tzn tvoje zarizeni je stale dostupny na tvy domaci IP, at je kdekoli, a ten agent v pripade ze to jinak nejde, zajistuje i to zprostredkovani komunikace, ale v zakladu by mel protistrane, ktera se s tebou chce bavit predat jen tvoji aktualni IP (a tvy zarizeni poinformovat), a dal to neresit.

7.10.2019 18:51 kysučan | skóre: 14
Rozbalit Rozbalit vše Re: Presmerovanie IP:port - priebeh komunikácie
Jedná sa o zdieľací server(cccam,newcamd protokol). Je tam pár klientov naviazaných na statickú IP_čku, a chcel som ich v rámci testu presmerovať na jeden cloud. Ak by to ale malo tiecť cez tu pôvodnu IP(B), čomu sa asi nedá vyhnúť, tak by to nemalo valný význam. Snáď len z hľadiska náučného, o čo sa teda pokúsim a ešte asi budem otravovať...
7.10.2019 19:10 NN
Rozbalit Rozbalit vše Re: Presmerovanie IP:port - priebeh komunikácie
Pokud ma klient v cardclient.conf, nebo necem podobnem natvrdo definovanou IP misto DNS hostname a nemuzes to ovlivnit, neudelas tim nic. Muzes ten provoz maximalne poslat dal.
7.10.2019 19:58 kysučan | skóre: 14
Rozbalit Rozbalit vše Re: Presmerovanie IP:port - priebeh komunikácie
Aké by teda malo byť iptables pravidlo? Mám na ip_B pc v DMZ. Na tom pc nastavím:
 sudo iptables -t nat -A PREROUTING -i enp1s0 -p tcp --dport portB -d verejná_ip_B -j DNAT --to-destination ip_C:portC
ale po
C: verejná_ip_B portB user pass 
nefunkčné...
Max avatar 7.10.2019 20:11 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Presmerovanie IP:port - priebeh komunikácie
Příklad se směrováním https:
192.168.1.1 - aktuální server
192.168.1.2 - nový server, na který přesměrováváme provoz
# nastavení DNAT (port forwarde)
iptables -t nat -A PREROUTING -p tcp --dport 443 -i ens192 --to-destination 192.168.1.2 -j DNAT

# nastavení SNAT (maskování za IP původního serveru)
iptables -t nat -A POSTROUTING -p tcp --dport 443 -o ens192 --to-source 192.168.1.1 -j SNAT
Jinými slovy, nejde ti to, protože nenastavuješ i SNAT.
Zdar Max
Měl jsem sen ... :(
7.10.2019 21:45 NN
Rozbalit Rozbalit vše Re: Presmerovanie IP:port - priebeh komunikácie
Nahore pises, ze B je v lokalni siti za routerem. Co tam teda dela ta "verejna_ip_B"? Na B by melo stacit:
sudo iptables -t nat -A PREROUTING -p tcp --dport port_B -j DNAT --to-destination verejna_C:port_C
SNAT podle Maxe myslim nutny neni. O zpetne spojeni by se mel postarat "connection tracking". V podstate to vypada takto:
A [verejna_A]        ---> [verejna_B:port_B] Router ---> [lokalni_B:port_B] B
C [verejna_C:port_C] <--- [verejna] Router          <--- [lokalni_B] B
7.10.2019 22:10 kysučan | skóre: 14
Rozbalit Rozbalit vše Re: Presmerovanie IP:port - priebeh komunikácie
Nahore pises, ze B je v lokalni siti za routerem....
To som písal pre ten konkrétny prípad. "verejna_ip_B" bolo pre prípad pc v DMZ. Ale preberme teda prípad "ze B je v lokalni siti za routerem". Tvoj príklad je nefunkčný.
7.10.2019 22:32 kysučan | skóre: 14
Rozbalit Rozbalit vše Re: Presmerovanie IP:port - priebeh komunikácie
Malý posun, tvoje pravidlo je funkčné na úrovni routra. Ale nie po presmerovani na lokálne PC.
Max avatar 7.10.2019 22:33 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Presmerovanie IP:port - priebeh komunikácie
+ nesmíš zapomínat, že musíš mít povolen ip forwarding.
# cat /proc/sys/net/ipv4/ip_forward
1
Na firewallu musíš mít taktéž povolen forwarde (pokud ho by default dropuješ).
Zdar Max
Měl jsem sen ... :(
7.10.2019 22:50 kysučan | skóre: 14
Rozbalit Rozbalit vše Re: Presmerovanie IP:port - priebeh komunikácie
Aj po:
 echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -i eth0 -j ACCEPT
iptables -A FORWARD -o eth0 -j ACCEPT
nefunkčné...
Max avatar 7.10.2019 22:58 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Presmerovanie IP:port - priebeh komunikácie
Tak sem hoď výpis (a jen zamaskuj veřejné IP adresy, na nic jiného nesahej):
# výpis fw
iptables -nvL

# a výpis nat pravidel
iptables -t nat -nvL
Zdar Max
Měl jsem sen ... :(
7.10.2019 23:03 kysučan | skóre: 14
Rozbalit Rozbalit vše Re: Presmerovanie IP:port - priebeh komunikácie
root@orangepipc:~# iptables -nvL
Chain INPUT (policy ACCEPT 12 packets, 1348 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  eth0   *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  *      eth0    0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT 12 packets, 1408 bytes)
 pkts bytes target     prot opt in     out     source               destination
root@orangepipc:~# iptables -t nat -nvL
Chain PREROUTING (policy ACCEPT 81 packets, 26991 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DNAT       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:12210 to:xx.xx.xx.xx:12210

Chain INPUT (policy ACCEPT 3 packets, 495 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 9 packets, 740 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 9 packets, 740 bytes)
 pkts bytes target     prot opt in     out     source               destination
Max avatar 7.10.2019 23:09 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Presmerovanie IP:port - priebeh komunikácie
Přidej ještě ten SNAT, co jsem psal.
Zdar Max
Měl jsem sen ... :(
7.10.2019 23:26 kysučan | skóre: 14
Rozbalit Rozbalit vše Re: Presmerovanie IP:port - priebeh komunikácie
Tak neviem:
root@orangepipc:~# iptables -t nat -A POSTROUTING -p tcp --dport 12210 -o eth0 -to--source xxx.xxx.xxx.xxx -j SNAT
Bad argument `xxx.xxx.xxx.xxx'
Try `iptables -h' or 'iptables --help' for more information.
7.10.2019 23:34 kysučan | skóre: 14
Rozbalit Rozbalit vše Re: Presmerovanie IP:port - priebeh komunikácie
--to-source...je správne
7.10.2019 23:38 kysučan | skóre: 14
Rozbalit Rozbalit vše Re: Presmerovanie IP:port - priebeh komunikácie
Tak ok, díky moc chlapi. Ešte sa možno ozvem s tou DMZ.

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.