DHCP server в FreeBSD

обновлено 2 мин

Статья написана в 2017 году. Команды и версии программ могли устареть — проверяйте по документации.

Протокол динамического выделения адресов (DHCP) — это сетевой сервис, который позволяет компьютерам в сети автоматически получать настройки с сервера вместо того, чтобы настраивать каждый сетевой хост вручную. Компьютеры, настроенные быть клиентами DHCP, не управляют тем, какие настройки они получат от DHCPсервера, и эта настройка совершенно незаметна для пользователя компьютера.


!Перед установкой и настройкой DHCP должен быть установлен и настроен DNS server

Установка

ищем пакет

bash
pkg search "isc-dhcp.*-server"

Устанавливаем

bash
pkg install isc-dhcp43-server

Настройка

Конфигурационный файл храниться в /usr/local/etc/dhcpd.conf

Редактируем

bash
mv /usr/local/etc/dhcpd.conf /usr/local/etc/dhcpd.conf.old
bash
nano  /usr/local/etc/dhcpd.conf

default-lease-time 600;
max-lease-time 7200;

authoritative;

log-facility local7;

subnet 192.168.9.0 netmask 255.255.255.0 {
range 192.168.9.10 192.168.9.20;
option domain-name-servers 192.168.9.1;
option domain-name «mydom.loc»;
option routers 192.168.9.1;
option broadcast-address 192.168.9.255;
default-lease-time 600;
max-lease-time 7200;
}
sql
ddns-update-style interim;
update-static-leases on;
key mydomlockey {
algorithm hmac-md5;
secret «vDo6/PVJ7sRm9bOJsBk9Zg==»;
}
zone mydom.loc. {
primary 127.0.0.1;
key mydomlockey;
}
zone 9.168.192.in-addr.arpa. {
primary 127.0.0.1;
key mydomlockey;
}

Задать фиксированный IP-адрес для хоста

host Name {

hardware ethernet ce:sd:5f:d0:12:44;

fixed-address 192.168.9.100;

}

Настройка логов

Редактируем syslog.conf:

bash
nano /etc/syslog.conf
!dhcpd
*.info                                          -/var/log/dhcpd.log
!*

Создаем лог-файл:

bash
touch /var/log/dhcpd.log

Перезагружаем конфигурацию syslogd:

bash
service syslogd reload

Редактируем rc.conf:

bash
nano /etc/rc.conf
dhcpd_enable=»YES»
dhcpd_flags=»-q»
dhcpd_conf=»/usr/local/etc/dhcpd.conf»
dhcpd_ifaces=»em1″
dhcpd_withumask=»022″

Где em1 интерфейс смотрящий в локальную сеть

Запускаем службу

bash
service isc-dhcpd start

Если служба не запустилась, смотрите log файл

bash
less /var/log/dhcpd.log

**!**Чтобы посмотреть подключенных клиентов вводим команду

less /var/db/dhcpd/dhcpd.leases

Статья помогла?

Нашли ошибку или устаревшую команду? Выделите текст и нажмите Ctrl+Enter.