среда, 24 апреля 2013 г.

Настройка DHCP сервера на FreeBSD 9.x

Задача:

Имеется интернет-шлюз на ОС FreeBSD 9 с работающей DNS-службой. "Внутренний" интерфейс (re0) сервера имеет ip-адрес 192.168.0.1. Хочется что бы сетевые карты клиентов локальной сети настраивались автоматически, для этого наш сервер должен выполнять функцию DHCP-сервера

Решение:
Начинаем с установки необходимых пакетов. Для этого переходим в нужный каталог:
gateway# cd /usr/ports/net/isc-dhcp41-server
Смотрим зависимости:
gateway# make all-depends-list
Скорее всего мы увидим, что их нет.. ну и хорошо.
gateway# make config
задаем параметры установки, вот такие: 
[*] DHCP_IPV6
[*] DHCP_PARANOIA
[  ] DHCP_LDAP
[*] DHCP_LDAP_SSL

Загружаем все необходимое:
gateway# make fetch
Устанавливаем:
gateway#  make install clean
Как поставится (это будет очень быстро), обновим пути поиска:
gateway#  rehash
 После установки редактируем файл /usr/local/etc/dhcpd.conf примерно до следующего содержания:
option domain-name "domain.ru";
option domain-name-servers 192.168.0.1;
option subnet-mask 255.255.255.0;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style none;
authoritative;
log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0 {
      range 192.168.0.200 172.16.0.250;
      option routers 192.168.0.1;
      option domain-name-servers 192.168.0.1;
}
Рассмотрим содежримое dhcpd.conf:
option domain-name  - указывается имя домена
option domain-name-servers  - здесь перечисляются ip-адреса DNS-серверов, которые будут получать клиенты локальной сети
option subnet-mask - маска подсетиполучаемая клиентами локальной сети
default-lease-time 600 - время аренды адреса в секундах (по-умолчанию)
max-lease-time 7200 - максимальное время аренды адреса в секундах
ddns-update-style none - не обновлять DNS при выдаче клиенту
authoritative - авторитарный режим (типа это главный DHCP сервер на деревне)
log-facility local7 - уровень детализации логов
subnet - обслуживаемая подсеть (может быть несколько) + маска подсети
range - диапазон выдаваемых адресов
option routers  - основной шлюз, получаемый клиентами локальной сети
option domain-name-servers  - DNS-сервер, получаемый клиентами локальной сети

Добавляем в файл /etc/rc.conf следующие строки:
dhcpd_enable="YES"
dhcpd_iface="re0"
Первая строка определяет автозапуск DHCP сервера при старте системы, вторая строка определяет сетевой интерфейс (интерфейсы), на котором (которых) будет работать DHCP сервер.
Пробуем запустить DHCP-сервер:
gateway# /usr/local/etc/rc.d/isc-dhcpd start
Также хочется иметь возможность фиксировать ip-адреса за некторыми ПК.
Для этого нужно в файл /usr/local/etc/dhcpd.conf добавить всего лишь несколько строк: 
host pc1 {
    hardware ethernet 08:00:27:E2:81:C9;
    fixed-address 192.168.0.2; }

Для того, что бы наши изменения вступили в силу, нужно перезапусить DHCP сервер:
gateway# /usr/local/etc/rc.d/isc-dhcpd restart

Остановить DHCP сервер можно командой:
testrouter# /usr/local/etc/rc.d/isc-dhcpd stop 

Запустить DHCP сервер можно командой: 
testrouter# /usr/local/etc/rc.d/isc-dhcpd start 

Сведения о выданных IP-адресах и еще много чего интересного о том, кому они были выданы хранятся в файле  /var/db/dhcpd/dhcpd.leases

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