Зміст

Remote DHCP

Можливо, з якихось причин, вам може захотітися використовувати ваш наявний NAS на базі rscriptd в ролі віддаленого DHCP сервера. Можливо вам також захочеться обійтися без громіздких тунельних конструкцій та інших релеящих рішень. На цей випадок в Ubilling 1.0.2 з'явилася штатна механіка для реплікації конфігурації ISC-DHCPD з білінгового сервера. Наприклад, у якихось таких ситуаціях, коли це ось усе не L2 connected.

Базове налаштування

Завантажуємо дистрибутив Ubilling і розпаковуємо Remote DHCP клієнт у потрібне нам місце:

# cd /tmp/
# fetch http://snaps.ubilling.net.ua/ub_current.tgz
# tar zxvf ub_current.tgz
# cp -R docs/remotedhcp /usr/local/etc/
# ln -fs /usr/local/etc/remotedhcp/multinet /usr/local/etc/multinet

Редагуємо відповідно до наших реалій конфіг /usr/local/etc/remotedhcp/config.ini

;Посилання на наш працюючий Ubilling, звідки ми будемо реплікувати конфігурацію DHCP
UBILLING_URL="http://ourisp.com/billing/"
; Його серійник повністю.
UBILLING_SERIAL="UBxxxxxxxxxxxxxxxxxxxxxxxx"
;Скрипт, який використовується для рестарту isc-dhcpd. У загальних випадках можна не чіпати.
RC_DHCPD=/usr/local/etc/rc.d/isc-dhcpd

Вносимо відповідні правки до /etc/rc.conf

dhcpd_enable="YES"
dhcpd_flags="-q"
dhcpd_conf="/usr/local/etc/multinet/dhcpd.conf"
dhcpd_ifaces="igb0"

Опціонально можете пройтися ще по ось цій статті.

А що робити з білінгом?

Майже нічого. На білінговому сервері вмикаємо відповідну опцію alter.ini:

REMOTEDHCP_ENABLED=1

Як це працює?

Просто додаєте в crontab -e щось на кшталт цього і радієте життю.

*/5 * * * *     /usr/local/bin/php /usr/local/etc/remotedhcp/remotedhcp.php

Власне переконатися, що все працює як очікувалося, ви можете просто подивившись очима на те, чи реплікуються файли конфігурації на вашому NAS-і:

# ls /usr/local/etc/multinet/

А також подивившись очима на те, як запущений і чи запущений взагалі ваш dhcpd.