Monday, 6 lutego 2012 (fbsd)

Kontakt | Home | English

Wrażenia po weselu w Smolarni

Wesele Eli i Szymona

Notatki: Cisco

Notatki: Cisco 2

Notatki: Cisco 3 - RIP

Notatki: Cisco 4 - EIGRP

Notatki: Cisco - odzyskiwanie haseł

Notatki: Linux

Dostęp do komputera

RAID 5 w Linuksie

Konfiguracja serwera DNS

CCNA Certified
Valid XHTML 1.0 Transitional
Valid CSS!

Dostęp do komputera

(z każdego miejsca na świecie)

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ę:

  • Twój komputer podłączony jest do internetu za pomocą łącza ADSL po kablach telefonicznych lub po kablach telewizji kablowej.
  • W domu używasz routera ADSL (czasami nazywanego modemem ADSL).

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:

obrazek1

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.

gwiazdka

Aby osiągnąć nasz cel, należy zrobić kilka rzeczy:

  • Skonfigurować serwer na komputerze i otworzyć odpowiednie porty w firewallu.
  • Poznać publiczny adres IP routera.
  • Nadać staly lokalny adres IP komputerowi.
  • Skonfigurować router tak, aby przekierowywał pakiety przeznaczone dla naszego domowego serwera pod odpowiedni adres IP w naszej lokalnej sieci.

Jeżeli wszystko zostanie skonfigurowane poprawnie, domowy komputer będzie dostępny z innych komputerów w internecie.

gwiazdka

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:

  • Nie używaj sieci bezprzewodowej (tzn. podlącz swój serwer do routera za pomocą kabla). Jeśli używasz sieci bezprzewodowej dla innych komputerów, wlącz funkcję filtrowania adresów MAC i zarejestruj tylko komputery zaufanych użytkowników.
  • Upewnij się, że router przekierowuje na Twój serwer JEDYNIE niezbędne przychodzące porty, czyli port 22 dla SSH i port 80 dla serwera www (o przekierowaniu portów piszę w jednej z następnych sekcji).

  • W takiej sytuacji firewall nie będzie Ci potrzebny, gdyż router sam w sobie pelni funkcję “stateful firewall-a”. Taki firewall daje dość dobrą ochronę. Oczywiście jeśli chodzi o bezpieczeństwo to lepiej jest dmuchać na zimne; kiedy będziesz mial pewność że wszystko dziala, możesz zająć się doszlifowaniem firewalla swojego komputera.

gwiazdka

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:

Obrazek2

gwiazdka

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.

gwiazdka

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)

gwiazdka

To wszystko! Jeżeli mamy skonfigurowane następujące rzeczy:

  • uruchomiony serwer na komputerze lokalnym ze stroną startową,
  • stały lokalny adres IP na komputerze,
  • dobrze skonfigurowany firewall na komputerze lokalnym,
  • przekierowane odpowiednie porty na routerze,
  • dobrze skonfigurowaną domenę dynDNS (TZO.org),
  • dostęp do internetu,

to nasza strona powinna wyświetlić się na dowolnym komputerze podłączonym do internetu, na którym wpiszemy nazwę naszej domeny.

Ilość komentarzy: 6

  1. Komentarze:
  2. Bardzo pomocne. Można by rozszerzyć o konfigurację na Linuksie. Pozdrawiam!

    — Rafał Sat, 26 Feb 2011

  3. kapitalny poradnik, tych infomacji szukałem, wszystko opisane zrozumiale. Wielkie Dzięki

    Paweł Sun, 9 Jan 2011

  4. Jesteś wielki - podziwiam za chęć dzielenia się wiedzą - dzięki. Pozdrawiam

    — *Grześ Tue, 12 Jan 2010

  5. Świetny poradnik dzięki !! Nie powiem bardzo ułatwi mi życie :-D

    tysek Sat, 9 Jan 2010

  6. dobry poczatek

    online Mon, 21 Dec 2009

  7. Super pozdrawiam!

    *Marek Tue, 25 Aug 2009