Blog (65)
Komentarze (803)
Recenzje (0)
@tflO trzech literach D

O trzech literach D

19.08.2011 00:07, aktualizacja: 19.08.2011 09:52

Elementarne elementy sieci komputerowych są znane czytelnikom dobrychprogramów nieomal intuicyjnie. Każdy wie, że coś takiego jak DHCP istnieje i że służy przydzielaniu adresów IP, podobnie DNS, który zmienia hosty na adresy ip, trochę słabiej jest z pojęciem AD, dlatego na nim skończę. Jak obiecałem napiszę też, dlaczego warto mieć to wszystko na jednej maszynie (i dlaczego nie warto również napiszę).

DHCP

DHCP to usługa która przydziela adresy ip w sieci. Jest to najprostsza (a nawet najbardziej prostacka) definicja. Jak to dokładnie wygląda?

Klient w sieci, w której działa DHCP powinien być skonfigurowany tak, by pobierać adres właśnie z tej usługi, by uniknąć konfliktów. Wysyła więc w sieć (tzw. broadcast, tzn. pakiet, który nie ma żadnego określonego odbiorcy- skierowany jest do wszystkich klientów w sieci) prośbę o odpowiedź od serwera DHCP (jest to pakiet DISCOVER). Na ten pakiet odpowiada (znów broadcast- klient DHCP przecież w dalszym ciągu nie posiada adresu IP!) i informuje, że jest serwerem DHCP i może obsłużyć żądanie (jest to pakiet OFFER). Klient kolejny raz wysyła w ethernet prośbę o podanie danych sieci (prócz adresu ip- brama, maska, serwery DNS, często też inne dane, na przykład suffix sieci) Jest to REQUEST. Rozmowa między klientem a DHCP kończy się wysłaniem pakietu ACK, który zawiera informację.

Ta sytuacja jest oczywiście idealna, choć najczęstsza. W szczególnych przypadkach pakiet REQUEST może zawierać również informację o obecnie używanym (zapisanym w konfiguracji klienta) adresem IP. Taki adres może pochodzić z innej sieci (i będzie miał na przykład błędną konfigurację bramy) lub może być już zajęty. I tutaj pora przyjrzeć się samej konfiguracji DHCP... ale tak na ogólnie.

Sama usługa może działać w trzech trybach. Po pierwsze DHCP może podawać pakiet ACK klientom posiadającym konkretny adres mac. Tu chyba nie ma za dużo do tłumaczenia. Po drugie, DHCP może podawać adresy automatycznie, czyli każdemu kolejnemu klientowi podaje następny wolny w puli. A po trzecie, DHCP podaje dynamicznie adresy. W tym przypadku każdy podany adres ma okres ważności i po jego przekroczeniu adres może być ponownie przyznany innemu klientowi.

Oczywiście większość DHCP posiada również możliwość dodawania rezerwacji (konkretny adres mac dostaje konkretny adres ip- może się przydać w przypadku drukarek sieciowych itp), odmowy (ban. Adres mac zawsze dostaje pakiet NAK).

DNS

DNS jest usługą, która tłumaczy nazwy komputerów na ich adresy IP. Znów prosta definicja, która może być uważana za prostacką. Ale tym właśnie jest DNS.

I kolejny raz - jak to tak naprawdę działa? DNS w przeciwieństwie do DHCP współpracują ze sobą i wymieniają wzajemnie informacjami (choć nie zawsze - o tym za chwilę). Adres wpisany w przeglądarce przechodzi przez kilka kroków. Po pierwsze, sprawdzane jest czy pliku hosts nie jest ten adres skonfigurowany. Po drugie, czy w cashe`u klienta DNS nie został już ten adres zapisany (przy pomocy komendy

ipconfig /displaydns

w systemach windows można się przekonać ile rzeczy spoczywa grzecznie w casheu), na samym końcu dopiero zapytanie trafia do DNS.

DNS również może różnie zareagować. Usługa może być skonstruowana tak, by konkretną strefę forwardować do innego serwera, na którym działa DNS (czyli nasz DNS odpytuje inny o konkretny adres lub grupę adresów). Może być tak, że konkretna strefa jest skonfigurowana na naszym serwerze (a to się wiąże z pewnymi niebezpieczeństwami, o czym za moment), na końcu może być tak, że nasz DNS korzysta z tzw. rootów, które przekazują globalnie informacje o mnemonicznych nazwach domen.

Napisałem, że serwery DNS ze sobą współpracują, ale nie zawsze. Napisałem tak, gdyż wymiana informacji między serwerami DNS nie zawsze jest korzystna. Wyobraźmy sobie sytuację, że uda nam się pobrać informację z lokalnego dla danej sieci serwera DNS, z którego dowiemy się, że pod adresem ip jest zapisana domena, która zdaje się być używana jako testowa. Dzięki edycji pliku hosts, mimo, że nie korzystamy z serwera DNS, możemy próbować się połączyć z tą testową aplikacją (wypadałoby poruszyć temat host headerów i vhostów, ale o tym w innym wpisie). Co więcej, z serwera DNS możemy wyczytać też nazwy komputerów działających w sieci i próbować coś spoofować. Dlatego najczęściej DNS jest skonfigurowany tak, by podawać swoje wpisy tylko dla konkretnej sieci.

Domena Windows / Active Directory

O tym jak postawić sobie w domu mała grupę roboczą można było przeczytać już na stronach dobrychprogramów. Jednak mało mówi się o Domenie Windows. Domena jest alternatywą dla grupy roboczej i odmiennym sposobem zarządzania komputerami w sieci, zwłaszcza firmowej. W przypadku grup roboczej, to "opiekun" komputera, posiadający dostęp do konta z uprawnieniami administracyjnymi jest w stanie zarządzać komputerem (tworzyć nowe konta, zmieniać konfigurację systemu itp.). Natomiast w przypadku Domeny Windows dzieje się to przy pomocy scentralizowanego systemu będącym usługą systemu Windows Server. W dzisiejszych czasach rozróżniane są dwa typy domen windows - NT oraz właśnie Active Directory, który jest jedyną słuszną (heh) implementacją protokołu LDAP. Właśnie LDAP, czyli protokół, dzięki któremu można korzystać z usług katalogowych w oparciu o ACL (te natomiast przypominają w założeniach ACL filesystemu NTFS [i tak właśnie - bełkotliwie choć z pozoru mądrze - zamknęliśmy klamrę między kontami użytkowników i filesystemem]) pozwala na przeniesienie ciężaru zarządzania kontami komputerów (a tak!) i użytkowników przez jedna maszynę. Samo AD nie daje pozornie większych korzyści. Ale wyobraźcie sobie, jak dzięki GPO wszyscy użytkownicy mają zainstalowaną najnowszą wersje przeglądarki, jak dzięki WSUS mają dokładnie te aktualizacje, które chcemy, jak dzięki WDS (a wcześniej RIS) reinstalujemy systemy bez podnoszenia tyłka z krzesła.

O tym dlaczego warto mieć to wszystko na jednej maszynie

Utworzenie domeny (czyli doinstalowanie usługi na serwerze) wiąże się nieodłącznie z posiadaniem serwera DNS, który będzie posiadał lokalną strefę domeny windows. Bez tego domena po prostu nie będzie działała (każdy komputer w domenie posiada poszerzoną nazwę, tzw FQDN, który podaje kontrolerowi właśnie DNS). W teorii można oczywiście taką strefę umieścić poza serwerem z AD, ale jest to niepraktyczne i przede wszystkim - niepraktykowane. Poza tym - sama usługa DNS nie jest wybitnie obciążająca i nie ma realnych przesłanek by mimo wszystko stawiać to poza maszyną z AD.

Inną sprawą jest DHCP. Serwer DHCP lubię mieć na tej samej maszynie co AD, z wygodnictwa. Po pierwsze - DHCP w windowsach skonfigurowałby kretyn, gdyby tylko podać mu wszystkie wymagania i będzie działał. Więc dla mnie w sam raz. Po drugie - często potrzebuję dostać się na komputer, który krąży po sieci. DNS często bywa w tym względzie zawodnym źródłem informacji - DNS jest w stanie utworzyć tylko jeden wpis dla konkretnej maszyny, dlatego ktoś, kto zarejestrował się do DNS z wifi może być nie rozpoznawalny, gdy wyłączył wifi i przeszedł na kabel. Ale w DHCP już go znajdę bez problemów.

Oczywiście są też wady takiego rozwiązania. Gdy padnie jedna maszyna sieć może się "wyłożyć". Teoretycznie. DNS można podać więcej niż jeden (i tak należy robić!), więc możemy spokojnie wskazywać maszynom naszego lokalnego DNSa oraz drugi, który wskazuje nasz provider. DHCP... DHCP jest potrzebne tylko podczas pobierania adresu ip, dlatego awaria serwera w czasie pracy nie zostanie nawet zauważona przez już pracujących. Mamy więc spory zapas czasu, by postawić jakiś serwer typu backup (ważne! Należy wskazać backupowemu DHCP inną, niepokrywającą się póle, tak by nie było konfliktów).

I to by było wszystko na tę chwilę. Czytając cały ten tekst mam jednak spory niesmak. Pozostaje mnóstwo do dopowiedzenia, mnóstwo do dopisania. Ale tekst miał być o elementarnych elementach... więc może ktoś będzie chciał i sobie sam poszuka :)

Wybrane dla Ciebie
Komentarze (6)