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

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

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

sudo -i

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

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 не запускался.

Скрипт конфигурации DHCP

Допустим в конфигурационный файл DHCP сервера нужно добавить много подсетей, например от 172.16.1.0 до 172.16.100.0, в этом случае поможет данный скрипт.

Читать далее «Скрипт конфигурации DHCP»

Установка и использование dhcping

dhcping — утилита для проверки DHCP-севреров unicast пакетами.

В Ubuntu dhcping можно установить командой:

sudo apt-get install dhcping

Сначала посмотрим какие IP-адреса получены и от какого шлюза:

ifconfig
route
netstat -rn | grep default

Также посмотреть полученную информацию от DHCP можно в директории /var/lib/dhcp/.

В моём случае IP получен от DHCP сервера 10.0.2.2.
Приведу пример запуска dhcping:

dhcping -s 10.0.2.2

Если DHCP сервер отвечает, то отобразится информация:

Got answer from: 10.0.2.2

Если нет ответа:

no answer

Опишу ключи запуска dhcping:
-v (подробный режим)
-V (очень подробный режим)
-i (использовать DHCPINFORM пакеты)
-r (использовать DHCPREQUEST пакеты (стандартно))
-q (краткий режим)
-t maxwait (время ожидания ответа, стандартно 3 секунды)
-c IP (запросить указанный IP)
-s IP (послать запрос на указанный IP)
-h MAC (использовать указанный MAC-адрес в запросе)
-g IP (использовать в пакете указанный IP шлюза)

Блокировка сторонних DHCP серверов на Huawei Quidway S2300 (DHCP Snooping)

Приведу пример как на коммутаторе Huawei Quidway S2300 (на примере используется S2326TP-EI) разрешить получение DHCP ответов c uplink порта и запретить от клиентских.

Читать далее «Блокировка сторонних DHCP серверов на Huawei Quidway S2300 (DHCP Snooping)»

Блокировка DHCP серверов на коммутаторах FoxGate

На примере возьму коммутатор FoxGate S6224-S4, на других моделях настройка почти аналогична.

Для начала включим функцию dhcp snooping:

ip dhcp snooping enable

Читать далее «Блокировка DHCP серверов на коммутаторах FoxGate»

Подавление DHCP серверов (dhcdrop)

dhcdrop — утилита для подавления ненужных DHCP серверов и стресс-тестирования.

Читать далее «Подавление DHCP серверов (dhcdrop)»