DHCP сервер на Ubuntu 16.04 LTS. Установка и настройка

0

В этой статье я вам напишу про DHCP сервер на Ubuntu 16.04. Разберемся как его установить и настроить. А теперь маленькое предисловие… Dynamic Host Configuration Protocol (DHCP) — как вы уже можете судить из названия — это протокол динамической конфигурации, позволяющий в автоматическом режиме получать IP адреса компьютерам находящимся в одной сети с сервером.

Список статей про Ubuntu Server 16.04 LTS:

Если в вашей сети 2-5 компьютеров, особой необходимости в использовании DHCP сервера нет. В таком случае можно указать адреса вручную и не париться. Но если же у вас более 5 компьютеров и периодически добавляются новые, без DHCP сервера вам просто не обойтись. Для небольших предприятий можно воспользоваться обычным WIFI роутером. Каждый, даже самый дешевый роутер, имеет на своем борту dhcp, благодаря которому подключенные к сети ПК будут получать IP адреса автоматически. Но если сеть большая, да еще и если имеет разные подсети, без полноценного dhcp сервера вам не обойтись.

Установка службы DHCP сервера

В прошлой статье рубрики linux, я описывал установку сервера на базе ubuntu server 16.04, именно на нем мы и будем устанавливать dhcp сервер. Запускаем сервер, авторизуемся в нем и первым делом устанавливаем саму службу dhcp командой:

sudo apt-get install isc-dhcp-server

Теперь необходимо настроить файлы конфигов dhcp сервера, но перед этим вам нужно узнать название сетевого интерфейса, который будет подключен к локальной сети, а не к интернету. Для этого пишем команду

ifconfig

В выводе команды видим два сетевых интерфейса (физических), по IP адресу определяем какой из них локальный, в моем случае второй интерфейс, запоминаем его имя (указано стрелкой)

сетевые интерфейсы dhcp

Открываем в редакторе файл /etc/default/isc-dhcp-server и в строке с параметром INTERFACES=″ ″, в кавычках укажите локальную сетевую карту

конфигурация dhcp сервера

Больше в этом файле ничего править не будем, сохраняем и закрываем. Теперь открываем в редакторе файл /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 «example.org»;
# option domain-name-servers ns1.example.org, ns2.example.org;

#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.

#subnet 10.152.187.0 netmask 255.255.255.0 {
#}

# This is a very basic subnet declaration.

#subnet 10.254.239.0 netmask 255.255.255.224 {
#  range 10.254.239.10 10.254.239.20;
#  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 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.20 192.168.0.254;
  option domain-name-servers 192.168.0.1;
  option domain-name «corp.loc»;
  option subnet-mask 255.255.255.0;
  option routers 192.168.0.1;
  option broadcast-address 192.168.0.255;
  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.
#host fantasia {
#  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;
#  }
#}

А теперь немного подробнее о том что мы указали в конфиге:

subnet 192.168.0.0 netmask 255.255.255.0 { ### подсеть и маска
range 192.168.0.20 192.168.0.254; ### диапазон выдаваемых адресов
option domain-name-servers 192.168.0.1; ### dns сервер который будет прописываться на клиентских машинах
option domain-name «corp.loc»; ### домен который будет прописываться на клиентских машинах
option subnet-mask 255.255.255.0; ### маска сети
option routers 192.168.0.1; ### шлюз
option broadcast-address 192.168.0.255; ### широковещательный адрес
default-lease-time 600; ### время аренды ip адреса по умолчанию
max-lease-time 7200; ### максимальное время аренды ip адреса

Всё ввели, проверили, теперь сохраните файл конфигурации, закройте его и перезагрузите службу dhcp командой:

sudo /etc/init.d/isc-dhcp-server restart 

если в статусе, после выполнения команды получили ответ ОК, значит всё сделали правильно. Теперь самое время проверить работоспособность нашего dhcp сервера. Для этого нужно включить компьютер, который находится в одной сети с сервером и проверить получил ли он автоматические настройки сетевой карты:

dhcp-prinyal-nastroyki-v-windowsКак видим ipconfig показал что компьютер «клиент» получил первый свободный IP адрес, маску и шлюз, а так же DNS-суфикс (доменное имя)

Комментарии:


Присоединяйся к нам