0

Domowy serwer a problem z adresem IP

Domowy serwer - problemy z IP

W przeszłości sporządziłem prostą instrukcję opisującą w jaki sposób można postawić domowy serwer, praktycznie bez ponoszenia dodatkowych kosztów. Teraz jednak zmieniłem dostawcę internetu i okazało się, że konwencjonalne sposoby zrealizowania mojego celu nie mają tutaj zastosowania.

Jaki jest problem?

Każdy serwer dostępny z poziomu sieci WWW musi mieć przydzielony publiczny (zewnętrzny) adres IP. Wpisując ten adres do przeglądarki (ewentualnie wraz z dodatkowym numerem portu) będziemy mogli dostać się do udostępnionych zasobów naszego komputera. Dla wygody możemy podpiąć pod ten adres domenę internetową, która oszczędzi nam konieczności zapamiętywania liczb, które dodatkowo w przypadku zmiennego adresu IP (zazwyczaj występującego w domowych zastosowaniach) mogą się dość często zmieniać. W przypadku zmiennego IP przydaje się też zastosowanie DDNS (Dynamic Domain Name System), który często jest oferowany przez zewnętrzne firmy nawet za darmo. Oczywiście można też samemu zrobić taki system.

Niestety, taki scenariusz nie zawsze ma miejsce. Przykładowo u mojego nowego dostawcy internetu domowy router nie łączy się do internetu bezpośrednio przez adres publiczny, ale przez adres prywatny dostawcy (10.10.2.50) i dopiero router dostawcy przekierowuje ruch na zewnątrz. Jeśli „normalnie” korzystamy z internetu to nie ma żadnego problemu, jeśli jednak chcemy udostępniać nasze zasoby w internecie, to musimy poprosić dostawcę internetu o przekierowanie portów lub wrzucenie nas do DMZ, bo inaczej wszystkie żądania z internetu nie trafią nigdy do nas, a w najlepszym przypadku tylko do routera dostawcy. W moim przypadku taka usługa u dostawcy kosztuje 20 zł miesięcznie, a nie lubię przepłacać.

Problemem z dostępem "z zewnątrz" do naszego komputera

Problemem z dostępem „z zewnątrz” do naszego komputera.

Co z tym można zrobić?

Jeśli chcemy na poważnie korzystać z naszego domowego serwera to najlepiej i najłatwiej wykupić dostęp do tego IP (co powinno równocześnie oznaczać, że będziemy mieli stałe IP i nie będzie potrzeby bawienia się DDNSami). Jeśli jednak ma to być zwykły serwer domowy, z którego będziemy korzystać raz na tydzień, to możemy wybrać którąś z poniższych opcji:

  1. olać sprawę z dostępem z internetu i zostawić dostęp tylko z naszej lokalnej sieci. Plusem jest zwiększenie szybkości przesyłu danych, znaczny wzrost bezpieczeństwa i łatwa konfiguracja. Minusem natomiast jest brak dostępu do tych zasobów spoza naszej lokalnej sieci. Obecnie większość swojego czasu spędzam w domu, więc dla mnie to pewnie będzie najlepsze rozwiązanie,
  2. użyć produktów komercyjnych podmiotów (które działają mniej więcej na zasadzie jak w punkcie 3. tylko, że są bardziej zautomatyzowane i działają na serwerach firmowych). Minusem jest znacznie mniejsza prywatność, ograniczenia sprzętowe oraz często dodatkowe opłaty,
  3. skorzystać z tzw. reverse proxy, które polega na tym, że mamy trzeci serwer, który ma publiczne IP i który jest pośrednikiem między klientem, a faktycznym serwerem (jak na ilustracji poniżej). W tym sposobie domowy serwer łączy się z serwerem pośredniczącym i ciągle nasłuchuje na przychodzące połączenia (od serwera pośredniczącego). Gdy serwer pośredniczący dostanie jakieś żądanie to przekazuje je do domowego serwera i analogicznie, gdy dostanie od niego odpowiedź to przekazuje ją do klienta. Minusem takiego rozwiązania jest konieczność posiadania trzeciego komputera z dostępem do internetu i zewnętrznym adresem IP, nieco wolniejsze działanie oraz zainstalowanie na serwerze domowym i pośredniczącym specjalnego oprogramowania i niekoniecznie łatwej konfiguracji (taką opcję posiada m. in. Apache HTTP, Nginx oraz Spike),

    Schemat reverse proxy (odwrotnego pośrednika)

    Schemat reverse proxy (odwrotnego pośrednika)

  4. wykupić normalny serwer i mieć spokój z konfiguracją (bardzo dobre serwery dedykowane są już dostępne za ok. 100 zł/m, jeśli się wie gdzie je kupić). Najtańsze VPSy nawet za kilka złotych miesięcznie.

Rozwiązanie

Jak widać nie ma jednego dobrego rozwiązania. Darmowe sposoby pociągają za sobą sporo minusów, a płatne… są płatne. Wszystko zależy od tego jak poważnie podchodzimy do sprawy, ile jesteśmy w stanie zapłacić za nasz domowy serwer i co faktycznie chcemy na nim robić. Jestem ciekaw również Waszej opinii. Być może istnieje jakieś inne – lepsze – wyjście z tej sytuacji?

 

 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *