Настройка DHCP Relay на Cisco Nexus 3064

Для примера настрою DHCPv4 Relay на Cisco N3K-C3064PQ-10GX. Изначально я настраивал этот коммутатор для L2, но некоторые VLAN пришлось настроить как L3 и включить DHCPv4 Relay.

Читать далее «Настройка DHCP Relay на Cisco Nexus 3064»

Блокировка сторонних DHCP на Cisco через DHCP Snooping

На тесте настрою DHCP Snooping на Cisco Catalyst 6509-E, чтобы блокировать сторонние DHCP сервера, на других коммутаторах Cisco по сути настройка аналогична.

После подключения к устройству сразу перейдём в режим конфигурации:

enable
configure

Читать далее «Блокировка сторонних DHCP на Cisco через DHCP Snooping»

Настройка DHCP+TFTP для DOCSIS

Недавно нужно было настроить выдачу IP адресов нескольким старым DOCSIS модемам и хосту находящемуся после модема.
Под рукой был Arris Cadant C3 и модемы Thomson TCM-420.

Первым делом запустим DHCP сервер который будет выдавать IP адреса модемам, например как я описывал в этой статье — Установка и настройка isc-dhcp-server.
А также запустим TFTP сервер на котором будут файлы для модемов, например как я описывал в статье — Установка и настройка TFTP сервера

Читать далее «Настройка DHCP+TFTP для DOCSIS»

IPTables правила для DHCP

Допустим на сервере по умолчанию INPUT DROP, теперь приведу пример простого правила разрешающего DHCP запросы к серверу, этого будет достаточно чтобы клиенты получили IP от сервера (где em1 — сетевой интерфейс на котором запущен DHCP сервер):

Читать далее «IPTables правила для DHCP»

Настройка FreeRADIUS DHCP для ABillS

Допустим установлен FreeRADIUS 2 как написано в этой статье — Установка и настройка биллинговой системы ABillS
Теперь скопируем файл dhcp.conf в конфигурацию FreeRADIUS:

sudo cp /usr/abills/misc/freeradius/v2/dhcp.conf /usr/local/freeradius/etc/raddb/sites-enabled/

Читать далее «Настройка FreeRADIUS DHCP для ABillS»

Установка ISC DHCP для ABillS

Приведу пример установки ISC DHCP сервера для ABillS в Ubuntu Server.

Переключимся на root пользователя:

sudo su

Установим пакет:

apt-get install isc-dhcp-server
ln -s /usr/abills/Abills/modules/Dhcphosts/leases2db.pl /usr/abills/libexec/leases2db.pl

Запускаем:

/usr/abills/libexec/leases2db.pl -d LEASES=/var/lib/dhcp/dhcpd.leases

Изменим владельца файла:

chown www-data /etc/dhcp/dhcpd.conf

Откроем config.pl в редакторе:

nano /usr/abills/libexec/config.pl

Добавим параметры:

$conf{DHCPHOSTS_CONFIG}='/etc/dhcp/dhcpd.conf';
$conf{DHCPHOSTS_LEASES}='/var/lib/dhcp/dhcpd.leases';
$conf{DHCPHOSTS_RECONFIGURE}='/usr/bin/sudo /etc/init.d/isc-dhcp-server restart';

Откроем в редакторе:

nano /etc/sudoers

Добавим строку сделав возможность запуска сервиса системой:

www-data   ALL = NOPASSWD: /etc/init.d/isc-dhcp-server

Заходим в веб интерфейс Abills, открываем меню «Настройка» — «IP (DHCP) Сети» — «IP (DHCP) Сети«, добавляем сети если необходимо, потом «Показать dhcp.conf, Переконфигурировать» и «Переконфигурировать«.

Посмотреть запущен ли isc-dhcp-server можно командой:

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

Логи пишутся в файл /var/log/syslog

Можно также настроить экспорт DHCP истории, чтобы видеть её в меню «Отчёт» — «DHCP История».
Для этого сделаем ссылку:

ln -s /usr/abills/Abills/modules/Dhcphosts/dhcp_log2db.pl /usr/abills/libexec/dhcp_log2db.pl

Отделив DHCP логи в отдельный файл как я писал в статье ниже и добавив в автозагрузку скрипт с командой:

tail -F /var/log/dhcpd.log | /usr/abills/libexec/dhcp_log2db.pl

Смотрите также мои статьи:
Установка и настройка isc-dhcp-server в Ubuntu
Утилита для захвата и анализа пакетов tcpdump

Решение ошибки dhcpd self-test failed. Please fix the config file

Заметил однажды в логах syslog ошибку:

dhcpd self-test failed. Please fix the config file

На сервере был установлен isc-dhcp-server.

Проверить правильность конфигурационного файла можно командой:

dhcpd -t
dhcpd -t -cf /dir/dhcpd.conf
/usr/sbin/dhcpd -t

Команда должна сообщить на какой строке ошибка, но заметил что если она не критическая, то может и не сообщить.
Ключ «t» выполняет тест конфигурации, а «cf» позволяет указать путь к файлу конфигурации, если он не стандартный.

В моем случае, в конфигурационном файле /etc/dhcp/dhcpd.conf кто-то совершил опечатку, в строке ниже (была лишняя буква):

authorivtative;

Из-за этого и возникала ошибка, но несмотря на ошибку dhcp работал.
Хотя когда-то встречались и критические ошибки, например неправильно написанный mac адрес, из-за такой ошибки DHCP не запускался.