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
- 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.
Liczba trzymanych w buforze przetłumaczonych adresów. Ustawienie proponuję dobrać eksperymentalnie, w zależności od mocy maszyny.
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:
cache-forward .
208.67.222.222
208.67.220.220
194.204.159.1
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.
Hmm, a jakby isp nie mogl zrobic binda na routerze … ale dobrze wiedziec, ze taki DNS Cacher istnieje hmm, pozdrawiam