eRIZ’s weblog

PHP, webdesign, Linux, Windows i inne, bo nie samym chlebem człowiek żyje
Serdecznie zapraszam do udziału w ANKIECIE

Windows XP i podział łącza - ICS, NAT oraz proxy

Temat podziału łącza jest dosyć często poruszany pośród użytkowników sieci - czy to większych, czy mniejszych. W większości wypadków, najlepszym rozwiązaniem jest zakup switcha/huba z funkcją NAT. Co jednak zrobić w sytuacji, gdy posiadamy zwykły modem/inne łącze, a nie mamy możliwości wpięcia dodatkowego urządzenia rozdzielającego? W przypadku systemów uniksowych sytuacja jest prosta - odpowiednia konfiguracja iptables i mamy działający routing.

Dzisiaj omówię konfigurację w systemach Windows XP.

Przygotowania

Zakładamy, że mamy działające połączenie z internetem na komputerze-bramce i skonfigurowaną do działania sieć wewnętrzną (bramka posiada np. modem i kartę sieciową, dwie karty, czy jakieś inne konfiguracje). Sieć powinna fizycznie działać. Jeśli posiadamy tylko dwa komputery, łączymy je kablem skrosowany (gotowy do kupienia w najbliższym sklepie z akcesoriami komputerowymi bądź do wykonania przez majsterkowiczów. Sprawdzamy, czy wszystkie diody na urządzeniach mrugają (pacjenci żyją!), przejdziemy teraz do konfiguracji oprogramowania. Układ połączeń nie będzie się niczym różnił w każdym rozpatrywanym przypadku.

Uwaga: Łącze możemy udostępniać wyłącznie w sytuacji, gdy umowa/administrator na to zezwala. W przypadku braku jego zgody, udostępnianie jest łamaniem prawa!

Konfiguracja adresów IP

Generalnie ustawienia będą zależały od konkretnej sytuacji i sposobu udostępniania łącza/innych zasobów w sieci. W notce będę posługiwał się schematem:

schemat sieci

Najważniejsze jest pozostawienie pola “brama” pustego we właściwościach połączenia sieciowego (właściwości połączenia - sieć - protokół TCP/IP - właściwości) dla komputera bramki. Pozostałe maszyny w sieci - jeśli łączą się poprzez NAT/ICS - muszą mieć wpisane jako bramę adres IP bramki.

gate-ip

neostrada tp/inne usługi oparte na ADSL jako udostępniane połączenie

Jeżeli używasz neostrady/itp. i łączysz się za pomocą aplikacji dostarczonej przez operatora, musisz skonfigurować połączenie tak, aby można było je zestawiać bez jej pośrednictwa. Proces konfiguracji nie jest zbyt trudny, a pozwoli Ci np. na korzystanie z AutoConnecta.

Wystarczy, że otworzysz Połączenia sieciowe i utworzysz nowe połączenie korzystające z modemu ADSL. Program telekomunikacji tworzy takie połączenie samodzielnie, ale nie jestem pewien, czy można je w jakiś sposób modyfikować (spotykałem się z różnymi przypadkami, np. blokowania modyfikacji połączenia).

Do ustanowienia połączenia potrzebne Ci będą login i hasło, które otrzymałeś(aś) od swojego ISP-a.

kreator#1 kreator#2 kreator#3 kreator#4 kreator#5

Teraz będziemy mogli udostępniać połączenie i korzystać z niego bez pośrednictwa dodatkowych aplikacji.

Systemowy NAT

Najpierw rozejrzyjmy się, co ma nam do zaoferowania sam system. Fakt, jest NAT, ale za to ma jedną wadę - wymaga zmiany adresu IP wewnętrznej karty sieciowej na 192.168.0.1. W większości wypadków nie będzie to wielkim problemem i ICS okaże się rozwiązaniem wystarczającym.

Pierwszym krokiem będzie otwarcie Połączeń sieciowych i właściwości udostępnianego połączenia. Przechodzimy na zakładkę zaawansowane, zaznaczamy zezwalaj użytkownikom sieci na łączenie się poprzez połączenie internetowe tego komputera oraz wybieramy z listy połączenie, przez które system ma udostępniać łącze. Jeśli udostępniane połączenie, to połączenie ADSL/VPN, to na zakładce znajdzie się dodatkowa opcja ustanów połączenie telefoniczne zawsze, gdy komputer w mojej sieci próbuje uzyskać dostęp do internetu. Jej zaznaczenie spowoduje każdorazowe zestawienie połączenia na żądanie komputerów w sieci. Po kliknięciu OK system ostrzeże o zmianie adresu IP karty sieciowej, która udostępnia połączenie, przekonfiguruje systemowego firewalla (jeśli jest włączony) i udostępni połączenie.

ics

Teraz połączenie powinno być dostępne na wszystkich maszynach dołączonych do sieci. Jeśli nie jest, prawdopodobnie zainstalowane firewalle blokują łączność między maszynami.

Nie zawsze jednak jest możliwość zastosowania systemowego ICS-a do udostępniania połączenia. Najczęstszy powód, to wykorzystywanie tej samej klasy adresowej (puli) w sieci, która udostępnia łącze. Kolejny powód, to chęć wprowadzenia ograniczeń w wykorzystywaniu łącza przez użytkowników. Wówczas musimy skorzystać z innych sposobów…

NAT

O ile w Linuksie - jak już wcześniej wspomniałem - istnieje kilka narzędzi do zarządzania połączeniami (iptables, ipchains), to pod Windows sytuacja nie jest już taka prosta. Pozostają, w zasadzie, wyłącznie płatne narzędzia takie, jak 602Lan suite, Nat32, czy WinGate. Kiedyś to pierwsze było darmowe, ale od jakiegoś czasu jest płatne. Próbowałem korzystać z każdego z nich i osobiście poleciłbym Nat32. Fakt, instalacja i konfiguracja jest trochę odmienna od pozostałych (instaluje się ręcznie, jako protokół), to działa w miarę przyzwoicie. Niestety, nie miałem okazji korzystać z WinGate, ale - z recenzji - jest to program niezły i polecany - posiada największe możliwości, jeśli chodzi o regulowanie ruchu. Najdłużej korzystałem z 602Lan Suite. Instalacja może i prosta, ale konfiguracja jest toporna - trzeba poświęcić trochę czasu na dostrojenie aplikacji. Dodatkowo, program w domyślnej konfiguracji, uruchamia wiele niepotrzebnych usług, które tylko pozornie dają się wyłączyć - pomimo wyłączenia ich w programie, porty, które zajmowały, wciąż są blokowane.

Jeśli nie chcesz wydawać funduszy na zakup któregoś z powyższych programów, pozostaje Ci uruchomienie serwera proxy. Czasem zdarza się również taka sytuacja, iż pomimo braku klauzuli zakazujących, administrator blokuje udostępnianie łącza. Rozwiązaniem jest również postawienie serwera proxy.

Serwer proxy

Zasada działania jest opisana w Wikipedii, ale wtrące jeszcze parę słów od siebie. Wszystkie maszyny, które korzystają z internetu za pośrednictwem proxy, wywołują połączenia tak, jakby były one zestawiane bezpośrednio z komputera-bramki - wszystkie żądania DNS, blokady (np. poprzez plik HOSTS) mają wpływ również na wywołania pochodzące z komputerów z sieci. Dodatkowo

W tym jedynym przypadku, nie ma potrzeby ustawiania adresów bramki na komputerach w sieci. Najważniejsze, aby były w stanie komunikować się z bramką, resztą zajmuje się oprogramowanie.

bramka

Ściągamy i instalujemy FreeProxy. Jest to darmowa aplikacja, która umożliwia uruchomienie różnych rodzajów serwera proxy - zwykłe HTTP, SOCKS, czy - w najnowszej wersji - również poczty. W naszej sytuacji, skorzystamy z serwera SOCKS.

Po instalacji, uruchamiamy FreeProxy Control Centre z menu start. Dzięki niemu będziemy mogli skonfigurować nasz serwer do działania. Z listy, w głównym oknie programu, kasujemy wszystkie wpisy i klikamy Ports. Wpisujemy dowolną nazwę, która będzie identyfikowała połączenie w programie. Z listy Protocol wybieramy SOCKS 4/4a/5 Proxy. W typowych sytuacjach, nie będzie potrzebna zmiana portu. W zasadzie, to możemy już zakończyć konfigurację, ale warto poświęcić jeszcze chwilę na dostrojenie paru opcji.

Najważniejsza z nich, to Local Binding. Określa ona, na której karcie sieciowej (a tym samym, adresie IP) FreeProxy będzie oczekiwać na połączenia. Oczywiście wybieramy kartę, która odpowiada za komunikację z naszą siecią lokalną. Czym grozi ustawienie No binding? Udostępnieniem serwera dla całego Świata, czego raczej nie oczekujemy - zapchanie łącza, włamania za pośrednictwem naszego komputera (nie dotyczy w przypadku, gdy bramka nie ma bezpośredniego połączenia z internetem). Jedynie w specyficznych sytuacjach brak wyboru karty lokalnej jest dobrym wyborem (np. wykorzystanie komputera jako publiczne proxy, czy prywatne, ale po autoryzacji). Przypadków jest wiele, my wracamy do naszej sieci.

FreeProxy

Zapisujemy konfigurację (File - Save) i wybieramy opcję Start/Stop. FreeProxy może pracować w dwóch trybach - konsoli i usługi. Pierwszy przydaje się do testowania konfiguracji, itp, natomiast drugi - do codziennego użytkowania; proxy działa również wówczas, gdy żaden użytkownik nie jest zalogowany. Klikamy na start w odpowiednim miejscu i przechodzimy do konfiguracji komputerów w sieci. W przypadku, gdy uruchomiliśmy proxy w trybie usługi, możemy zamknąć Control Centre.

komputery w sieci

Właściwie, to nie ma większych problemów - w przeglądarce otwieramy opcje i wpisujemy odpowiednie dane serwera proxy - adres: adres IP bramki, port: 1080, typ: SOCKS 4 lub SOCKS 5.

Często się zdarza, że konkretna aplikacja nie udostępnia opcji łączenia za pośrednictwem proxy bądź po prostu nam się nie chce wpisywać za każdym razem danych (:P) albo korzystamy dodatkowo z zewnętrzego proxy. Wtedy z pomocą przychodzą nam programy typu FreeCap. Najwygodniejszym jest Proxifier, który potrafi przekierować cały ruch wychodzący do jednego bądź wielu serwerów proxy. Niestety, jest to wersja trial… Znalazłem jeszcze Hummingbird Socks, ale nie udało mi się go zmusić do współpracy…

epilog

Może i rozwiązaniem pośrednim byłoby uruchomienie jakiegoś lekkiego systemu uniksowego w VM? Fakt, rozwiązanie bardzo okrężne, ale za to darmowe i o naprawdę dużych możliwościach… A może Wy, Czytelnicy, macie jeszcze jakieś inne pomysły?

Dobrym uzupełnieniem do zainstalowanej usługi podziału łącza może być serwer proxy dla DNS.

1 komentarz

dopisz swój :: trackback :: RSS z komentarzami

RSS z komentarzami :: trackback

Skomentuj

Możesz używać znaczników XHTML. Dozwolone są następujące tagi: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Wszystkie komentarze przechodzą przez moderację oraz filtry antyspamowe. Nie zostanie opublikowany komentarz, jeśli:

  • Jego treść obraża kogokolwiek.
  • W treści znajdują się wulgaryzmy i słownictwo ogólnie uznane za nieprzyzwoite.
  • Mam wątpliwości co do autora wpisu (Wszelkie anonimy są kasowane - niezależnie od zawartości - wpisz prawdziwy e-mail. Jeśli usunąłem, Twoim zdaniem, komentarz niesłusznie - daj znać). Zdarza się, iż sprawdzam kim jest komentujący.
  • Zawiera jakąkolwiek formę reklamy.

Szufladka