Salut, Multumesc de raspuns. Poate nu am fost clar in descriere sau ai citit mai la suprafata. De fapt merge. imi lipsea o regula in chain-ul forward pentru pachete. Asta era cauza. Multumesc.
2017-01-22 15:37 GMT+02:00 <[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. > _______________________________________________ RLUG mailing list [email protected] http://lists.lug.ro/mailman/listinfo/rlug
