dekoder, usb, naziemna telewizja cyfrowa    Prosty, tani, niezawodny:
dekoder USB do laptopa, DVB-T, MPEG-4 naziemna telewizja cyfrowa w komputerze
Strona główna Projekty stron Sieci komputerowe Kontakt Oprogramowanie Linux Testy Elektronika

Serwer DHCP na Debian Woody 3.0


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:

  • Adres IP
  • Maska podsieci
  • Bramę sieciową (Gateway)
  • Serwery DNS
  • Domenę w jakiej maszynka się znajduje
  • Czas dzierżawy
  • i inne ;)

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;
max-lease-time 14400;

# 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

 Komputery  Strony www  Linux - Debian  Sieci komputerowe
 Sieci komputerowe  Linux - Debian  Komputery  Strony www