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.