Serwer DHCP

Po co nam DHCP?

Serwer DHCP pomaga nam uporządkować i zautomatyzować sprawę nadawania adresów IP w sieci lokalnej. Dzięki niemu po kolejnej reinstalacji systemu (np. z wykorzystaniem programu Northon Gohst czy Particion Image) mamy jedną czynność mniej do wykonania. Program działa na architekturze klient-serwer należy więc na komputerach klienckich uruchomić odpowiedni program do współpracy. W większości systemów operacyjnych jest to jednak bardzo prosta czynność.

Instalacja oprogramowania

W przypadku dystrybucji CentOS wydajemy polecenie:

#yum install dhcp

Budowa pliku konfiguracyjnego

Plikiem konfiguracyjnym serwera dhcp jest /etc/dhcpd.conf. Budowę prostych plików konfiguracyjnych można podzielić na 3 części:

  • opcji globalnych
  • opcji dotyczących definiowanych sieci
  • opcji dotyczących definicji poszczególnych stacji

Oczywiście sytuacje bardziej skomplikowane wymagają bardziej skomplikowanych plików.

 

Podstawowe opcje globalne

Podstawową opcją globalną, a właściwie jedyną wymaganą, jest ddns-update-style określająca czy serwer DHCP aktualizuje dane na podstawie DNSa (czyli dynamicznie, stąd nazwa zmiennej). W prostszych przypadkach (nad którymi łatwiej zapanować) należy ustawić ją na none czyli wyłączyć daną ceche.

ddns-update-style none;

Wygodnie jest również ustawić poziom ważności komunikatów wysyłanych do sysloga. Dokonujemy tego przy pomocy zmiennej log-facility.

log-facility local7

Jeżeli ten serwer DHCP jest oficjalnym serwerem DHCP dla sieci lokalnej należy dodać jeszcze opcję authoritative (domyślnie jest ona wyłączona). Stworzenie tej zmiennej wynikało z faktu iż często nieświadomi użytkownicy uruchamiali własne serwery DHCP czyniąc w nim szkody. Dzięki temu obecnie już takiego zagrożenia nie ma (trzeba świadomie dodać tą zmienną do pliku).

Definicje podsieci

Określmy teraz podsieć, dla której będziemy przydzielać adresy dynamicznie z serwera. Najprostsza definicja (wystarczająca do działania) określa jedynie adres sieci i jej maskę oraz pulę adresów z której przyznamy adresy. Definicję podsieci rozpoczynamy słowem kluczem subnet po którym podajemy adres sieci, następnie piszemy kolejne słowo kluczowe netmask i otwieramy nawias kwadratowy. Wszystko co znajdzie się w obszarze tego nawiasu tyczy tylko tej podsieci. Tutaj właśnie umieszczamy informację o puli adresów dodając parametr option a za nim range i zakres adresów.

Przykład:

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.1.10 192.168.1.20;

}

Oznacza ona iż nasz serwer obejmuje sieć 192.168.1.0/255.255.255.0 i przyznaje adresy z zakresu 192.168.1.10 – 192.168.1.20.

Określenie domeny podsieci oraz jej podstawowego serwera DNS

Do określenie nazwy domeny oraz podstawowego serwera DNS używamy następujących opcji: domain-name oraz domain-name-servers . Pierwsza oczywiście określa nazwę domeny a druga serwer DNS obsługujący sieć. Poprzedzamy je słowem kluczowym option a za nimi wstawiamy odpowiednie wartości.

Przykładowe wpisy:

option domain-name "xsoft.pl";
option domain-name-servers 192.168.1.1;

Router

Określenie domyślnego komputera, który kieruje pakiety do innych sieci (czyli routera) może także nam ułatwić konfigurację ustawień sieciowych na komputerach klienckich.

option routers 192.168.0.1;

Czasy dzierżawy

Klient DHCP powinien co jakiś czas kontaktować się z serwerem DHCP by sprawdzić czy jego aktualny adres jest jeszcze ważny czy też nie powinna nastąpić jego zmiana. Dokonujemy tego przy pomocy dwóch zmiennych:

  • default-lease-time – określa czas w sekundach, po którym client DHCP ma się zgłosić by mu przyznano nowy lub przedłużono dzierżawę adresu IP.
  • max-lease-time – maksymalny czas, który klient może nie uzyskać połączenia z serwerem.

 

Przykładowe wpisy:

default-lease-time 600;
max-lease-time 7200;

Określenie domeny NIS

Serwer NIS pozwala przekazywać dane dotyczące użytkowników (np. loginy i hasła) oraz sieci (np. spis komputerów) między stacjami w podsieci. Informację o nazwie domeny możemy łatwo rozprowadzać dzięki opcji nis-domain. Na początku podajemy oczywiście słówko kluczowe option, następnie nazwę opcji czyli w naszym przypadku nis-domain a na końcu jej wartość, czyli nazwę domeny, ujętą w cudzysłowy.
Przykład:

option nis-domain "domain.org";

Definicje komputerów podsieci

Wygodnie jest nadawać automatycznie komputerom w podsieci nazwy oraz adresy IP. Dzięki temu mamy mniej kłopotów z konfigurowaniem komputerów oraz możliwości kontroli kto co robił. Przypisanie adresu oczywiście odbywa się po adresie MAC karty.

Dla każdego komputera tworzymy osobny moduł. Składnia każdego modułu jest następująca:

host nazwa_komputera {

					opcja...
					opcja...
					...
					}

Podstawowe dwie opcje to:

  • hardware ethernet określająca adres MAC karty (podawany jako argument)
  • fixed-address pozwalająca przypisać adres IP do karty (podawany jako argument)

 

Przykład:

host ziutus {
                hardware ethernet 12:34:56:78:AB:CD;
                fixed-address 192.168.1.4;
        }

W ten sposób jesteśmy w stanie na stałe przypisać adresy IP do poszczególnych kart sieciowych, czyli do każdego komputera w sieci. Pozwala to uzyskać większą wiarygodność logom z programów kontrolujących działania użytkowników w sieci lokalnej.

Przykładowy plik konfiguracyjny

ddns-update-style none;
subnet 192.168.0.0 netmask 255.255.255.0 {
        # default gateway
        option routers 192.168.0.1;
        option subnet-mask 255.255.255.0;

        option domain-name "xsoft.pl";
        option domain-name-servers 192.168.0.1;
        option nis-domain "xsoft_biuro";

        default-lease-time 21600;
        max-lease-time 43200;

        host ziutus {
                hardware ethernet 12:34:56:78:AB:CD;
                fixed-address 192.168.1.5;
        }

       host marcin {
                hardware ethernet 21:34:56:78:AB:CD;
                fixed-address 207.175.42.254;
                fixed-address 192.168.1.6;
        }

       host scorp {
                hardware ethernet 32:34:56:78:AB:CD;
                fixed-address 192.168.1.7;
        }

       host backup {
                hardware ethernet 32:34:56:78:AB:CD;
                fixed-address 192.168.1.3;
        }


}

Dodaj komentarz