Jak skonfigurować serwer DHCP na Ubuntu
DHCP ( D ynamic H ost C ontrol P rotocol), jak wiadomo, jest protokołem sieciowym, który automatycznie przypisuje adresy IP komputerom klienckim w sieć. Eliminuje to żmudną pracę polegającą na ręcznym przypisywaniu adresu IP każdemu urządzeniu w dużej sieci. Ponadto usuwa konflikt, który występuje z powodu błędnego przypisania tego samego adresu IP wielu komputerom. Możemy zdefiniować zakresy adresów IP w konfiguracji serwera DHCP. Oprócz adresu IP możemy również zdefiniować inne informacje, takie jak maska podsieci, brama domyślna, informacje o serwerze DNS itp., A następnie informacje te są następnie dystrybuowane na komputery klienckie w sieci.
W tym artykule zobaczymy, jak zainstalować serwer DHCP w Ubuntu i skonfigurować jednego klienta, aby automatycznie uzyskiwał adres IP z tego serwera DHCP. Użyjemy Ubuntu 18.04 LTS opisującego procedurę wymienioną w tym artykule. Możesz postępować zgodnie z tą samą procedurą w poprzednich wersjach Ubuntu.
Instalowanie serwera DHCP
Przed przystąpieniem do instalowania serwera DHCP najpierw zaktualizuj pakiety, uruchamiając następujące polecenie w terminalu:
$ sudo apt get update
Następnie uruchom następujące polecenie w terminalu, aby zainstalować serwer DCHP:
$ sudo apt-get install isc-dhcp-server -y

Poczekaj chwilę, aż instalacja zostanie zakończona.
Konfigurowanie serwera DHCP
Po zakończeniu instalacji serwera DHCP przejdziemy do jego konfiguracji. Adres IP naszego serwera DHCP to 192.168.110.1. Aby znaleźć adres IP serwera DHCP, wpisz następującą komendę w Terminalu:
$ ip a

Plik konfiguracyjny DHCP znajduje się pod adresem /etc/dhcp/dhcpd.conf. Możemy otworzyć ten plik, uruchamiając następującą komendę w Terminalu
$ sudo nano /etc/dhcp/dhcpd.conf
Definiowanie podsieci
Dodaj następujące wiersze w pliku konfiguracyjnym, aby zdefiniować podsieć, zakres adresów IP, domenę i serwery nazw domen, jak poniżej :
Aby zdefiniować podsieć, dodaj następujące wiersze:
subnet 192.168.110.0 netmask 255.255.255.0 {  Podczas definiowania informacji o podsieci (zakres, brama domyślna, serwer nazw domen) pamiętaj, aby zakończyć linie średnikiem  (;)  i umieścił je w nawiasach klamrowych  {} . 
Aby określić zakres adresów dzierżawionych, dodaj następujący wiersz. Zakres określa zestaw puli adresów IP, z których adresy IP są przydzielane klientom DHCP
range 192.168.110.5 192.168.1.10;
Aby określić domyślną bramę, dodaj następujący wiersz:
option routers 192.168.110.1;
Aby określić serwery nazw domen, dodaj następujący wiersz:
option domain-name-servers 8.8.8.8, 8.8.4.4;
Wprowadź zmiany zgodnie z wartościami w sieci.

DHCP Globalna konfiguracja
Oto podstawowe kroki, których potrzebujemy, aby skonfigurować globalne ustawienia konfigurowania serwera DHCP.
1. Aby określić domyślny i maksymalny czas dzierżawy, znajdź parametry domyślny czas dzierżawy i maksymalny czas dzierżawy w pliku konfiguracyjnym i zmień ich wartości.
default-lease-time 600; max-lease-time 7200;
2. Jeśli masz wiele interfejsów, musisz określić, którego interfejsu powinien używać serwer DHCP do obsługi żądań DHCP.W pliku konfiguracyjnym znajdź i edytuj wartość INTERFACESv4 i zmodyfikuj ją za pomocą interfejsu, w którym chcemy obsługiwać żądania.
INTERFACESv4="eth0"
3. Aby serwer DHCP stał się oficjalnym serwerem DHCP dla klientów, odkomentuj następujący wiersz w pliku konfiguracyjnym (usuwając znak # ):
$ authoritative;

To jest podstawowa konfiguracja potrzebna do uruchomienia serwera DHCP. Po zakończeniu zapisz i zamknij plik konfiguracyjny.
Zarządzanie usługami DHCP
Po zakończeniu konfiguracji możesz użyć następujących poleceń do zarządzania serwerem DHCP:
Aby sprawdzić, czy usługa działa poprawnie, sprawdź status usługi DHCP, uruchamiając następujące polecenie w Terminal:
$ sudo systemctl status isc-dhcp-server.service
Poniżej znajduje się zrzut ekranu pokazujący status serwera DHCP. Możesz zobaczyć aktywny (uruchomiony) podświetlony na zielono, sprawdzający, czy serwer DHCP działa poprawnie:

Jest jeszcze kilka poleceń, których możemy użyć do uruchomienia, zatrzymania i ponownego uruchomienia usługi DHCP.
Aby uruchomić usługę DHCP, uruchom następującą komendę w terminalu:
$ sudo systemctl start isc-dhcp-server.service
Aby zatrzymać usługę DHCP, uruchom następującą komendę w terminalu:
$ sudo systemctl stop isc-dhcp-server.service
Aby ponownie uruchomić usługę DHCP, uruchom następującą komendę w terminalu:
$ sudo systemctl restart isc-dhcp-server.service
Konfigurowanie klienta DHCP
Będziemy musieli skonfigurować ustawienia sieciowe na komputerze klienta, aby uzyskać adres IP z serwera DHCP. Tutaj użyjemy innego Ubuntu 18.04 LTS jako komputera klienckiego.
Na komputerze klienckim otwórz aplikację Ustawienia z menu Dash Ubuntu.

Następnie wybierz kartę Sieć z lewego panelu aplikacji Ustawienia. Następnie otwórz ustawienia adaptera, klikając ikonę koła zębatego przed nią. Upewnij się, że jest włączony.

Otworzy się okno ustawień adaptera. Wybierz kartę IPv4 z górnego menu. Następnie wybierz opcję Automatic (DHCP) . Następnie kliknij Zastosuj , aby zapisać zmiany.

Następnie uruchom ponownie usługi sieciowe, uruchamiając następujące polecenie w terminalu:
$ sudo systemctl restart NetworkManager.service
Teraz uruchom terminal i wpisz następujące polecenie, aby znaleźć adres IP systemu.
$ ip a

Zobaczysz adres IP, który będzie z zakresu, który zdefiniowaliśmy w konfiguracji serwera DHCP. Jeśli klient nadal nie otrzymuje adresu IP z serwera DHCP, uruchom ponownie system.
Lista dzierżawionych adresów
Aby dowiedzieć się, jakie adresy zostały przypisane klientom przez serwer DHCP, otwórz urządzenie skonfigurowane jako serwer DHCP i wpisz następującą komendę w Terminalu:
$ dhcp-lease-list
Leasing to czas, przez jaki adres IP jest przypisywany do komputera.

Z tej listy możesz zweryfikować, czy nasz klient DHCP ma adres MAC: 00: 0c: 29: d4: cf: 69, który podał adres IP 192.168.110.5 z serwera DHCP.
Teraz instalacja została zakończona, a serwer DHCP jest uruchomiony. Możemy teraz używać tego serwera DHCP do przypisywania adresów IP.

Sławek
moim zdaniem range jest niepoprawny:
range 192.168.110.5 192.168.1.10;
powinno być:
range 192.168.110.5 192.168.110.10;
zwłaszcza że powyżej definicja sieci brzmi :
subnet 192.168.110.0 netmask 255.255.255.0