Dostęp do domowego komputera może być potrzebny w wielu sytuacjach. Najbardziej oczywisty powód to dostęp do własnych plików. Jasne, prawie wszyscy używają dziś kluczy USB czy innych rodzajów przenośnej pamięci. Ale niekiedy właśnie ten plik lub folder, którego potrzebujemy, został w domu... Z drugiej strony przecież nikt nie będzie zostawiał swojego komputera włączonego przez dwadzieścia cztery godziny na dobę tylko po to, żeby od czasu do czasu mieć dostęp do zapomnianego pliku. Ale może chciałbyś swoją domową stronę internetową mieć rzeczywiście... w domu? Albo skonfigurować serwer FTP lub SFTP, tak żeby już nie musieć nosić ze sobą klucza USB? Na pewno są jeszcze inne zastosowania, wszystko zależy od Twojej pomysłowości.
Na początek, warto pomyśleć jaki komputer chcesz poświęcić na swój domowy serwer. Jeżeli masz stary (lub nowy) komputer typu desktop, na pewno nie chciałbyś zostawiać go włączonego przez dwadzieścia cztery godziny na dobę. Pomijam już hałas wiatraka chłodzącego procesor, ale przecież na pewno wzrosłoby też Twoje zużycie prądu. Dlatego ja jako domowego serwera używam starego laptopa. Usunąłem z niego baterię (która i tak już nie na wiele się nadawała), podłączyłem go do prądu i położyłem pod biurkiem, tuż obok domowego routera. Świetny z niego serwer! Innym pomysłem może być tez zakup taniego laptopa typu Asus eee (za ok. 800 zł). Jednak taki tani laptop to jest już… większy wydatek, w dodatku w takiej sytuacji przydałaby się znajomość Linuksa, a to nie każdego interesuje.
Załóżmy zatem, że chcesz założyć swoją prawdziwie domową stronę internetową, używając do tego starego laptopa z systemem Windows XP.
W moim tutorialu zakładam następującą konfigurację:
W takim zestawieniu router jest urządzeniem na pograniczu dwóch sieci: internetu z jednej strony i domowego LANu (sieci lokalnej) z drugiej. Router posiada w takim przypadku przynajmniej dwa interfejsy sieciowe: jeden podłączony za pomocą wtyczki RJ11 (jeśli jest to linia telefoniczna) z dostawcą internetu, a drugi (jeden albo więcej) łączy się z siecią lokalną za pomocą wtyczki RJ45 i kabla UTP (Ethernet). Dla ułatwienia poniżej wklejam obrazek przedstawiający jak to wygląda:
Każde urządzenie, które łączy się z dowolną siecią musi mieć adres IP należący do tej konkretnej sieci. Ponieważ router łączy się z dwoma sieciami (LANem i internetem), musi mieć dwa adresy IP: jeden publiczny i jeden prywatny. Na obrazku powyżej publiczny adres IP to 89.171.205.113, a prywatny to 192.168.1.1. Adres 192.168.1.1 należy do zakresu 192.168.0.0-192.168.255.255. Jest to jeden z trzech zakresów adresów IP przeznaczonych dla prywatnych sieci.
Aby osiągnąć nasz cel, należy zrobić kilka rzeczy:
Jeżeli wszystko zostanie skonfigurowane poprawnie, domowy komputer będzie dostępny z innych komputerów w internecie.
Zacznijmy więc od punktu pierwszego:
Jeżeli używasz Linuksa, to sprawa jest bardzo prosta – jeśli chcesz łączyć się z Twoim komputerem za pomocą SSH, musisz się tylko upewnić, że masz zainstalowany i włączony sshd (openssh). Sprawdź też czy Twój firewall nie blokuje SSH, czyli że komputer nie blokuje portu 22 dla pakietów przychodzących. Jeżeli chcesz mieć serwer stron www, musisz zainstalować httpd (apache) i upewnić się że na Twoim komputerze port 80 jest otwarty dla pakietów przychodzących. Natomiast jeżeli używasz Windowsa, to pozostaje Ci zainstalowanie serwera stron www apache w wersii dla Windowsa. Oczywiście w tej sytuacji także musisz pamiętać o otwarciu portu 80.
Jeżeli konfiguracja firewalla sprawia Ci problemy, możesz na tym etapie calkowicie go wylączyć. Pamiętaj jednak aby spelnić następujące warunki:

Następnym krokiem będzie ustalenie publicznego IP routera. Jest na to wiele sposobów. Problem w tym, że nasz publiczny adres IP jest adresem zmiennym. Oznacza to, że kiedy wyłączymy router i włączymy go ponownie, najprawdopodobniej (a nawet na pewno) jego adres IP się zmieni. Adres IP przyznawany jest naszemu routerowi dynamicznie przez naszego dostawcę internetu. Dlatego musimy znaleźć sposób na ustalenie adresu IP i upewnienie się, że będzie możliwe jego ustalenie nawet jeżeli adres ten z jakichś przyczyn się zmieni. Na szczęście routery domowe oferują możliwość skonfigurowania ich w taki sposób, że periodycznie (oraz przy każdej zmianie adresu IP) kontaktują się ze specjalnym serwerem DNS (Dynamiczny DNS) i podają mu swoje IP. Routery Linksys i Belkin można skonfigurować z dynDNS.org oraz TZO.com. W tym celu należy założyć darmowe konto na jednej z tych witryn. Następnie należy wybrać darmową domenę. Moja domena (szymi.blogsite.org) to w rzeczywistości jedna z darmowych domen dyndns. Kiedy to jest już zrobione, należy zalogować się na router i popracować trochę nad jego konfiguracją. Aby zalogować się na router, należy w okienku przeglądarki internetowej (Firefoxa, Opery, IE) wpisać lokalny adres IP routera (najczęstsze adresy to 192.168.0.1, 192.168.1.1 lub 192.168.2.1, ale mogą też być inne). Jeżeli nie znasz adresu IP swojego routera, wejdź do menu start > Run (Rozpocznij) > wpisz “CMD” i naciśnij “Enter” ==> w czarnym “DOS-owym” oknie wpisz “ipconfig” i naciśnij “Enter”. Pojawi się konfiguracja IP Twojego komputera. Adres opisany jako “Brama domyślna” to właśnie adres Twojego routera.
Wpisz ten adres w pasku przeglądarki internetowej i zaloguj się na router (hasło i nazwa użytkownika to najprawdopodobniej admin). Odszukaj zakładkę DDNS (przykład 1: Linksys, przykład 2: Belkin) i uzupełnij odpowiednie pola danymi, których użyłeś przy zakładaniu konta na dynDNS.org (lub TZO.com). Kliknij zastosuj. Jeżeli wszystko skonfigurowałeś poprawnie, Twoja domena powinna być teraz skojarzona z Twoim adresem IP, nawet jeśli ten adres IP się zmieni. Na rysunku można to przedstawić następująco:

Teraz czas na nadanie stałego IP Twojemu domowemu komputerowi. Będzie to IP z prywatnego zakresu, w naszym przykładzie 192.168.1.2. Stałe IP potrzebne jest po to, aby router zawsze mógł zlokalizować nasz domowy serwer na lokalnej sieci. Gdyby to IP było zmienne, to najprawdopodobniej po restarcie serwera zmieniłoby się, uniemożliwiając routerowi odnalezienie serwera. W Windowsie robi się to w następujący sposób: W menu Start znajdź Panel Sterowania. W Panelu Sterowania wybierz aplet o nazwie “Połączenia sieciowe”. Pojawią się wszystkie Twoje połączenia sieciowe; znajdź to, z pomocą którego łączysz się z routerem. Kliknij na nie prawym klawiszem i wybierz “właściwości”. Okienko które się pojawi podzielone jest na dwa prostokątne podokna. W dolnym podoknie, znajdź protokół TCP/IP (IPv4) i kliknij na niego. Wpisz nastepujace ustawienia: adres IP: 192.168.1.2, maska podsieci: 255.255.255.0, brama domyślna: 192.168.1.1. Kiedy skończysz, zatwierdź zmiany na wszystkich oknach. Gotowe.
Teraz czas ponownie zalogować się na router. W pasku adresowym przegladarki wpisz lokalny adres routera (192.168.1.1). Wybierz zakładkę, która dotyczy przekierowania portów (“port forwarding” na większości routerów; na moim routerze Belkin z jakiegoś powodu funkcja ta nazywa się “virtual servers”). Port to “adres” programu (aplikacji), do którego skierowane są dane przesyłane przez internet. Są dwa rodzaje portów: porty wychodzące i porty przychodzące. Jest to dość skomplikowany koncept, jeśli wziąć pod uwagę, że to co “wychodzące” na jednym komputerze, staje się “przychodzącym” na innym. Dla nas najważniejsza jest informacja, że serwer www “słucha” na porcie osiemdziesiątym. Dlatego jeśli chcemy, aby nasza strona www była dostępna z internetu, musimy port 80 otworzyć. Sprawa byłaby prosta, gdyby nasz komputer był podłączony do internetu bezpośrednio. Komplikuje się natomiast, jeśli łączmy się z internetem poprzez router. Kiedy ktoś próbuje połączyć się z naszym serwerem www, router odbiera “prośbę” z internetu o przesłanie strony internetowej. Po odebraniu takiej prośby musi przekierować ją do naszego serwera. Robi to właśnie na podstawie ustawień w sekcji “port forwarding”. Jeśli ustawimy router tak, aby wszystkie “prośby” z internetu przesyłał na komputer o adresie 192.168.1.2 w sieci lokalnej (nasz serwer), wtedy serwer będzie dostępny z internetu. A więc wpisujemy: aplikacja: apache, start: 80, end: 80, protocol: both (obydwa), adres IP naszego serwera: 192.168.1.2, enable: tak (uaktywnij). W przypadku routera Belkin we wszystkich polach dotyczących portów wpisujemy 80 (Uwaga! Cały czas zakładam, że konfigurujemy serwer www; jeżeli konfigurowalibyśmy serwer SSH, to w miejsce portu 80 należałoby wpisać port 22). (przykład 3: Linksys, przykład 4: Belkin)
To wszystko! Jeżeli mamy skonfigurowane następujące rzeczy:
to nasza strona powinna wyświetlić się na dowolnym komputerze podłączonym do internetu, na którym wpiszemy nazwę naszej domeny.
Ilość komentarzy: 6
Bardzo pomocne. Można by rozszerzyć o konfigurację na Linuksie. Pozdrawiam!
— Rafał Sat, 26 Feb 2011
kapitalny poradnik, tych infomacji szukałem, wszystko opisane zrozumiale. Wielkie Dzięki
— Paweł Sun, 9 Jan 2011
Jesteś wielki - podziwiam za chęć dzielenia się wiedzą - dzięki. Pozdrawiam
— *Grześ Tue, 12 Jan 2010
Świetny poradnik dzięki !! Nie powiem bardzo ułatwi mi życie :-D
— tysek Sat, 9 Jan 2010
dobry poczatek
— online Mon, 21 Dec 2009
Super pozdrawiam!
— *Marek Tue, 25 Aug 2009