Re: Forward NAT catre alt port inapoi la sursa

[email protected]
Newsgroups gmane.org.user-groups.rlug.general
Message-ID <[email protected]>
On 22 January 2017 14:25:57 EET, alex alex <[email protected]> wrote:
>Salut,
>Am intrat intr-o problema interesanta care suna asa:
>Trimit de pe un linux1 un pachet (udp) catre linux2 destinatie portul
>3000.
>Vreau ca linux 2 sa raspunda cu acelasi pachet cu sursa Linux2,
>destinatia
>linux1 si portul de destinatie  3001.
>Am incercat cu NAT (SNAT+DNAT) pe linux2, insa nu merge, problema pe
>care
>eu o vad fiind urmatoarea:
>in momentul cind fac DNAT (in prerouting, pentru redirect de la portul
>3000
>la destinatia linux1 port 3001), pachetul modificat este de gen
>sursa:linux1 destinatie:linux1 port 3001. In acest moment cred ca apare
>problema (sursa si destinatia sunt identice, adica linux1), pachetul nu
>mai
>atinge postrouting fiindca nu este rutat. Fiindca nu mai atinge
>postrouting, nu mai pot face SNAT-ul ca sa imi apara pachetul de gen
>sursa
>Linux2 destinatie linux1 port 3001. Nu stiu exact cum se comporta
>kernelul,
>insa teoretic ar trebui sa ruteze totusi pachetul dupa destinatie (fara
>sa
>ia in considerare sursa)
>
>Am folosit pe linux2 :
>
>iptables -t nat -N fwd_to_dnat
>
>iptables -t nat -A fwd_to_dnat -p udp -j DNAT --to 192.168.0.1:3001
>
>iptables -t nat -I PREROUTING  -p udp  --dport 3000 -j fwd_to_dnat
>
>iptables -t nat -N fwd_to_snat
>
>iptables -t nat -A fwd_to_snat -p udp -j SNAT --to 192.168.0.2
>
>iptables -t nat -I POSTROUTING  -p udp  --dport 3001 -j fwd_to_snat
>
>
>Linux 1 are adresa 192.168.0.1, linux 2 are adresa 192.168.0.2
>Ce vreau este ca pachetul s:192.168.0.1:yyyy  d:192.168.0.2:3000 sa fie
>trimis inapoi ca s:192.168.0.2:xxxx d:192.168.0.1:3001.
>Iptables -Lnv imi spune ca se face dnat dar chain-ul de snat nu mai
>este
>triggerat.
>Stiu ca sunt si alte solutii (tip netcat/ udp forwarder) dar ma
>intereseza
>daca se poate cu iptables si cum (sau unde am gresit).
>
>o zi buna
>_______________________________________________
>RLUG mailing list
>[email protected]
>http://lists.lug.ro/mailman/listinfo/rlug

Asta nu prea e problema de NAT. In primul rind problema ta e ca orice forma normala de raspuns a lui linux2 va avea ca port destinatie nu 3001 cum vrei tu ci portul sursa pe care l-a folosit kernelul de pe linux1 cind a generat pachetul initial. Asta inseamna ca va trebui ca pe linux2 sa prelucrezi raspunsul si sa il faci sa plece catre portul 3000.

Pe scurt, ce vrei tu pare o forna de port knocking iar iptables nu pare nici pe departe raspunsul corect.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.