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