Przygotowanie środowiska
1. Instalacja biblioteki
Na samym początku pobieramy najważniejsze dla nas biblioteki poniższymi komendami:
sudo apt install isc-dhcp-server
sudo apt install net-tools
2. Odczytanie nazwy karty sieciowej
Wywołaj komendę diagnostyczną, aby sprawdzić aktualny identyfikator interfejsu:
ifconfig
Przykładowa odpowiedź komendy to:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
ether ca:b7:8d:41:0d:e8 txqueuelen 0 (Ethernet)
RX packets 1004 bytes 92530 (92.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 875 bytes 1901885 (1.9 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
W tym przypadku identyfikator karty siecowej to eth0.
4. Wybranie karty sieciowej w ustawieniach serwera
Aby serwer DHCP poprawnie działał musi wiedzieć na której karcie sieciowej ma działać. Z tego powodu wpiszemy to w odpowiedni plik.
sudo nano /etc/default/isc-dhcp-server
W miejscu INTERFACESv4 wpisujemy nazwę karty sieciowej, którą sprawdzaliśmy wcześniej.
INTERFACESv4="eth0"Tutaj wprowadzamy nazwę karty dla interfejsu v4.
INTERFACESv6=""Tutaj wprowadzamy nazwę karty dla interfejsu v6. (Możemy zostawić puste)
Edytowanie głównego pliku konfiguracyjnego
1. Otworzenie pliku konfiguracyjnego
Główny plik konfiguracyjny dla serwera DHCP znajduje się w lokalizacji: /etc/dhcp/dhcpd.conf, dlatego użyjemy następującej komendy do edytowania tego pliku:
sudo nano /etc/dhcp/dhcpd.conf
2. Edycja pliku
Po otwarciu i edycji najważniejszego fragmentu, skrypt powinien wyglądać jak poniżej.
subnet 192.168.10.0 netmask 255.255.255.0 {Rozpoczęcie zakresu, wpisujemy tutaj adres sieci oraz maskę.
range 192.168.10.100 192.168.10.150Zakres dostępnych adresów IP, ważne jest to, że to ma być oddzielone spacją.
option routers 8.8.8.8Wpisanie adresów DNS
}Zamknięcie zakresu
Dodatkowo w tym pliku można przypisać konretnemu urządzeniowi swój adres IP.
host fantasia {Tutaj rozpoczyna się przypisywanie IP, możemy tutaj ustalić naszą własną nazwę.
hardware ethernet 00:00:00:00:00:00Tutaj wpisujemy adres MAC danego urządzenia
fixed-address 192.168.10.155Tutaj wpisujemy jaki adres IP ma otrzymać to urządzenie.
}Tutaj zamykamy edycję
Wygodne w edycji tego pliku jest to, że wszystko już jest w domyślnej wersji tego skryptu, wystarczy tylko odnaleźć konretny fragment i usunąć hasztagi które znajdują się na początku linijki.
Wprowadzenie zmian i sprawdzenie działania
1. Ustawieni statycznego adresu
Aby serwer DHCP działał poprawnie musimy przede wszystkim na własnym komputerze ustawić taki adres IP aby był zgodny z adresem sieci. Bez tego serwer nie uruchomi się i będą występowały problemy. Do zmiany adresu użyjemy usługi NETPLAN, o której więcej w innej lekcji.
network:
ethernets:
eth0:
dhcp4: false
addresses: [192.168.10.1/24]
gateway4: 192.168.10.1
nameservers:
addresses: [8.8.8.8]
2. Restart usług serwera
Musimy zresetować usługi serwera. Do tego wykorzystamy poniższą komendę:
sudo systemctl restart isc-dhcp-server
3. Sprawdzenie działania serwera
Do sprawdzenia, czy serwer DHCP działa poprawnie wystarczy wpisać komendę:
sudo systemctl status isc-dhcp-server
Jeśli odpowiedź przy statusie będzie na zielono oznacza, że DHCP został poprawnie zrobiony.