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
