[ ddaffy @ 05.06.2006. 02:08 ] @
Imam linux komp koji mi funkcioniše kao router u lokalnoj mreži. Internet je na eth1, a lokalna mreža na eth0, namešten je NAT i port-forwarding za bittorrent i dc++.

Kada na mom kompu neki p2p klijent, npr azureus ili dc++ primi konekciju (kroz forwardovani port), umesto adrese remote kompa koji je napravio, stoji 192.168.0.5 što je adresa routera (i jasno mi je zašto je to tako).

Mene zanima da li je tehnički izvodljivo i ako jeste kako (neki dodatni SNAT, pretpostavljam) da moj komp vidi realnu adresu remote klijenta?

NAT sam izveo sledećom komandom:

Code:
iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -d ! 192.168.0.0/255.255.255.0 -j MASQUERADE


Hvala unapred!
[ Marko_R @ 07.06.2006. 14:07 ] @
Mislim da je mnogo bitnije kako si izveo port forwarding nego masquerade, jer bi trebalo da vidiš pravu adresu pošiljaoca, a ne rutera. To je DNAT, znači menja se samo adresa primaoca, a ne pošiljaoca.
[ ddaffy @ 08.06.2006. 01:43 ] @
Rešio sam problem!

Kao što si rekao, problem je bio u forwardovanju. Za to sam koristio parče koda koje mi je generisao Guidedog, a onda sam probao sa komandama koje sam našao ovde na forumu:

Code:
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 1411 -j DNAT --to 192.168.0.1:1411
iptables -I FORWARD -i eth1 -p tcp -d 192.168.0.1 --dport 1411 -j ACCEPT

(i za udp po potrebi)

Sada i azureus i dc++ prikazuju realne ip-ove clienta.

Hvala za hint.