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
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ć
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
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
Możemy też w terminalu sprawdzić poleceniem ip a. Jak widać, wszystko się zgadza, interfejs jest włączony
Teraz pozostaje nam już tylko sprawdzić połączenie między klientem, a serwerem wykorzystując polecenie ping. Ping z klienta na serwer
A teraz ping z serwera na klienta. Jak widać pingi działają w obie strony
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
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
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
Następnie wskazujemy, który interfejs powinien obsługiwać żądanie dhcp. U nas będzie to enp0s8. Wprowadzamy go i zapisujemy zmiany w pliku
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
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
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
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
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
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
Przechodzimy do terminala i poleceniem ip a sprawdzamy adresację. Jak widzimy karta sieciowa pobrała pierwszy dostępny adres, czyli 10.80.80.150
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
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
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 dhcpResetujemy też ustawienia karty sieciowej na kliencie i sprawdzamy adres. Jak widzimy działa
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
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
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ć"
Musimy jeszcze dokonać małej korekty w firewall’u: najpierw wpisujemy w konsoli: sudo iptables –t nat –A POSTROUTING –o enp0s3 –j MASQUERADE
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
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
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