Найти в Дзене
Евгений Дергунов

Настройка DHCP-сервера на FreeBSD

DHCP-сервер (Dynamic Host Configuration Protocol) - это протокол, который позволяет компьютерам и другим устройствам автоматически получать IP-адреса и иные параметры сетевой конфигурации при подключении к сети.

Порядок выполнения настройки

1) Войти в систему с правами суперпользователя (root)

2) Найти актуальную версию пакета dhcp

Для поиска версии пакета необходимо ввести команду (рисунок 1):

pkg search “isc-dhcp.*-server”

Рисунок 1
Рисунок 1

В данном примере пакет имеет версию 44. Для его установки вводится команда:

pkg install isc-dhcp44-server

3) Настройка конфигурационного файла DHCP-сервера

Прежде, чем выполнять настройку рекомендуется сохранить копию оригинального файла с помощью команды:

cp /usr/local/etc/dhcpd.conf /usr/local/etc/dhcpd.conf.back

Выполняем очищение конфигурационного файла от базовых и шаблонных настроек, введя следующую команду:

echo '' > /usr/local/etc/dhcpd.conf

открытие конфигурационного файла для выполнения настроек с помощью текстового редактора nano:

nano /usr/local/etc/dhcpd.conf

Пример настроек DHCP-сервера представлен на рисунке 2

Рисунок 2
Рисунок 2

Пояснения по некоторым параметрам:

option domain-name-servers - адреса DNS-серверов. В данном примере используется адрес внутренней сети сервера (em1) - 192.168.1.254, но можно указывать и другие DNS-сервера, например, общедоступные или провайдера;

default-lease-time — время аренды (в секундах) адреса у сервера, если клиент не запросил другое;

max-lease-time — максимальное время аренды адреса (в секундах);

subnet - адрес сети (в примере 192.168.1.0);

netmask - маска сети (в примере 255.255.255.0);

range - диапазон адресов, из которого будут выдаваться клиентам (рабочим станциям) по запросу. В данном примере со 2 по 21 адрес, то есть 19 станций могут получить адреса. Двадцатая станция адрес уже не получит и не сможет работать в сети. Ей придется ждать, пока какой-либо адрес не освободиться;

option routers - адреса шлюза, который будет записан в настройках сетевой карты клиента. Данный адрес необходим для выхода рабочей станции за пределы локальной сети, в том числе и в сеть Интернет. В примере это также адрес внутреннего сетевого адаптера сервера, как и адрес DNS-сервера.

4) Настройка ведения логов DHCP-сервера

Для того, чтобы DHCP-сервер не писал свои логи в консоль необходимо отредактировать конфигурационный файл syslog.conf. Нужно открыть файл в текстовом редакторе:

nano /etc/syslog.conf

В открывшемся файле необходимо найти строки (почти в начале файла):

*.err;kern.warning;auth.notice;mail.crit; /dev/console

*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err; /var/log/messages

и добавить следующий параметр в каждую строку local7.none (рисунок 3)

Рисунок 3
Рисунок 3

Параметр local7.none прописывали предварительно в конфигурационном файле dhcpd.conf (рисунок 2).

Также в конце файла syslog.conf необходимо добавить строки, которые указаны на рисунке 4.

Рисунок 4
Рисунок 4

После этого можно сохранять файл и выйти из него.

Далее вводятся три следующие команды (рисунок 5). Команды дают необходимые права к файлу для DHCP-сервера.

Рисунок 5
Рисунок 5

Теперь DHCP-сервер может записывать все логи в файл по пути /var/log/dhcpd.log.

5) Завершение настройки DHCP-сервера

Открыть конфигурационный файл rc.conf для редактирования:

nano /etc/rc.conf

Необходимо добавить в файле определённые строки, которые указаны на рисунке 6 (подчёркнуты справа красной чертой). Данные строки запускают isc-dhcp-server и указывают, на каком сетевом интерфейсе будет обслуживание сервера.

Рисунок 6
Рисунок 6

Для завершения настройки требуется перезагрузить операционную систему:

shutdown -r now

6) Проверка работоспособности DHCP-сервера

Для того чтобы проверить работу сервера DHCP, необходимо ввести следующую команду:

service isc-dhcpd status

Если DHCP служба отключена, то можно попытаться включить ее командой (рисунок 7):

service isc-dhcpd start

Рисунок 7
Рисунок 7

Если служба не включается, то необходимо проверить файл конфигурации dhcpd.conf. Также можно проверить логи файла. Делается это при помощи команды:

nano /var/log/dhcpd.log

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

7) Проверка работоспособности DHCP-сервера на рабочей станции с операционной системой Windows 10

Сетевой адаптер рабочей станции должен быть подключен к локальной сети и он должен получать IP-адрес автоматически. Зайти в командную строку (или PowerShell) и ввести команду:

ipconfig /all

DHCP-сервер работает корректно, если DNS-суффикс соответствует имени домена DHCP, IPv4-адрес выдаётся в пределах 192.168.1.2 - 192.169.1.21, основной шлюз и DHCP-сервер - 192.168.1.254 (рисунок 8)

Рисунок 8
Рисунок 8

8) Проверка работоспособности DHCP-сервера на машине с операционной системой xUbuntu

На включенной рабочей станции открыть информацию "Сведения о соединении" и убедиться, что параметры IP-адреса соответствуют параметрам, установленным в DHCP (рисунок 9).

Рисунок 9
Рисунок 9

9) Закрепление фиксированного адреса за определенным сетевым адаптером

Для того, чтобы рабочая станция получала всегда один и тот же адрес от DHCP-сервера, необходимо определить МАК-адрес сетевого адаптера. На рисунке 8 этот параметр называется "Физический адрес", на рисунке 9 - "Аппаратный адрес".

После того, как узнали физический адрес виртуальной машины, необходимо на сервере FreeBSD зайти в конфигурационный файл DHCP-сервера:

nano /usr/local/etc/dhcpd.conf

Добавить блок выдачи фиксированного IP-адреса (рисунок 10 - выделено красным прямоугольником). В данном случае выдан для машины с ОС Windows10 с физическим адресом 08:00:27:BD:4F:6A IP-адрес 192.168.1.200 (рисунок 10).

Рисунок 10
Рисунок 10

Можно записать выдачу и других адресов, для этого каждый новый адрес должен быть заключен в фигурные скобки. Имя узла можно указывать произвольное, какое удобнее для понимания. На рисунке 11 показано получение сетевым адаптером на компьютере с операционной системой Windows 10 адреса 192.168.1.200.

Рисунок 11
Рисунок 11

10) Просмотр информации о выданных IP-адресах

Для того, чтобы узнать какие DHCP-сервером были выданы динамически IP-адреса сетевым адаптерам, необходимо ввести команду:

nano /var/db/dhcpd/dhcpd.leases

В данном файле (рисунок 12) показываются такие параметры, как используемый IP-адрес (lease), физический адрес сетевого адаптера (hardware ethernet), время начала (starts) и завершённости (ends), время окончания аренды адреса для сервера (tstp) и время последней связи с машиной по аренде IP-адреса (cltt).

Рисунок 12
Рисунок 12