12.12. Настройка сервера/шлюза DHCP

Данный тип шлюза используется для автоматической выдачи IP адресов клиентам, заведённым через шлюз DLINK и Cisco2. На коммутаторе включается режим и указывается DHCP relay server - сервер, на который коммутатор будет перенаправлять запросы DHCP. В данном случае сервер, где будет стоять BGDhcpIPN.

Распакуйте BGDhcpIPN и установите как службу. В dhcp.properties:

# Порт управления/синхронизации
admin.port=1855

# Порт, на котором поднимается BGDhcpIPN. По умолчанию (и по станадарту тоже ) - 67 .
#dhcp.port = 67
# Интерфейс, на котором будет поднят BGDhcpIPN. Если не указан, то на всех интерфейсах. 
#dhcp.host=

# Максимальное кол-во потоков, обрабатывающих запросы
dhcp.thread.count=10

# Задержка после запуска перед сохранением данных коммутатор/порт:ip в файл
dhcp.data.save.delay=3600
# Ожидание перед периодическим сохранением данных в файл
dhcp.data.save.period=3600
# Каталог, в котором будет сохраняться файл
dhcp.data.save.path=<some_path>
# При нормальном Stop, перед завершением работы, сервер запишет данные снова
# эти данные загружаются при старте сервера

# Идентификатор сервера. Должен быть ip-адресом интерфейса, на который будут приходить запросы
dhcp.server.identifier=10.0.0.2

Специфические настройки для работы c DLink и Cisco2 читайте в главах, описывающиx соответствующие шлюзы.

Запускать BGDhcpIPN необходимо от root, иначе сервер не сможет открыть DHCP-порт.

Добавьте тип шлюза DHCP с конфигурацией

user_rule.editor.class=bitel.billing.module.services.ipn.editor.EmptyContractRuleEditor
gate_manager.class=bitel.billing.server.ipn.DHCPGateWorker

Добавьте шлюз DHCP, указав адрес и порт управления/синхронизации, а шлюзы (DLink или Cisco2), которые будут пересылать DHCP-запросы на BGDhcpIPN сделайте дочерними по отношению к этому шлюзу.

Таким образом, после синхронизации клиента на шлюзе DLINK или Cisco2 будет вызвана синхронизация клиента на BGDhcpIPN.

При подключении клиента он отправит запрос на получение IP-адреса, коммутатор, при включенном и настроенном DHCP Relay, добавив данные RelayAgent Options, перенаправит запрос на DHCP-сервер BGDhcpIPN, который по данным в RelayAgent Options, выдаст IP-адрес. По каким правилам выдавать адрес зависит от конкретного шлюза и описывается в описании этих шлюзов.

Параметры, выдающиеся клиенту кроме ip-адреса, могут задаться 2-мя способами.

Первый способ.

Параметры настраиваются в конфигурации шлюзов, причём родительские параметры наследуются потомками. Т.е если указать параметры только в конфигурации шлюза DHCP, то для всех шлюзов-потомков будут выдаваться такие параметры, если же в каком-либо из потомков параметр должен отличаться, можно указать только его.

# Time Offset в секундах
dhcp.timeOffset=-18000
# Pоутер(ы), если несколько - через запятую
dhcp.router=Cg
# Домен
#dhcp.domain=
# DNS-сервер(а), если несколько - через запятую
dhcp.dns=
#М аска подсети
#dhcp.subnetMask=255.0.0.0
dhcp.subnetMask=

# Время аренды ip-адресов, в секундах, по умолчанию 43200
#dhcp.ipAddressLeaseTime
#
# Также можно выдавать все остальные опции dhcp, в виде dhcp.option.x=ffffffff
# где x - код dhcp опции, ffffffff - байты в 16ричном виде
# Например, сервер NTP по адресу 127.0.0.1, в конфиге нужно указать:
#dhcp.option.42=7F000001
# Коды других опций можно узнать в rfc2132

Второй способ.

Этот способ перетирает опции, установленные первым сопсобом .

Параметры настраиваются в dhcp.properties. Они задаются с привзязкой к сети, из которой будет выдаваться ip.

# Первый ip сети 1 
net.1.ip=1.1.33.0
# Маска сети (количество неизменяемых бит)
net.1.bits=24
# Роутер(ы), если несколько - через запятую
net.1.dhcp.router=10.10.10.10
# Маска подсети
net.1.dhcp.subnetMask=255.255.255.0 

# Первый ip сети 2 
net.2.ip=1.1.34.0
# Маска сети 2 (количество неизменяемых бит)
net.2.bits=24
# Роутер(ы), если несколько - через запятую
net.2.dhcp.router=10.10.10.10
# Маска подсети
net.2.dhcp.subnetMask=255.255.255.0

Синтаксис задания параметров такой же, как для шлюзов, за исключением приставки net.X., где X - порядковый номер сети. Эти параметры перетирают параметры, установленные в конфигурации шлюзов.

Специфические настройки для работы c DLink и Cisco2 читайте в главах, описывающих соответствующие шлюзы.