CONTENT
  • CHANGES
Szukaj
counter

#top Instalacja


Instalację serwera DHCPd można wykonać na różne sposoby: od kompilacji ze źdródeł poprzez instalację pojedynczych paczek rpm za pomocą polecenia rpm skończywszy na instalacja z użyciem menedżera pakietów, który zainstaluje wszystkie niezbędne paczki wraz zależnościami.
Celem niniejszego dokumentu nie jest rozważanie różnych metod instalacji tylko nieco usprawnienie użyteczności konfiguracji serwera DHCPd po zainstalowaniu.
Wszystko to zostało opisane poniżej.



#top Poinstalacyjna konfiguracja


#top Create/Update /etc/sysconfig/dhcpd


# Which configuration file to use.
# CONFIGFILE="/etc/dhcpd.conf"
CONFIGFILE="/etc/dhcp/dhcpd.conf"

# Where to store the lease state information.
# LEASEFILE="/var/lib/dhcpd/dhcpd.leases"

# Define INTERFACES to limit which network interfaces dhcpd listens on.
# The default null value causes dhcpd to listen on all interfaces.
# INTERFACES=""
#INTERFACES="vmnet1 vmnet2 virbr1 virbr2"
#INTERFACES="virbr1 virbr2 virbr3 virbr4 virbr5"
INTERFACES="virbr1"

# Define OPTIONS with any other options to pass to the dhcpd server.
# See dhcpd(8) for available options and syntax.
# OPTIONS="-q"
OPTIONS="-q"

# Command line options here
#DHCPDARGS="-q eth0"
# You can set here various option for dhcpd
#DHCPDARGS="-cf /etc/dhcp/dhcpd.conf -q vmnet1 vmnet2 virbr1 virbr2"
#DHCPDARGS="-cf /etc/dhcp/dhcpd.conf -q virbr1 virbr2 virbr3 virbr4 virbr5"
#DHCPDARGS="-cf /etc/dhcp/dhcpd.conf -q virbr1 virbr2 virbr3 virbr4 virbr5 eth0 eth1"
DHCPDARGS="-cf $CONFIGFILE $OPTIONS $INTERFACES"





#top Create/Update config


#top Create/Update config file /etc/dhcp/dhcpd.conf


Po zainstalowaniu serwera DHCP plik konfiguracujny dhcpd.conf znajduje się w katalogu /etc, dla uporządkowania plik ten zostanie przeniesiony do katalogu /etc/dhcp (który zostanie utworzony, jeśli nie istnieje):
mkdir -p /etc/dhcp
mv /etc/dhcpd.conf /etc/dhcp/dhcpd.conf

Po zainstalowaniu serwera DHCP z paczki RPM plik konfiguracyjny DHCPd /etc/dhcp/dhcpd.conf jest najczęsciej pusty:
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample
#   see 'man 5 dhcpd.conf'

Aby zainstalowany serwer DHCPd mógł pełnić swoją rolę należy umieścić w tym pliku odpowiednie wpisy. Dzięki dostępnej dyrektywie include można konfigurację serwera zorganizować bardziej hierarchicznie (nie ma konieczności umieszczania wszystkich dyrektyw w jednym pliku), według np: interfejsów sieciowych na których nasłuchuje demon. Poniżej została przedstawiona taka konfiguracja. Demon nasłuchuje na interfejsie virbr1, konfiguracja sieci dla tego interfejsu została umieszczona w pliku virbr1-dhcpd.conf, natomiast statyczne przydziały adresów IP według MAC adresów zapisane zostały w pliku virbr1-hosts.conf. Dzięki takiej organizacji konfiguracji łatwo zarządzać serwerem oraz dodawać/usuwać kolejne podsieci.
cat >> /etc/dhcp/dhcpd.conf << EOF

# Use this to enble / disable dynamic dns updates globally.
ddns-update-style none;
#ddns-update-style on;
ddns-update-style ad-hoc;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
#log-facility local7;

# No service will be given on this subnet, but declaring it helps the
# DHCP server to understand the network topology.

include "/etc/dhcp/virbr1-dhcpd.conf";

# shared network is not allowed in included files ???
#Dec  4 22:56:29 wbcd dhcpd: /etc/dhcp/virbr1-dhcpd.conf line 5: shared-network parameters not allowed here.
#Dec  4 22:56:29 wbcd dhcpd: shared-network
#shared-network net-common {
#subnet 10.5.0.0 netmask 255.255.0.0 {
	# default gateway
#	option routers 10.5.5.5;
#	option subnet-mask 255.255.0.0;
	# Seting up an ip address is better here
#	option domain-name-servers 10.5.5.5;
#	option domain-name "example.org";
#	option nis-domain "example.org";
	
	#default-lease-time 21600;
	#max-lease-time 43200;
#	default-lease-time  3600;   # 1 hour
#	max-lease-time     14400;   # 4 hours
	
	# we want the nameserver to appear at a fixed address
#	include "/etc/dhcp/eth0-hosts.conf";

#}
#subnet 192.168.0.0 netmask 255.255.255.0 {
#	range dynamic-bootp 192.168.0.100 192.168.0.225;
#	option routers 192.168.0.1;
#}
#}

EOF



#top Create config file /etc/dhcp/virbr1-dhcpd.conf


cat > /etc/dhcp/virbr1-dhcpd.conf << EOF
#
# virbr1-dhcpd.conf
#

# shared network is not allowed in included files ???
#Dec  4 22:56:29 wbcd dhcpd: /etc/dhcp/virbr1-dhcpd.conf line 5: shared-network parameters not allowed here.
#Dec  4 22:56:29 wbcd dhcpd: shared-network
shared-network net-common {
subnet 10.41.0.0 netmask 255.255.0.0 {
	# default gateway
	option routers 10.41.0.250;
	option subnet-mask 255.255.0.0;
	# Seting up an ip address is better here
	option domain-name-servers 10.5.5.5;
	option domain-name "nat.wbcd.pl";
	option nis-domain "nat.wbcd.pl";
	
	#default-lease-time 21600;
	#max-lease-time 43200;
	default-lease-time  3600;   # 1 hour
	max-lease-time     14400;   # 4 hours
	
	# Custom Option
	next-server 10.5.5.5; # TFTP
	#option option-150 192.168.200.10; # TFTP
	filename "pxelinux.0";
	#filename "pxegrub.0";
	#filename "gpxe-0.9.5-eisa.pxe";
	
	# hosts fixed address
	include "/etc/dhcp/virbr1-hosts.conf";
}

#subnet 192.168.0.0 netmask 255.255.255.0 {
#	range dynamic-bootp 192.168.0.100 192.168.0.225;
#	option routers 192.168.0.1;
#	next-server 10.5.5.5; # TFTP
#	filename "pxelinux.0";
#}
}
EOF

Na koniec należy utworzyć pusty plik virbr1-hosts.conf (istnienie tego pliku z racji importowania jego zawartości jest niezbędne do poprawnego uruchomienia) lub można od razu dodać wpis dla przydziału adresu statycznego dla podanego MAC adresu.
echo 'host virbr1-example      { hardware ethernet 00:16:3E:01:00:33; fixed-address 10.41.0.33; }' >> /etc/dhcp/virbr1-hosts.conf





#top Start dhcpd server


/etc/init.d/dhcpd start

tail -f /var/log/daemon/daemon.log




Zmodyfikowany ostatnio: 2013/11/20 22:42:06 (10 lat temu), textsize: 6,18 kB, htmlsize: 12,2 kB

Zapraszam do komentowania, zgłaszania sugestii, propozycji, własnych przykładów, ...
Dodaj komentarzKomentarze użytkowników