eRIZ’s weblog

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

DNS Proxy pod Windows

Z racji tego, że po moich dość barwnych przygodach z dostępem do internetu, tradycją się stało, że notorycznie coś nie działa. Trafiłem na kolejnego ISP-a “powered by WiFi”. Jest dużo lepiej niźli w poprzedniej sieci, ale nie byłoby tej notki, gdyby nie pewien problem - ruch UDP@53 (czyli ukochane DNS-y) jest jakby zablokowany.

Chociaż nie jestem pewien, czy to na pewno jest coś u mnie w sieci, bo obiło mi się o uszy, że w paru innych przypadkach na (A)DSL-u w moim mieście równie dziwne rzeczy się dzieją, jeśli chodzi o DNS-y.

Summa summarum, w godzinach 14:05-23:05 (dokładnie!) jestem pozbawiony jakiejkolwiek otwierania stron poprzez odwołania domenowe domena.sdsd.asdasd.cos.sd.

Ale program, który teraz opiszę, nie jest wyłącznie dla tych, co mają problemy z DNS-ami. Jeśli chcesz zmniejszyć obciążenie łącza spowodowane ogromem połączeń do “serwerów nazw” czy zwiększyć wydajność, to Posadis jest również dla Ciebie!

Syzyfowa praca

Swego czasu wskakiwałem sobie na shella i pingiem wyciągałem IP. Tak uzyskany adres wklepywałem do przeglądarki. Ok, przy niektórych hostingach się sprawdza, ale co w sytuacji, gdy strona jest utrzymywana na usłudze współdzielonej? Tam, bez przesłanej do serwera nazwy domenowej, ani rusz.

Trochę kopania po sieci i znalazłem - Posadis. Jest to Open Source’owy serwer proxy DNS dostępny zarówno dla systemów Uniksowych jak i dla Win32.

Posadis? Posadzę! - instalujemy

Nie ma to jak ukochany SourceForge. Na stronie projektu udajemy się na podstronę wydania (trochę pogmatwane, ale po newsach na stronie głównej można dojść), po czym ściągamy instalator dla Windows.

Paczka zawiera wszystkie narzędzia przydatne przy pracy z serwerem. Instalacja jest bardzo prosta i nie powinna sprawić jakichkolwiek problemów.

Siedzi? Niech się rozgości! - konfiguracja

Po instalacji, przechodzimy do katalogu z konfiguracją serwera proxy (skrót Configuration directory w grupie Posadisa w menu start). Edytujmy plik posadisrc.txt.

Plik jest dosyć dobrze opisany, więc osoby obeznane z angielskim technicznym poradzą sobie bez problemu.

Opiszę najważniejsze opcje.

  • Ścieżki do plików

    Jeśli posiadasz w swoim systemie plików podział grupujący dzienniki, cache, itp, to zmień opcje:

    • logfile “E:\var\log\posadis.log” - plik dziennika
    • datadir “E:\var\posadis” - katalog na dane programu, typu cache adresów

    Polecam zmianę domyślnych ścieżek, aczkolwiek nie jest to konieczne do poprawnego działania usługi.

  • listen 127.0.0.1, 10.0.0.1

    Opcja odpowiedzialna za bezpieczeństwo. Jeśli chcesz, aby każdy miał dostęp do Twojego serwera, nie ma problemu - zostaw domyślną wartość any. Przypuszczam, że chcesz dać dostęp tylko w swojej sieci i/lub sobie, więc podaj tu oddzielone przecinkami adresy IP adapterów, na których proxy ma oczekiwać na żądania.

  • max_cache_items 100000
  • Liczba trzymanych w buforze przetłumaczonych adresów. Ustawienie proponuję dobrać eksperymentalnie, w zależności od mocy maszyny.

  • max_threads 50

    Liczba jednocześnie działających wątków. Tutaj tą wartość należy ustalić eksperymentalnie, w zależności od zapotrzebowania i mocy komputera.

  • cache_to_file true

    Bardzo przydatna opcja. Powoduje ona zapisywanie bufora na dysku przy zamykaniu. Przy następnym uruchomieniu, ów do bufora zostaną od razu załadowane zapisane dane.

A gdzie się podziały wpisy moich standardowych DNS-ów? Odpowiedź: nie ma. Posadis posiada “fabrycznie” wpisane adresy głównych serwerów DNS i to do nich kieruje zapytania. Może się wydawać, że przez to rozwiązywanie nazw będzie działało wolniej, ale w praktyce - nie zauważyłem jakiegoś spowolnienia. Jeśli chcesz wpisać swoje własne DNS-y, np. OpenDNS czy stare dobre tepsańskie, to możesz je bez problemu dopisać. Znajdź sekcję cache-forward i zmień ją według wzoru:

  1. cache-forward .
  2.   208.67.222.222
  3.   208.67.220.220
  4.   194.204.159.1
  5.   194.204.152.34

…i wstań - instalacja i uruchomienie usługi

Serwera można używać na dwa sposoby: w trybie konsoli i usługi. Zdecydowanie polecam tryb usługi. Co do tego pierwszego, to nie ma co się za bardzo rozpisywać, ponieważ wystarczy klik na Start Posadis i tyle. Aby zamknąć, CTRL+C.

Usługę instalujemy za pomocą skrótu Install or remove service. Usługę uruchamiamy z poziomu panelu sterowania i narzędzia Usługi.

Poprawność działania serwera możemy sprawdzić narzędziem DNS Query Tool. Wystarczy wpisać nazwę jakiejś domeny i upewnić się, że jako odpytywany serwer wpisany jest adres wskazujący na nasz komputer (127.0.0.1).

Porozmawiajmy! - konfiguracja połączeń

Otwieramy właściwości połączenia sieciowego, dzięki któremu łączymy się z internetem. Następnie, edytujemy właściwości protokołu TCP/IP, konkretnie adresy serwerów DNS. Przełączamy opcję dotyczącą ręcznego wprowadzenia adresów serwerów nazw (o ile opcja nie jest już włączona) i jako serwer podstawowy podajemy 127.0.0.1. Drugie pole pozostawiamy puste.

Jeśli w konfiguracji zezwoliliśmy na korzystanie z naszego proxy innym komputerom, to nie ma problemu - wystarczy wpisać adres IP, na którym jest postawione nasze proxy.

SOA#1

tylko DNS?

Oprócz samego serwera DNS możesz również postawić inne proxy - napisałem o tym przy okazji omawiania sposobów podziału łącza podz Windows.

6 komentarzy

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