Unix-way → Установка DHCP сервера в Ubuntu Linux

DHCP сервер присваивает IP-адреса на все клиентские компьютеры сети. Эта возможность очень часто используются в корпоративных сетях для упрощения работы и настройки. Благодаря этому все IP-адреса компьютеров хранятся в базе данных на на сервере.



DHCP сервер предоставляет настройку двумя вариантами:

1. Пул адресов — этот метод предполагает определение пулов IP-адреса или по другому диапозон адресов. Пришел клиент. Получил адрес динамически. Когда клиент не в сети в течение определенного периода, адрес опять попадает в пул и доступен другим клиентам.

2. MAC адрес — этот метод использует уникальный параметр MAC. Значит когда клиент делает запрос к серверу DHCP мы его определяем.

Установка DHCP сервера:

sudo apt-get install isc-dhcp-server


Мы имеем два основных файла для настройки. Это /etc/default/isc-dhcp-server и /etc/dhcp/dhcpd.conf.

Прежде всего, необходимо настроить файл isc-dhcp-server:

sudo vi /etc/default/isc-dhcp-server


Вы должны увидеть примерно следующее:

#Defaults for dhcp initscript
#sourced by /etc/init.d/dhcp
#installed at /etc/default/isc-dhcp-server by the maintainer scripts
#
#This is a POSIX shell fragment
#
#On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#Separate multiple interfaces with spaces, e.g. “eth0 eth1?.
INTERFACES=”eth0?


Замените eth0 на ваш сетевой интерфейс.

Теперь открываем dhcpd.conf:

sudo vi /etc/dhcp/dhcpd.conf


#
#Sample configuration file for ISC dhcpd for Debian
#
#Attention: If /etc/ltsp/dhcpd.conf exists, that will be used as
#configuration file instead of this file.
#
#
#The ddns-updates-style parameter controls whether or not the server will
#attempt to do a DNS update when a lease is confirmed. We default to the
#behavior of the version 2 packages (‘none’, since DHCP v2 didn’t
#have support for DDNS.)
ddns-update-style none;
#option definitions common to all supported networks…
option domain-name-servers ns1.example.org, ns2.example.org;
option domain-name “yourdomainname.com”;
default-lease-time 600;
max-lease-time 7200;
#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.
#subnet10.152.187.0 netmask 255.255.255.0 {
#}
#This is a very basic subnet declaration.
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.150 10.0.0.253;
option routers 10.0.0.2;
option subnet-mask 255.255.255.0;
option broadcast-address 10.0.0.254;
option domain-name-servers 10.0.0.1, 10.0.0.2;
option ntp-servers 10.0.0.1;
option netbios-name-servers 10.0.0.1;
option netbios-node-type 8;
}
#option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
#}
#This declaration allows BOOTP clients to get dynamic addresses,
#which we don’t really recommend.
#subnet 10.254.239.32 netmask 255.255.255.224 {
#range dynamic-bootp 10.254.239.40 10.254.239.60;
#option broadcast-address 10.254.239.31;
#option routers rtr-239-32-1.example.org;
#}
#A slightly different configuration for an internal subnet.
#subnet 10.5.5.0 netmask 255.255.255.224 {
#range 10.5.5.26 10.5.5.30;
#option domain-name-servers ns1.internal.example.org;
#option domain-name “internal.example.org”;
#option routers 10.5.5.1;
#option broadcast-address 10.5.5.31;
#default-lease-time 600;
#max-lease-time 7200;
#}
#Hosts which require special configuration options can be listed in
#host statements. If no address is specified, the address will be
#allocated dynamically (if possible), but the host-specific information
#will still come from the host declaration.
#host passacaglia {
#hardware ethernet 0:0:c0:5d:bd:95;
#filename “vmunix.passacaglia”;
#server-name “toccata.fugue.com”;
#}
#Fixed IP addresses can also be specified for hosts. These addresses
#should not also be listed as being available for dynamic assignment.
#Hosts for which fixed IP addresses have been specified can boot using
#BOOTP or DHCP. Hosts for which no fixed address is specified can only
#be booted with DHCP, unless there is an address range on the subnet
#to which a BOOTP client is connected which has the dynamic-bootp flag
#set.
#hostfantasia {
#hardware ethernet 08:00:07:26:c0:a5;
#fixed-address fantasia.fugue.com;
#}
#You can declare a class of clients and then do address allocation
#based on that. The example below shows a case where all clients
#in a certain class get addresses on the 10.17.224/24 subnet, and all
#other clients get addresses on the 10.0.29/24 subnet.
#class“foo” {
#match if substring (option vendor-class-identifier, 0, 4) = “SUNW”;
#}
#shared-network 224-29 {
#subnet 10.17.224.0 netmask 255.255.255.0 {
#option routers rtr-224.example.org;
#}
#subnet 10.0.29.0 netmask 255.255.255.0 {
#option routers rtr-29.example.org;
#}
#pool {
#allow members of “foo”;
#range 10.17.224.10 10.17.224.250;
#}
#pool {
#deny members of “foo”;
#range 10.0.29.10 10.0.29.230;
#}
#}


Из приведенного выше конфигурационного файла вам необходимо настроить все опции и изменить имя домена.

После изменений перезагружаем DHCP сервер:

sudo service isc-dhcp-server restart


После чего протестируем работу:

sudo netstat -uap
  • avatar
  • pashtuun
  • 3881
  • +6
  • 26 декабря 2012, 03:54

Комментариум (12)

RSS свернуть / развернуть
+
+2
avatar

terra

  • 26 декабря 2012, 08:15

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
Напугал простынёй безобразник! Закомментированые строчки в посте только страху нагоняют!!!
+
-1
avatar

pashtuun

  • 28 декабря 2012, 09:18

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
страх надо перебарывать )))
+
-2
avatar

Ctrl

  • 28 декабря 2012, 21:00

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
сразу видно копипаст, ибо такие простыни самому не удобно править… и зачем такое постить (без русских комментов конфига), если есть намного больше (по информативности) в man dhcpcd.conf
+
-2
avatar

pashtuun

  • 29 декабря 2012, 03:52

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
Вы конфиги вручную набираете? Не указывайте что мне постить а что нет. Лучше сами что нибудь покажите!
+
-2
avatar

Ctrl

  • 29 декабря 2012, 04:35

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
конечно, проще пять строчек скопировать чем в такой портянке чего то искать… убунтушникам этого не понять. тебе покажи… если ты в том что запостил ни в зуб ногой а от меня будешь требовать разжевывания… лучше ни чего не постить, чем то в чём сам ты ноль )))
+
-2
avatar

pashtuun

  • 31 декабря 2012, 13:21

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
Странно это читать от человека ничего не написавшего! От вас во всех комментариях только яд брызжит
+
-2
avatar

Ctrl

  • 31 декабря 2012, 13:25

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
ты сам ничего не написал… всего лишь копипаст
з.ы. а вы голову включите и яда не будет
+
-2
avatar

pashtuun

  • 31 декабря 2012, 13:27

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
Принято ссылками подкреплять для начала. А потом обвинять
+
-2
avatar

Ctrl

  • 31 декабря 2012, 13:53

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
на русском искать лень debianhelp.wordpress.com/2012/09/14/how-to-install-dhcp-server-in-ubuntu-12-04-1-lts-aka-precise-pangolin/

з.ы. если надумал что-то постить, то будь любезен писать комментарии к раскомментированным параметрам в кофигах и тогда тебе никто не скажет что ты копипастер… а пока так оно и есть ))
+
-2
avatar

pashtuun

  • 31 декабря 2012, 13:57

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
Советую почитать что такое копипаста
+
-2
avatar

Ctrl

  • 31 декабря 2012, 14:03

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
с удовольствием, но после того как ты напишешь комменты своими словами… слабо?
+
-1
avatar

pashtuun

  • 31 декабря 2012, 14:04

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
Не имею желания. Слабо найти на русском, потом обвиняй, тролль ;))

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.