1

Temat: Publiczne IP w sieci LAN

Witam.
Moblilnym klientem często łącze się z serwerem udostępnającym zasoby w mojej prywatnej sieci lan.
Serwer stanowi jeden z komputerów w mojej prywatnej sieci lan (np. 192.168.0.10). Na routerze mam przekierowany odpowiednie porty aby klient mógł połączyć się z serwerem z dowolnego miejsca. Router ma publiczne, stałe IP np 87.xxx.xxx.xxx. Problem w tym że jeżeli klient znajduje się w sieci lokalnej w polu adres serwera musze mieć wpisany 192.168.0.10:nr_portu a jeżeli łącze się z innego miejsca musze dokonywać zmiany na IP publiczne.
Jak skonfigurować router aby w kliencie wpisany był adres IP publiczny (lub nazwa domeny) serwera i znajdując się w sieci lokalnej możliwe było zestawienie połączenia. Obecnie musze za każdym razem zmieniać adres serwera w polu klienta w zależności od tego czy znajduje się w sieci lokalnej czy poza nią.
Pytanie napewno banalne dla kogoś kto zajmuje się sieciami. Sądzę że chyba jasno to wytłumaczyłem własnymi słowami o co mi chodzi.
Dziękuje bardzo za pomoc.

2

Odp: Publiczne IP w sieci LAN

Jaki router, jaki system i czemu z lanu nie możesz po ip zewnętrznym się odwołać?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Publiczne IP w sieci LAN

jaki adres masz na Wan ? Jak masz 87.x.x.x to dzwoń do providera. Jak masz 192.x.x.x poproś o Twoje ustawienia z puli 87.x.x.x zaznaczjąc że Twoje łącze ma być transparentne. Miałem taką sytuację. Odpowiednie iptables musi zrobić provider.

4 (edytowany przez kicak 2013-04-30 08:48:33)

Odp: Publiczne IP w sieci LAN

Adres na wan to 10.53.1.34. Router to tl-wr1043nd wygrane OpenWRT AA.

5

Odp: Publiczne IP w sieci LAN

Ty nie masz publicznego IP. Bardziej mi to wygląda na IP z CDMA od orange smile Jak w sieci lan jesteś to do IP zewnętrznego możesz się dobić?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

6

Odp: Publiczne IP w sieci LAN

10.53.1.34 to jego ip w lan usługodawcy internetowego. Kto jest Twoim usługowadcą int. ? To jakaś sieć osiedlowa ?

7 (edytowany przez advcron 2013-04-30 13:01:20)

Odp: Publiczne IP w sieci LAN

Wydaje mi się, że koledze chodzi o SNAT. Openwrt przy przekierowaniu portów powinien robić dodatkowo SNAT ( nat_reflection).
Jeśli tego nie robi problem może być z nazwą interfejsu wan ( Ja miałem nazwany dużymi literami i nie chodziło). Jak zmieniłem na małe "wan" wtedy to zaczeło chulać.

Pozwolę sobie zacytować wycinek artykułu o iptables znalezionego w sieci:

Klient z internetu - 90.2.2.2
WAN - 80.1.2.3 - eth0
LAN - 192.168.1.1 - eth1
Serwer WWW - 192.168.1.10
Klient w LAN - 192.168.1.20

W przypadku nawiązania połączenia z zewnątrz droga pakietu jest następująca:
1. Klient wysyła żądanie na nasz adres publiczny (80.1.2.3) sądząc, że to nasz serwer www. Adres ten jest w rzeczywistości adresem naszego routera.
2. Pakiet klienta dociera do naszego routera/firewalla (na interfejs eth0). Pakiet posiada adres źródłowy klienta (90.2.2.2) i adres docelowy naszego routera (80.1.2.3).
3. Firewall dokonuje DNAT zmieniając adres docelowy ze swojego na adres serwera HTTP (192.168.1.10). Pakiet zostaje przekazany do serwera www (przez interfejs eth1).
4. Serwer www odbiera pakiet i tworzy odpowiedź w postaci nowego pakietu. Ponieważ adres, na który ma odpowiedzieć nie należy do jego sieci (90.2.2.2) przesyła pakiet na bramę domyślną 192.168.1.1 (wewnętrzny adres naszego routera).
5. Router odbiera pakiet (na interfejsie eth1) i odwraca proces DNAT zamieniając w nim adres źródłowy serwera www (192.168.1.10) na swój adres (80.1.2.3).
6. Pakiet zostaje wysłany (interfejs eth0) i dociera do klienta. Klient otrzymał pakiet z prawidłowym adresem źródłowym naszego routera - pod ten adres wysłał żądanie.

Teraz sytuacja wewnątrz sieci: 
1. Klient LAN (192.168.1.20) wysyła żądanie na adres publiczny naszego serwera www (80.1.2.3). Ponieważ adres nie znajduje się w sieci klienta, przesyła je na bramę domyślną 192.168.1.1.
2. Pakiet klienta dociera do naszego routera (na interfejs eth1).
3. Firewall dokonuje DNAT zmieniając adres docelowy na 192.168.1.10. Pakiet zostaje przekazany do serwera www (przez interfejs eth1).
4. Serwer www odbiera pakiet i tworzy odpowiedź w postaci nowego pakietu. Ponieważ adres, na który odpowiada (192.168.1.20) znajduje się w tej samej sieci wysyła go bezpośrednio do klienta LAN (nie odsyła do routera).
5. Klient otrzymuje pakiet od 192.168.1.10 (zamiast od routera). Dla klienta jest to zupełnie niespodziewany pakiet więc go odrzuca (nie wysyłał żądania do 192.168.1.10 tylko do 80.1.2.3). Klient bezskutecznie czeka na odpowiedź z 80.1.2.3.

Aby to poprawić musimy posłużyć się zmianą adresu źródłowego (SNAT) na wewnętrzny adres naszego routera: 

iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.10 --dport 80 -j SNAT --to-source 192.168.1.1

8 (edytowany przez kicak 2013-04-30 12:59:55)

Odp: Publiczne IP w sieci LAN

Dokładnie tak jak piszesz Prorock. Po rozmowie z moim usługodawcą internetowym otrzymałem odpowiedź że stosuje "... translacje adresów DNAT 1 do 1". Nie znam się na tym ale chyba plega to na zmianie adresu IP z publicznego na taki jaki usługodawca ma w swojej sieci czyli np z ip xxx.xxx.xxx.xxx na 10.53.1.36.
Na moje pytanie czy za każdym razem musze zmieniać adres w kliencie aby połączyć się z serwerem odpowiedział że bede musiał tak robić.

9 (edytowany przez prorock 2013-04-30 15:54:10)

Odp: Publiczne IP w sieci LAN

Bzdura. Niech Ci poda ustawienia WAN dla IP 87.x.x.x a nie 10.x.x.x. Wpiszesz na WAN swojego routera i będzie Ci to chulało i  będziesz po swoim publicznym IP miał dostęp do usług z wewnątrz. Nie daj sobie wmówić że się nie da bo się da !!!

Kto jest usługodawcą ?

P.s z drugiej strony po co mi takie publiczne IP?