Wstęp
DHCP (Dynamic Host Configuration Protocol) to protokół sieciowy służący do automatycznego przydzielania adresów IP w sieciach lokalnych. Dzięki niemu, jeden komputer (serwer DHCP) może przydzielać adresy IP innym komputerom w sieci (klienci DHCP). W rezultacie, konfiguracja DHCP okazuje się niezwykle przydatna, ponieważ umożliwia administratorowi sieci centralne zarządzanie adresami IP, co znacząco ułatwia konfigurację i zarządzanie siecią.
W celu realizacji zadania wykorzystany zostanie serwer z zainstalowanym systemem Debian w wersji 11.6. Natomiast jako klient posłuży system Windows 10 Pro. Obie maszyny zostaną utworzone w środowisku VirtualBox. W systemie Debian skonfigurowane są dwie karty sieciowe: pierwsza jako „Mostkowana karta sieciowa”, druga jako „Sieć wewnętrzna”. Z kolei system Windows posiada jedną kartę sieciową skonfigurowaną jako „Sieć wewnętrzna”.
Konfiguracja karty sieciowej w Debianie
Po instalacji systemu Debian przeważnie mamy skonfigurowaną pierwszą kartę sieciową tak aby pobierała ustawienia z DHCP z routera znajdującego się w naszej sieci – możemy to tak zostawić. Dodajemy ustawienia drugiej karty sieciowej, która podłączona jest do naszej sieci wewnętrznej w VirtualBox’ie.
Edytujemy plik: /etc/network/interfaces
i dopisujemy następującą konfigurację:
auto enp0s8
iface enp0s8 inet static
address 10.0.0.1
netmask 255.255.255.0
Po edycji pliku należy zresetować ustawienia kart sieciowych poleceniem:
systemctl restart networking
Karty sieciowe powinny być ustawione jak pokazano poniżej poleceniem ifconfig
:
Serwer DHCP
Instalacja serwera DHCP
Następnie instalujemy serwer isc-dhcp-server
wykonując polecenie:
apt install isc-dhcp-server
Po instalacji naszym oczom ukaże się błąd podczas uruchamiania serwera dhcp – ma to związek z niepoprawną konfiguracją dhcp.
Konfiguracja serwera DHCP
Edytujemy plik: /etc/default/isc-dhcp-server
W nim należy odkomentować 4 linijkę:DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
oraz w 17 linijce podać na której karcie sieciowej będzie działał nasz serwer dhcp (enp0s8)
Następnie edytujemy plik /etc/dhcp/dhcpd.conf
W pierwszych linijkach należy zmienić domenę oraz adres serwera dns oraz kilka linijek niżej odkomentować linijkę authoritative
– tak aby nasz serwer stał się oficjalnym serwerem DHCP w naszzej sieci.
Klika linijek niżej dodajemy następującą konfiguracje:
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.101 10.0.0.200;
option routers 10.0.0.1;
}
Są to ustawienia zakresu adresów IP jakie będą otrzymywać komputery w naszej sieci, oraz jaka na nich będzie ustawiana brama sieciowa.
Po edycji tych dwóch plików mamy skonfigurowany w minimalnym stopniu serwer DHCP, który możemy włączyć i sprawdzić jego status:
systemctl start isc-dhcp-server
systemctl status isc-dhcp-server
Automatyczne otrzymywanie ustawień sieci w Windowsie
Po uruchomieniu Windowsa przechodzimy do linii poleceń (cmd) i uruchamiamy polecenie:
ipconfig /all
Udostępnianie Internetu
Ostatnim krokiem będzie udostępnienie Internetu komputerom w naszej sieci. Należy na serwerze zainstalować iptables
. Wykonujemy polecenie:
apt install iptables
Po zainstalowaniu tworzymy prosty skrypt, dzięki któremu udostępnimy internet komputerom znajdującym się w naszej sieci.
Tworzymy plik /etc/init.d/firewall
z następującą zawartością:
# włączenie w kernelu forwardowania
echo 1 > /proc/sys/net/ipv4/ip_forward
# czyszczenie starych reguł
iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F
iptables -t mangle -F
iptables -t mangle -X
# ustawienie domyślnej polityki
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
# utrzymanie polączeń nawiązanych
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
# udostępniaie internetu w sieci lokalnej
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE
iptables -A FORWARD -s 10.0.0.0/24 -j ACCEPT
Należy jeszcze nadać prawa do wykonywania:
chmod +x /etc/init.d/firewall
Gdy uruchomimy plik /etc/init.d/firewall
, na Windowsie możemy zaobserwować odpowiedź od serwera znajdującego się w internecie, np ping 8.8.8.8 -t
Zakończenie
Podsumowując, w niniejszym artykule omówiliśmy proces konfiguracji serwera DHCP na Debianie 11.6 oraz udostępnienie internetu dla klientów w sieci lokalnej. Dzięki zastosowaniu protokołu DHCP, możliwe jest centralne zarządzanie adresami IP w sieci, co przekłada się na większą wygodę i efektywność zarządzania zasobami sieciowymi. W konsekwencji, zainstalowanie i skonfigurowanie serwera DHCP na systemie Debian oraz automatyczne otrzymywanie ustawień sieci w Windows 10 Pro okazuje się prostym i skutecznym rozwiązaniem zarówno dla początkujących, jak i doświadczonych administratorów.
Mam nadzieję, że ten artykuł dostarczył wyczerpujących informacji na temat konfiguracji DHCP na Debianie oraz udostępniania internetu, a także pomoże w usprawnieniu zarządzania siecią lokalną. W związku z tym, zachęcam do dalszego zgłębiania tematu, eksperymentowania z różnymi opcjami konfiguracyjnymi oraz poszukiwania optymalnych rozwiązań dla swoich potrzeb.