Перейти к содержимому
Калькуляторы

вопросы по использованию isc-dhcpd

Наконец-то дошли руки до dhcpd

 

Имеем конфигурацию вида:

 

shared-network vlan101 
{
subnet 10.0.101.0 netmask 255.255.255.0 {
option routers 10.0.101.1;
option broadcast-address 10.0.101.255;
option subnet-mask 255.255.255.0;
host 0049_2117 {
  hardware ethernet 00:17:31:D2:52:B7;
  fixed-address 10.0.101.10;
        }

host  0201_3208 {
  hardware ethernet 00:14:2A:7B:AB:B3;
  fixed-address 10.0.101.15;
        }

}

shared-network vlan102 {
    subnet 10.0.102.0 netmask 255.255.255.0 {
....

 

Возникла пара вопросиков:

 

1) Failover (Backup) я так понимаю не настроить при такой конфигурации?

2) Опять же в случае с pool можно было по lease файлу посмотреть когда и кто получил IP, теперь lease пусой. Как мониторить данные события в случае с фиксировным IP на MAC?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1. Настроить, создай пулы то на специально выделенных диапазонах, типа range 192.168.63.224 192.168.63.254;.

Наличие пулов никак не влияет на работу fixed-address.

Если честно не пробовал, но судя по мануалу, ничем не отличается при настройке Failover на subnet.

2. С фиксированным IP на MAC lease тоже должен работать, используя глобальные параметры.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1) У меня не получилось запустить dhcp. Начал ругаться что failover не в pool секции

2) Нет при статических mac в lease файл ничего не пишется. Либо я что-то не так делаю?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Все правильно. failover должен быть в pool секции. А закрепленные по макам адерса нет смысла файловерить, они как бы сами по себе при наличии двух DHCP с идентичными настроками, резервируются. А вот динамические диапазоны есть смысл.

 

А глобальные параметры выставлены типа lease time и.т.д?

Изменено пользователем SokolovS

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

cat dhcpd.conf

default-lease-time 86400;
max-lease-time 86400;
authoritative;
ddns-update-style none;
log-facility local7;

option domain-name "homenet.local";
option domain-name-servers 192.168.177.3;
option classless-route1 code 247  = string;
option classless-route2 code 121  = string;
option classless-route3 code 249  = string;
shared-network system {
    subnet 192.168.253.0 netmask 255.255.255.0 { }
}
shared-network vlan23 {
....

 

Вообщем-то выставлены.

 

>они как бы сами по себе при наличии двух DHCP с идентичными настроками, резервируются

Т.е. в dhcp relay функции коммутатора достаточно будет указать 2й dhcp сервер?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Т.е. в dhcp relay функции коммутатора достаточно будет указать 2й dhcp сервер?

Именно. У меня так и работает, failover только на динамику.

Изменено пользователем SokolovS

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вообщем никак не приложу ума что делать с логированием лизов на статику :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вообщем никак не приложу ума что делать с логированием лизов на статику :(

 

А что с ним не так ?

Mar 20 19:30:01 xxx dhcpd: DHCPREQUEST for xxx.xxx.xxx.xxx from 00:aa:3a:bb:09:a6 via em1
Mar 20 19:30:01 xxx dhcpd: DHCPACK on xxx.xxx.xxx.xxx to 00:aa:3a:bb:09:a6 via em1

 

Оно типа в сислог ругается по умолчанию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да нет, dhcp хранит статистику по выданным адресам в lease файле, из него можно извлечь информацию, что вобще кому выдано.

В лог то пишитеся само собой. Самое интересное что у меня и по статике в lease пишется, а вот у shicoy нет.

Изменено пользователем SokolovS

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

dhcp пишет в leases только динамически выданные адреса, для того, чтобы он смог опять выдать тот же самый адрес, а статику он не пишет, просто это не нужно, т.к. для этого есть dhcpd.conf

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2SokolovS: у вас какая версия?

Логи статики мне нужны, что бы саппорт мог видеть когда клиент обращался и получил IP от DHCP. не то что бы это принципиально, но часто в решении проблем помогает любая информация

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня 3.1.0, но похоже файлик сервера db.c патченный! Оригинальный на самом деле не пишет статически прописанные адреса.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня 3.1.0, но похоже файлик сервера db.c патченный! Оригинальный на самом деле не пишет статически прописанные адреса.

не вспомните что именно патчилось?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Постараюсь посмотреть завтра, солью оригинальный 3.1 и сделаю diff.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

+1 к вопросу :)

 

к слову - вообще можно пропатчить его на предмет вызова внешнего скрипта с выбранными параметрами (айпи, мак, имя хоста в конф-файле), который в свою очередь будет заносить все в БД, а при необходимости - еще и рулить ACLами на доступе (ну или в центре - у кого как).

 

но что-то мне подсказывает что я велосипед изобретаю, не подскажет ли кто есть ли уже готовая сопрягалка isc-DHCPd и бд (чтобы, например статика хранилась в БД, и оотуда бралась для роздачи адресов клиентам)? или хоть вызов чего-то внешнего...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

+1 к вопросу :)

 

к слову - вообще можно пропатчить его на предмет вызова внешнего скрипта с выбранными параметрами (айпи, мак, имя хоста в конф-файле), который в свою очередь будет заносить все в БД, а при необходимости - еще и рулить ACLами на доступе (ну или в центре - у кого как).

 

но что-то мне подсказывает что я велосипед изобретаю, не подскажет ли кто есть ли уже готовая сопрягалка isc-DHCPd и бд (чтобы, например статика хранилась в БД, и оотуда бралась для роздачи адресов клиентам)? или хоть вызов чего-то внешнего...

Посмотрите вот это http://hans.liss.pp.se/software/gluff

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

+1 к вопросу :)

 

к слову - вообще можно пропатчить его на предмет вызова внешнего скрипта с выбранными параметрами (айпи, мак, имя хоста в конф-файле), который в свою очередь будет заносить все в БД, а при необходимости - еще и рулить ACLами на доступе (ну или в центре - у кого как).

 

но что-то мне подсказывает что я велосипед изобретаю, не подскажет ли кто есть ли уже готовая сопрягалка isc-DHCPd и бд (чтобы, например статика хранилась в БД, и оотуда бралась для роздачи адресов клиентам)? или хоть вызов чего-то внешнего...

А что сложного?

простой скрипт хоть на php - лезет в базу и пишет dhcpd.conf

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня 3.1.0, но похоже файлик сервера db.c патченный! Оригинальный на самом деле не пишет статически прописанные адреса.
не вспомните что именно патчилось?

файл server/mdb.c

найти строку:

#if !defined (DEBUG_DUMP_ALL_LEASES)

и закоментировать условие до следующего #enfid

 

Еще более правильный вариант, определить макрос в dhcpd.h

#define DEBUG_DUMP_ALL_LEASES 1

 

Возможно есть еще более правильный способ, но не изучал данный вопрос.

Изменено пользователем SokolovS

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо. Я думаю именно оно!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

gluff - немного не то что мне нужно :) дойдут руки - ковырну сырцы (благо уже понятно где именно) просто на предмет вызова внешнего скрипта. а в нем уже буду творить что захочу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну если ковырнешь, вызов внешнего скрипта по событию это очень полезно, так что дай знать! Многим интересно будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

да чего там собственно - вот так навскидку - находим где там часть отвечающая за вывод в лог. там как раз передается мак и айпи при DHCPACK, и вот после записи в лог добавляем вызов внешнего с теми же параметрами....

 

блин время бы :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите плиз. возможно ли получение разных fixed-address при одинаковых mac, но в зависимости от интерфейса с которого пришел запрос ?

Т.е. к примеру имеем:

 

subnet 10.0.101.0 netmask 255.255.255.0 {

 

host notebook { hardware ethernet 00:17:31:D2:52:B7; fixed-address 10.0.101.10; }

}

subnet 10.0.102.0 netmask 255.255.255.0 {

 

host notebook-vlan2 { hardware ethernet 00:17:31:D2:52:B7; fixed-address 10.0.102.10; }

}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Имхо надо так:

 

host notebook { hardware ethernet 00:17:31:D2:52:B7; fixed-address 10.0.101.10; fixed-address 10.0.102.10; }

 

По идее dhcpd должен сам выбрать подходящий fixed-address, в зависимости от subnet, на котором грузится клиент.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

можно и по интерфейсу, пардон - под рукой примера нет. маны, или на конференциях. но одинаковые адреса не есть гуд.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.