KONFIGURACJA DHCP W UBUNTU SERVER 18.04

I. Połączenie dwóch hostów.

Ustawienia kart

Na początku musimy podłączyć do naszego serwera jakiegoś klienta. Będzie nim host z zainstalowanym systemem Ubuntu Desktop 18.04. W ustawieniach naszego Virtual Box'a klient i serwer muszą mieć ustawione na swoich interfejsach sieciowych Sieć wewnętrzną i taką samą jej nazwę - u nas LAN-U

Konfiguracja sieci na Ubuntu Desktop

Sprawdzamy na kliencie (Ubuntu Desktop) ustawienia karty sieciowej. Uruchamiamy terminal i wydajemy polecenie ip a. Widzimy, że interfejs enp0s3 nie ma przypisanego adresu IP i dlatego teraz musimy go skonfigurować

Konfiguracja sieci na Ubuntu Desktop

Możemy to zrobić poprzez konfigurację pliku znajdującego się w katalogu /etc/natplan lub w trybie graficznym, uruchamiając Sieć. Tam wybieramy Przewodowe, włączamy je i wchodzimy w Opcje, gdzie wprowadzamy adres IP, maskę, bramę i DNS. Wykorzystujemy adresację z podsieci, obowiązującej na serwerze

Konfiguracja sieci na Ubuntu Desktop

Po kliknięciu przycisku Zastosuj wyłączamy i włączamy kartę sieciową (suwak w prawym górnym rogu). Widać, że konfiguracja została pobrana właściwie

SPrawdzenie konfiguracji

Możemy też w terminalu sprawdzić poleceniem ip a. Jak widać, wszystko się zgadza, interfejs jest włączony

Sprawdzenie połączenia

Teraz pozostaje nam już tylko sprawdzić połączenie między klientem, a serwerem wykorzystując polecenie ping. Ping z klienta na serwer

Sprawdzenie połączenia

A teraz ping z serwera na klienta. Jak widać pingi działają w obie strony

Sprawdzenie połączenia

Zanim przejdziemy do instalacji serwera dhcp, powinniśmy sprawdzić czy mamy dostęp do Internetu. Wykonujemy to poleceniem: ping 8.8.8.8 oraz ping www.google.pl. Jak widać jest ok

II. Instalacja serwera dhcp w Ubuntu Server 18.04.

Instalacja serwera DHCP

Teraz możemy zainstalować usługę serwera dhcp. Wystarczy wydać polecenie sudo apt install isc-dhcp-server -y. Jak widać wszystko przebiegło pomyślnie

Aktualizacja pakietów

Sprawdzamy czy nasza usługa działa poleceniem sudo systemctl status isc-dhcp-server. Jak widzimy jeszcze nie, a to oznacza, że musimy ją skonfigurować. Najpierw edytujemy odpowiedni plik poleceniem sudo nano /etc/default/isc-dhcp-server

Konfiguracja serwera DHCP

Następnie wskazujemy, który interfejs powinien obsługiwać żądanie dhcp. U nas będzie to enp0s8. Wprowadzamy go i zapisujemy zmiany w pliku

Konfiguracja serwera DHCP

Następnie edytujemy kolejny plik poleceniem sudo nano /etc/dhcp/dhcpd.conf. Wprowadzamy klika zmian, np. w opcjach wspólnych dla wszystkich sieci dodamy domenę egzamin.local oraz authoritative uaktywniamy. Zapisujemy zmiany w pliku i przechodzimy do kolejnej jego sekcji

Konfiguracja serwera DHCP

Przechodzimy do sekcji dotyczącej konfiguracji wewnętrznej podsieci i tam podajemy adresację z naszej podsieci:
adres podsieci: 10.80.80.0
maska podsieci: 255.255.255.0
zakres serwera dhcp (50 adresów): 10.80.80.150 10.80.80.199
adres serwera DNS: 10.80.80.1
nazwa domeny: "egzamin.local"
adres routera: 10.80.80.1
adres rozgłoszeniowy: 10.80.80.255
czasy dzierżawy pozostawiamy bez zmian
Zapisujemy zmiany i zamykamy nasz plik

Konfiguracja serwera DHCP

Następnie uruchamiamy nasz serwer dhcp poleceniem sudo systemctl start isc-dhcp-server oraz sprawdzamy czy usługa została włączona poleceniem sudo systemctl status isc-dhcp-server. Jak widać nasza usługa działa

Sprawdzanie dzierżawy

Teraz idziemy na klienta i sprawdzamy czy serwer dhcp przydzieli nam odpowiedni adres. Jak widzimy, mamy adres nie z puli serwera dhcp, ale wynika to z tego, że mamy przypisany ręcznie do karty sieciowej. Przestawiamy zatem na dhcp

Sprawdzanie dzierżawy

Znanym już sposobem uruchamiamy Sieć. Tam wybieramy Przewodowe, wchodzimy w Opcje i w zakładce Ustawienia IPv4 ustawiamy Automatycznie. Zapisujemy zmiany i restartujemy ustawienia sieciowe

Sprawdzanie dzierżawy

Po restarcie sprawdzamy w Opcjach co pobrała nasza karta. Jak widzimy karta sieciowa pobrała pierwszy dostępny adres, czyli 10.80.80.150

Sprawdzanie dzierżawy

Przechodzimy do terminala i poleceniem ip a sprawdzamy adresację. Jak widzimy karta sieciowa pobrała pierwszy dostępny adres, czyli 10.80.80.150

Sprawdzanie dzierżawy

Możemy też sprawdzić (jeśli mamy taką fizyczną możliwość) co będzie pobierał drugi klient, z systemem operacyjnym Windows. Uruchamiamy wiersz poleceń i wpisujemy ipconfig. Jak widzimy karta sieciowa pobrała kolejny dostępny adres, czyli 10.80.80.151. Możemy nawet "puścić pinga" na drugiego klienta

Sprawdzanie dzierżawy

Z poziomu serwera możemy też sprawdzić kto obecnie jest do nas podłączony (korzysta z dzierżawy). Używamy do tego polecenia sudo dhcp-lease-list. Jak widać wszystko się zgadza, mamy dwóch klientów z właściwymi adresami

Sprawdzanie dzierżawy

Na koniec możemy zarezerwować konkretny adres IP dla konkretnego hosta. Edytujemy plik sudo nano /etc/dhcp/dhcpd.conf i tam dopisujemy rezerwację adresu. Podajemy nazwę hosta, adres IP oraz adres MAC komputera dla którego dokonujemy rezerwacji.

U nas rezerwujemy adres IP 10.80.80.33. Zapisujemy i restartujemy serwer dhcp
Sprawdzanie dzierżawy

Resetujemy też ustawienia karty sieciowej na kliencie i sprawdzamy adres. Jak widzimy działa

III. Konfiguracja routingu w Ubuntu Server 18.04.

Konfiguracja routingu

Jak widzimy powyżej, połączenie klienta z serwerem jest, na serwerze mamy dostęp do Internetu, ale na kliencie nie. Musimy więc skonfigurować routing na serwerze

Konfiguracja routingu

Najpierw edytujemy odpowiedni plik poleceniem sudo nano /proc/sys/net/ipv4/ip_forward i zmieniamy tam wartość z 0 na 1. Zapisujemy oczywiście zmiany

Konfiguracja routingu

By wartość ta nie zmieniała się po restarcie systemu, trzeba edytować plik /etc/sysctl.conf i tam dokonać jeszcze pewnych zmian. Edytujemy plik poleceniem: sudo nano /etc/sysctl.conf i wyszukujemy wpis #net.ipv4.ip_forward = 1 i należy go "odhaszować"

Konfiguracja routingu

Musimy jeszcze dokonać małej korekty w firewall’u: najpierw wpisujemy w konsoli: sudo iptables –t nat –A POSTROUTING –o enp0s3 –j MASQUERADE

Konfiguracja routingu

Możemy już sprawdzić na kliencie dostęp do Internetu. Jak widzimy wszystko działa. Ten sposób działa jednak tylko do restartu systemu

Konfiguracja routingu

Musimy stworzyć odpowiedni skrypt poleceniem: sudo nano /etc/rc.local i wpisujemy do niego powyższą zawartość. Zapisujemy oczywiście zmiany i jeszcze musimy nadać uprawnienia do wykonania naszego skryptu. Następnie restartujemy serwer i sprawdzamy czy routing działa

Konfiguracja routingu

Sprawdzamy na obydwu klientach czy działa Internet. Jak widać ping na stronę zse.rzeszow.pl zadziałał, tak więc nasz routing został poprawnie skonfigurowany