Wyszukiwanie w witrynie

Jak zainstalować serwer DHCP w Ubuntu i Debianie


Protokół dynamicznej konfiguracji hosta (DHCP) to protokół sieciowy używany do umożliwiania automatycznego przypisywania komputerom-hostom adresów IP i powiązanych konfiguracji sieciowych z serwera.

Adres IP przypisany klientowi DHCP przez serwer DHCP jest w „dzierżawie”, czas dzierżawy zwykle różni się w zależności od tego, jak długo komputer kliencki będzie prawdopodobnie wymagał połączenia lub konfiguracji DHCP.

Jak działa DHCP?

Poniżej znajduje się krótki opis faktycznego działania protokołu DHCP:

  • Gdy klient (skonfigurowany do korzystania z protokołu DHCP) i podłączony do sieci zostanie uruchomiony, wysyła pakiet DHCPDISCOVER do serwera DHCP.
  • Kiedy serwer DHCP odbierze pakiet żądania DHCPDISCOVER, odpowiada pakietem DHCPOFFER.
  • Następnie klient otrzymuje pakiet DHCPOFFER i wysyła do serwera pakiet DHCPREQUEST, pokazując, że jest gotowy do odbioru informacji o konfiguracji sieci podanych w DHCPOFFER mocny> pakiet.
  • Na koniec, gdy serwer DHCP odbierze od klienta pakiet DHCPREQUEST, wysyła pakiet DHCPACK pokazujący, że klient może teraz używać przypisanego mu adresu IP.

W tym artykule pokażemy, jak skonfigurować serwer DHCP w systemie Ubuntu/Debian Linux i uruchomimy wszystkie polecenia za pomocą polecenia sudo, aby uzyskać uprawnienia użytkownika root.

Konfiguracja środowiska testowego

Do tej konfiguracji użyjemy następującego środowiska testowego.

DHCP Server - Ubuntu 16.04 
DHCP Clients - CentOS 7 and Fedora 25

Krok 1: Instalacja serwera DHCP w Ubuntu

1. Uruchom poniższe polecenie, aby zainstalować pakiet serwera DCHP, który wcześniej był znany jako dhcp3-server.

sudo apt install isc-dhcp-server

2. Po zakończeniu instalacji edytuj plik /etc/default/isc-dhcp-server, aby zdefiniować interfejsy, których DHCPD powinien używać do obsługi żądań DHCP, używając opcji INTERFEJSY .

Na przykład, jeśli chcesz, aby demon DHCPD nasłuchiwał na eth0, ustaw to w następujący sposób:

INTERFACES="eth0"

Dowiedz się także, jak skonfigurować statyczny adres IP dla powyższego interfejsu.

Krok 2: Konfiguracja serwera DHCP w Ubuntu

3. Główny plik konfiguracyjny DHCP to /etc/dhcp/dhcpd.conf, musisz tutaj dodać wszystkie informacje o swojej sieci, które mają być wysyłane do klientów.

W pliku konfiguracyjnym DHCP zdefiniowane są dwa typy instrukcji:

  • parametry – określają sposób wykonania zadania, czy zadanie ma być realizowane, czy też jakie opcje konfiguracji sieci mają zostać przesłane do klienta DHCP.
  • deklaracje – zdefiniuj topologię sieci, określ klientów, podaj adresy dla klientów lub zastosuj grupę parametrów do grupy deklaracji.

4. Teraz otwórz i zmodyfikuj główny plik konfiguracyjny, zdefiniuj opcje serwera DHCP:

sudo vi /etc/dhcp/dhcpd.conf 

Ustaw następujące parametry globalne na górze pliku, będą one miały zastosowanie do wszystkich poniższych deklaracji (podaj wartości, które mają zastosowanie w Twoim scenariuszu):

option domain-name "tecmint.lan";
option domain-name-servers ns1.tecmint.lan, ns2.tecmint.lan;
default-lease-time 3600; 
max-lease-time 7200;
authoritative;

5. Teraz zdefiniuj podsieć; tutaj skonfigurujemy DHCP dla sieci LAN 192.168.10.0/24 (użyj parametrów, które mają zastosowanie w Twoim scenariuszu).

subnet 192.168.10.0 netmask 255.255.255.0 {
        option routers                  192.168.10.1;
        option subnet-mask              255.255.255.0;
        option domain-search            "tecmint.lan";
        option domain-name-servers      192.168.10.1;
        range   192.168.10.10   192.168.10.100;
        range   192.168.10.110   192.168.10.200;
}

Krok 3: Skonfiguruj statyczny adres IP na komputerze klienckim DHCP

6. Aby przypisać stały (statyczny) adres IP do konkretnego komputera klienckiego, dodaj poniżej sekcję, w której musisz wyraźnie określić jego adresy MAC i adres IP, który ma być przypisany statycznie:

host centos-node {
	 hardware ethernet 00:f0:m4:6y:89:0g;
	 fixed-address 192.168.10.105;
 }

host fedora-node {
	 hardware ethernet 00:4g:8h:13:8h:3a;
	 fixed-address 192.168.10.106;
 }

Zapisz plik i zamknij go.

7. Następnie uruchom na chwilę usługę DHCP i włącz ją, aby uruchamiała się automatycznie przy następnym uruchomieniu systemu, w ten sposób:

------------ SystemD ------------ 
sudo systemctl start isc-dhcp-server.service
sudo systemctl enable isc-dhcp-server.service


------------ SysVinit ------------ 
sudo service isc-dhcp-server.service start
sudo service isc-dhcp-server.service enable

8. Następnie nie zapomnij zezwolić na usługę DHCP (demon DHCPPD nasłuchuje na porcie 67/UDP) na zaporze ogniowej, jak poniżej:

sudo ufw allow  67/udp
sudo ufw reload
sudo ufw show

Krok 4: Konfiguracja komputerów klienckich DHCP

9. W tym momencie możesz skonfigurować komputery klienckie w sieci tak, aby automatycznie otrzymywały adresy IP z serwera DHCP.

Zaloguj się do komputerów klienckich i edytuj plik konfiguracyjny interfejsu Ethernet w następujący sposób (zanotuj nazwę/numer interfejsu):

sudo vi /etc/network/interfaces

I zdefiniuj opcje poniżej:

auto  eth0
iface eth0 inet dhcp

Zapisz plik i wyjdź. I zrestartuj usługi sieciowe w ten sposób (lub uruchom ponownie system):

------------ SystemD ------------ 
sudo systemctl restart networking

------------ SysVinit ------------ 
sudo service networking restart

Alternatywnie, użyj GUI na komputerze stacjonarnym, aby wykonać ustawienia, ustaw Metodę na Automatyczną (DHCP), jak pokazano na zrzucie ekranu poniżej (pulpit Fedory 25).

W tym momencie, jeśli wszystkie ustawienia są poprawnie skonfigurowane, komputer kliencki powinien automatycznie otrzymywać adresy IP z serwera DHCP.

Otóż to! W tym samouczku pokazaliśmy, jak skonfigurować serwer DHCP w systemie Ubuntu/Debian. Podziel się z nami swoimi przemyśleniami w sekcji opinii poniżej. Jeśli używasz dystrybucji opartej na Fedorze, przejdź do konfiguracji serwera DHCP w CentOS/RHEL.