Установка и настройка isc-dhcp-server в Ubuntu

Команда установки:

sudo apt-get install isc-dhcp-server

Откроем первый файл конфигурации:

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

Укажем в нем имя инетерфейса с которого будут раздаваться IP-адреса (например eth0):

INTERFACES="eth0"

Предположим что этому интерфейсу прописан статический адрес в /etc/network/interfaces:

auto eth0
iface eth0 inet static
address 192.168.5.1
netmask 255.255.255.0

Сделаем резервную копию второго файла конфигурации:

sudo mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.backup

Создадим новый:

sudo nano /etc/dhcp/dhcpd.conf

И внесем в него например следующие параметры:

default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;

subnet 192.168.5.0 netmask 255.255.255.0 {
range 192.168.5.10 192.168.5.254;
option domain-name-servers 192.168.5.1, 8.8.4.4;
option domain-name "example.net";
option routers 192.168.5.1;
option time-servers 192.168.5.1;
option broadcast-address 192.168.5.255;
default-lease-time 600;
max-lease-time 7200;
}

Чтобы зарезервировать IP-адрес конкретному устройству добавим после «max-lease-time 7200;» (до закрытия кавычки «}»):

host nazvanie {
  hardware ethernet 00:01:02:aa:bb:cc;
  fixed-address 192.168.5.101;
}

Несколько хостов удобнее указывать по одной строке:

host nazvanie { hardware ethernet 00:01:02:aa:bb:cc; fixed-address 192.168.5.101; }
host nazvanie2 { hardware ethernet 00:01:aa:aa:bb:cc; fixed-address 192.168.5.104; }

Проверить запущен ли можно командами:

sudo service isc-dhcp-server status
sudo /etc/init.d/isc-dhcp-server status
sudo netstat -tulpn | grep :67

Перезапустим сервер чтобы изменения в файлах конфигурации вступили в силу:

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

Посмотреть выданные IP можно командой:

sudo less /var/lib/dhcp/dhcpd.leases

Логи пишутся в syslog (log-facility local7), чтобы отделить их, откроем файл конфигурации syslog в текстовом редакторе:

sudo nano /etc/rsyslog.d/50-default.conf

И в конце добавим:

local7.*  /var/log/dhcp-server.log

После этого они буду писаться и в /var/log/syslog и в /var/log/dhcp-server.log

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

sudo netstat -tulpn | grep :67

Пример ловли пакетов для анализа проблем через tcpdump:

sudo tcpdump port 67 or port 68 -e -n
sudo tcpdump ether host e0:cb:4e:c3:7c:44

В реальном времени можно смотреть логи так:

tail -F /var/log/syslog | grep dhcpd

Смотрите также:
Скрипт конфигурации DHCP
Установка ISC DHCP для ABillS

Подписаться на IT Blog (RU) по Email
Subscribe to IT Blog (EN) by Email

Did my article help you? How about buying me a cup of coffee as an encouragement? Buy me a coffe.

Добавить комментарий