Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: kTransfer i NAT z forwardem.
Konnekt | Forum > Inne > Archiwum > Konnekt > Support
maestro
No. Wg tego wszystkiego, co udało mi się znaleźć (p2p.chm i post kilka wątków niżej), zrobiłem tak:

CODE
iptables -t nat -A PREROUTING -p tcp -d 217.97.155.130 --dport 12321 -j DNAT --to 10.50.97.75:12321
iptables -t nat -A POSTROUTING -p tcp -d 10.50.97.75 --dport 12321 -j SNAT --to 217.97.155.130


(czyli przekierowanie 12321 na serwerku na 12321 na moim kompie). Więc mam mieć ustawione:

Lokalne:
[ ] autodetekcja (bo wpisywało mi nie wiadomo czemu zły adres wewnętrzny, z którym nie mam nic wspólnego)
IP = 10.50.97.75
Port = 12321

Przekierowanie:
[x] Jestem za NATem
[x] Posiadam przekierowany port
IP = 217.97.155.130
Port = 12321

Reszta generalnie nie ma znaczenia. Rezultat:
[list][*]osoby z zewn. IP - u mnie: "WSAE: 0\nBłąd odbierania!", u niej: "timeout." (ekg)
[*]osoby z wewn. IP - u mnie to samo, u niej: "nie można nawiązać połaczenia" (gg)
[*]ja do osoby z zewn. (ekg) - najpierw "oczekuję na połączenie zwrotne", potem ten sam komunikat ("WSAE..."), zresztą chyba siedem razy
[*]ja do osoby bez zewn. (gg) - najpierw "oczekuję na połączenie zwrotne", potem ten sam komunikat ("WSAE...").
[*]ja do osoby w LANie - bez problemu
[*]osoba w LANie do mnie - bez problemu
[/list:u]Any idea?
CODE
Rozwiązanie:
Jeśli komputer udostępniający połączenie internetowe posiada zainstalowany system linux, możemy zainstalować (lub poprosić o to administratora sieci) jeden z wielu dostępnych programów do przekierowywania portów. Najlepiej ipmasqadm - jeśli jeszcze nie masz, możesz ściagnąc z rpmfind.net lub ostatecznie inne programy tego typu jak nportredird bądź rinetd.

Dla każdego użytkownika Gadu-Gadu w sieci wewnętrznej wybieramy wtedy inny port we wtyczce PowerGG i odpowiednio uaktywniamy przekierowanie portów na serwerze.
Przykładowe polecenie przekierowujące port serwera/bramki, na której jest maskarada:

/usr/sbin/ipmasqadm portfw -a -P tcp -L IP_ZEWNETRZNE 1550 -R IP_WEWNETRZNE 1550


Możemy to zapisać do skryptu np. gadu-gadu.sh w taki sposób:

#!/bin/sh
IP_ZEWNETRZNE="217.97.1.1" #zmień na swoje;)
jas="192.168.0.1"
malgosia="192.168.0.2"
/usr/sbin/ipmasqadm portfw -a -P tcp -L $IP_ZEWNETRZNE 1550 -R $jas 1550
/usr/sbin/ipmasqadm portfw -a -P tcp -L $IP_ZEWNETRZNE 1551 -R $malgosia 1551

I analogicznie dla kolejnych komputerów w LANie. Zwróć uwagę na kolejne porty 1550,1551,1552 itp.
Odpalamy ./gadu-gadu.sh i cieszymy się możliwością rozmowy i wysyłania plików miedzy dwoma LANami :)

to jest z pliku info z tlena/pgg


nie wiem dlaczego ale ja mam osobny port local i przekierowany wpisuje poprostu 1550 i dziala bo to chyba nie ma znaczenia a z tego co napisales to port chyba jest zle przekierowany
Olórin
jakie jądro ma ten serwer linuxa ? bo od tego zależy jaką komende należy użyć
2.0 - ipautofw -A -r tcp 1550 1550 -h 192.168.0.4 (przekierowanie portu 1550 dla 192.168.0.4. można też użyć ipportfw, ale ja z tego nie korzystałem)
2.2 to chyba ipmasqadm
2.4 to chyba iptables

ps. co do 2 ostatnich mogłem się pomylic [zamienic]
maestro
Olórin - 2.4.18. Przekierowanie jest na pewno zrobione dobrze - tak samo przekierowuję sobie inne porty (TightVNC, Hamster, itp.); generalnie telnet na 217.97.155.13012321 łączy z 12321 na moim kompie.
Tu IMO może chodzić tylko o coś typu "musisz przekierować 1550, a nie 12321" albo "źle ustawiłeś opcje kTransfer, masz ustawić tak...".

Z drugiej strony, ja nie wychodzę z NATa z adresu serwera (217.97.155.130) tylko z adresu bramki (217.97.155.3). Może to ma znaczenie? Ale przecież wpisuję zewnętrzny adres mojego serwera i coś się z nim łączy (bo pojawia się ww. komunikat u mnie)...
Peper
W kernelach od 2.4 preferowane jest iptables, wcześniej było ipchains, ale nie wiem czy przekierowanie nie było w osobnym module(ipmasqadm).

iptables -t nat -A PREROUTING -p tcp --destination-port PORT -j DNAT --to twoje_ip_w_sieci:PORT

iptables -t nat -A POSTROUTING -p tcp -s twoje_ip_w_sieci --source-port PORT -j SNAT --to zew_ip_serwera:PORT

iptables -t nat -A POSTROUTING -p tcp -d 10.50.97.75 --dport 12321 -j SNAT --to 217.97.155.130 -- źle!!!, pakiety które otrzymujesz na ten port myslisz ze przychodza z twojego serwera - nie wiesz gdzie odpowiedziec

PORT - wybierz sobie cos ;]
port przekierowany moze byc obojetny dziala na prawie wszystkich aplikacjach sprawdz czy ci dziala na tlenie jak tak to znacz ze cos z konektem zle ustawiles ja mamtakie ustawienie
autodetekcja wlaczona port lokalny 1550
jestem za netem i posiadam przekierowany port oczywisce zaznaczone
wpisane IP zewnetrzne serwera i port przekierowany np 400
np w tlenie nie wazne jest jaki jest port lokalny wlasciwiwie to jest zero czyli pewnie sam wybiera
Olórin
QUOTE(maestro)
Olórin - 2.4.18. Przekierowanie jest na pewno zrobione dobrze - tak samo przekierowuję sobie inne porty (TightVNC, Hamster, itp.); generalnie telnet na 217.97.155.130:12321 łączy z 12321 na moim kompie.
Tu IMO może chodzić tylko o coś typu \"musisz przekierować 1550, a nie 12321\" albo \"źle ustawiłeś opcje kTransfer, masz ustawić tak...\".

Z drugiej strony, ja nie wychodzę z NATa z adresu serwera (217.97.155.130) tylko z adresu bramki (217.97.155.3). Może to ma znaczenie? Ale przecież wpisuję zewnętrzny adres mojego serwera i coś się z nim łączy (bo pojawia się ww. komunikat u mnie)...

IMHO ma znaczenie, bo muisz podac ip na którym jest przekierowany port, ip serwera jest bez znaczenia
maestro
QUOTE(Olórin)
IMHO ma znaczenie, bo muisz podac ip na którym jest przekierowany port, ip serwera jest bez znaczenia

Nie-e. I serwer i brama mają zewnętrzne IP. Ale *serwer* (a NIE BRAMA) przekierowuje mi port. Więc podaję w "Przekierowanie->IP:PORT" adres/port *serwera*, czyli tam, gdzie trzeba się połączyć, aby dostać się do mojego komputerka z konnektem.

Jeszcze raz: Brama w całej sprawie ma tylko taki udział, że wywołanie z mojego konnekta serwera gadu jest dla tego drugiego widoczne spod adresu bramy. Ale żeby jakikolwiek komputer mógł się połączyć z moim kTransferem musi łączyć się z adresem *serwera* (który jest podany w "Przekierowanie->IP:PORT" czyli 217.97.155.130:12321).

QUOTE(Peper)
iptables -t nat -A PREROUTING -p tcp --destination-port PORT -j DNAT --to twoje_ip_w_sieci:PORT

iptables -t nat -A POSTROUTING -p tcp --source-port PORT -j SNAT --to ip_serwera_w_sieci:PORT

PORT - wybierz sobie cos ;]

właśnie tak zrobiłem; no i są błędy.

QUOTE(MEK)
np w tlenie nie wazne jest jaki jest port lokalny wlasciwiwie to jest zero czyli pewnie sam wybiera

Yy... No ale tego to nie zrozumiałem. Nie ma znaczenia port lokalny? Sądzisz, że tlen nasłuchuje na wszystkich portach i w ten sposób sprawdza, skąd nadeszło połączenie? Lokalny musi być ten, na który jest zrobiony przekierowanie. Domyślny to 1550 (zresztą chyba niedługo taki ustawię).
Peper
maestro wyczyść wszystkie ustawienia iptables i zrób dokładnie jak jest w moim poście wyżej, działać musi ;]
nie sadze zeby teln uzywal tego portu to port z gg co do mojego przekierowanego portu mam ich kilka i powiem tak ze uzywam ich nie tylko do GG tlena itp bo do emule DC i wielu innych tam port loklany jest nie wazny
kox
Ja mam tak i działa (kernel 2.4.x):
CODE
iptables -A FORWARD -i ppp0 -o eth0 -d 192.168.0.3 -j ACCEPT
iptables -t nat -A PREROUTING -i ppp0 -p TCP --dport 1553 -j DNAT --to 192.168.0.3:1553
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2012 Invision Power Services, Inc.