|
Prosty, tani, niezawodny: dekoder USB do laptopa, DVB-T, MPEG-4 naziemna telewizja cyfrowa w komputerze |
Na początek coś z ukochanej teorii.Czym jest serwer DHCP ? Rozwinięcie skrótu DHCP to nic innego jak Dynamic Host Configuration Protocol ;) na polish Protokół Dynamicznej Konfiguracji Hosta. Głównym jego celem jest dostarczanie klientom z naszej sieci wszystkich możliwych do wprowadzenia parametrów konfiguracyjnych dla protokołu TCP/IP, jest zgodny z RFC (Requirements for Internet Host). Co nam daje taki serwer ? Jest to bardzo fajne rozwiązanie dla adminów, którzy nie chcą biegać po firmie i konfigurować sieci dla każdego kompa z osobna, po co jeśli można to zrobić z jednego miejsca. Każda końcówka kliencka (system operacyjny pod którym działa stacja), która umożliwia obsługę protokołu TCP/IP obsługuje pobieranie konfiguracji właśnie z serwera DHCP, takie jak:
Pakiety i instalacja W momencie pisania tego tekstu ostatnią stabilną wersją serwera DHCP dla Debiana była paczka dhcp3-server (3.0+3.0.1rc9-2.2) przy założeniu ze mamy wkompilowane jajko co najmniej 2.2.x lub poźniejsze. Na początku był chaos teraz też jest, ale mniejszy sorry. Na początku należałoby mieć skonfigurowany chociaż jeden interfejs sieciowy eth(x) w naszym serwerku na którym mógłby sobie nasłuchiwać DeHaCeP np. tak # ifconfig eth0 192.168.2.100 netmask 255.255.255.0 \ broadcast 192.168.2.255 i routing (bramka) # route add default gw 192.168.2.99 lub wyedytować plik /etc/network/interfaces auto eth0 iface eth0 inet static address 192.168.2.100 network 192.168.2.0 netmask 255.255.255.0 broadcast 192.168.2.255 gateway 192.168.2.99 Dalej zaciągamy paczkę dhcp3-server z netu i instalujemy # apt-get install dhcp3-server i jeśli dobrze mamy skonfigurowane źródła z pakietami to po chwili serwer jest zainstalowany, lecz jeszcze nie gotowy do użycia. Serwer startujemy m.in. za pomocą polecenia z miejsca gdzie żyją demony ;) czyli: # /etc/init.d/dhcp3-server Konfiguracja Głównym plikiem, który odpowiada za poprawną pracę DHCP jest pliczek #/etc/dhcp3-server/dhcpd.conf znajduje się w nim konfiguracja naszego serwera. Teraz tylko odpalamy siakiś edytor i do roboty. # nano /etc/dhcp3/dhcpd.conf na początku wpisujemy dane naszej sieci tj. adres i maskę sieci subnet 192.168.2.0 netmask 255.255.255.0 { #określamy domenę naszej sieci option domain-name debian.net; #określamy serwer nazw DNS, teoretycznie powinien być na FreeBSD pod tym # adresem option domain-name-servers 192.168.2.99; # teraz adres broadcastu w naszej sieci option broadcast-address 192.168.2.111; #określamy bramkę / router przez który będziemy wychodzić na świat option routers 192.168.2.99; # domyślny oraz maksymalny czas dzierżawy po którym klient musi go odświeżyć, wartość wyrażona jest w sekundach default-lease-time 7200; # zakres adresów IP, które będą przydzielane poszczególnym hostom range 192.168.2.101 192.168.2.110; } Jeśli sobie zażyczymy, aby adresy IP były na sztywno powiązane z klientami w sieci możemy to zrobić przez adres MAC host pk100 { hardware ethernet 00:10:DC:74:CA:10; fixed-address 192.168.2.101; } Teraz jeśli nigdzie się nie pomyliliśmy w konfiguracji po restarcie serwera DHCP, klienci w naszej sieci powinni mieć możliwość automatycznego pobierania ustawień sieci dla protokołu TCP/IP. Na sam koniec skrypt powłoki, który dodaje nowych klientów do pliku konfiguracyjnego dhcpd.conf #!/bin/bash clear until [ "$wybor" = 3 ]; do clear echo "Skrypt Dodawania klientow do Serwera DHCP v 1.0" echo "" echo "1. Podaj sciezke do pliku konfiguracyjnego np. /etc/dhcp/dhcpd.conf" echo "2. Dodaj nowego hosta" echo "3. Koniec wpisywania" echo "" echo -n "Opcja: " read wybor if test $wybor = 1 then echo -n "Sciezka do konfiga: " read sciezka else echo "" fi if test $wybor = 2 then echo -n "Podaj nazwe hosta:" read host_name echo -n "Podaj MAC Adres:" read mac_adress echo -n "Podaj adres IP:" read ip_adress echo 'host '$host_name '{ hardware ethernet '$mac_adress'; fixed-address' $ip_adress';}' >> $sciezka else echo "" fi if test $wybor = 3 then echo "Koniec... NARA Tey" sleep 2 clear fi done Tomasz Pluciński,Michał Wereszczyński,Marek Trawka,Michał Ozyra |