Страница 1 из 1

Заполнение DHCP при помощи WEB-face PHP

СообщениеДобавлено: 21 авг 2009, 06:53
Андрей
Привет всем.
Хочу сделать форму для заполнения dhcp конфига.
Суть так, что мне надо брать только логин клиента, номер его квартиры и мак и записывать все в файл таким образом, чтобы запись организовывалась до знака "}".
Т.е.
Имеем один из инклудов в файл:
Код: Выделить всё
subnet 10.1.1.0 netmask 255.255.255.0{
host Ivanov{
    fixed-address 10.1.1.2;
    hardware ethernet 00:1f:d0:b6:f5:a3;
    option routers 10.1.1.1;
}
}

Теперь надо добавить следующую инфу в файл:
Код: Выделить всё
host Petrov{
    fixed-address 10.1.1.3;
    hardware ethernet 00:1a:30:d5:46:a0;
    option routers 10.1.1.1;
}

Но таким образом, чтобы она встала между закрывающейся фигурной скобкой от описания последнего клиента (Ivanov) и между закрывающейся фигурной скобкой от описания подсети (subnets ...).
Т.е. В итоге должен получить это:
Код: Выделить всё
subnet 10.1.1.0 netmask 255.255.255.0{
host Ivanov{
    fixed-address 10.1.1.2;
    hardware ethernet 00:1f:d0:b6:f5:a3;
    option routers 10.1.1.1;
}
host Petrov{
    fixed-address 10.1.1.3;
    hardware ethernet 00:1a:30:d5:46:a0;
    option routers 10.1.1.1;
}
}


Быть может у кого-то есть готовый скрипт? Поделитесь пожалуйста.
Заранее благодарен.

Re: Заполнение DHCP при помощи WEB-face PHP

СообщениеДобавлено: 21 авг 2009, 10:29
lehisnoe
IMHO, такие вещи лучше делать:
1. на основе данных из БД.
2. не добавлением в середину файла доп.инфы, а генерацией файла целиком (сильно проще получается).

Re: Заполнение DHCP при помощи WEB-face PHP

СообщениеДобавлено: 21 авг 2009, 11:10
Андрей
На основе данных из БД я буду брать ip подсети для дома/участка и ip-роутера.
Мне скинули уже готовый скрипт, но там дотого все мутно, что я решил что проще так сделать.
А есть готовы решения?

Re: Заполнение DHCP при помощи WEB-face PHP

СообщениеДобавлено: 21 авг 2009, 11:36
root
я не знаю ни одного готового

Re: Заполнение DHCP при помощи WEB-face PHP

СообщениеДобавлено: 21 авг 2009, 12:46
Андрей
Жалко. :(

Re: Заполнение DHCP при помощи WEB-face PHP

СообщениеДобавлено: 24 окт 2009, 01:49
elser
подсказки как такие вещи делаются в принципе:
1. Многие конфиги понимают include
2. Метьте каментом место вставки (например: камент -> вставленый кусок + камент)
3. lehisnoe прав - часто проще сгенерить весь конфиг заново
4. Для совсем фанатов скриптинга в dhcpd.conf можно юзать on и exec
а вообще - динамический dhcpd.conf это true way, дерзайте господа!

Re: Заполнение DHCP при помощи WEB-face PHP

СообщениеДобавлено: 25 окт 2009, 09:17
Андрей
elser писал(а):динамический dhcpd.conf это true way

ИМХО, это дплеко не истинный путь. Т.к. От инфицированных клиентов идут многочисленные запросы к DHCP-серверу.
Один удачный макспуффинг и DHCP для сегмента сети будет в DoS'е.

Качатеьно Вэб морды - я решил, что обучить 2х человек работать с mc намного легче, чем писать 3х километровый скрипт + задействовать в него БД. Правда в этом есть и ряд минусов. К примеру кто-то плохо обучился и перековырял конфиг вдоль и поперек, что потом я и сам не разберусь. Но это устранимо.
Вариант с генерацией конфига тоже отпадает, т.к. зачастую, при подключении клиента мы берем его mac и вносим в dhcp-конфиг и демона перезапускаем сразу. Это обеспечивает незамедлительное начало работы клиента в сети. Другое же дело если набить некоторый файл, а потом ждать когда конфиг сгенерируется и еще ждать, когда dhcpd перезапустится.

Re: Заполнение DHCP при помощи WEB-face PHP

СообщениеДобавлено: 25 окт 2009, 14:05
root
elser писал(а):1. Многие конфиги понимают include

ага, я активно этим пользуюсь при автогенерации конфига
elser писал(а):2. Метьте каментом место вставки (например: камент -> вставленый кусок + камент)

согласен, очень помогает при дебаге :)
elser писал(а):3. lehisnoe прав - часто проще сгенерить весь конфиг заново

проще конечно, но когда конфиг реально большой....
я все же сделал возможность регенирить конфиг не полностью, а только по конкретному свичу
elser писал(а):а вообще - динамический dhcpd.conf это true way, дерзайте господа!

+10000000000 :)

Андрей писал(а):я решил, что обучить 2х человек работать с mc намного легче, чем писать 3х километровый скрипт + задействовать в него БД. Правда в этом есть и ряд минусов

один большой минус это человеческий фактор, т.е. написал скрипт исключается возможность человеческой ошибки при правке конфига

Андрей писал(а):. Другое же дело если набить некоторый файл, а потом ждать когда конфиг сгенерируется и еще ждать, когда dhcpd перезапустится.

все зависит о того как ты все реализуешь.
у меня конфиг DHCP генерится автоматом и никто ничего не ждет, т.к. после того как внесли изменения в web-интерфейс биллинга он незамедлительно отсылает команду DHCP серверу на регенерацию конфига и перезапуск dhcpd после генерации конфига.
а помогает мне отослать команду из web-интерфейса это: Свой клиент-сервер, управляем серверами FreeBSD удаленно

Re: Заполнение DHCP при помощи WEB-face PHP

СообщениеДобавлено: 26 окт 2009, 13:32
Андрей
Я лучше по ssh сделаю. :)

Re: Заполнение DHCP при помощи WEB-face PHP

СообщениеДобавлено: 26 окт 2009, 15:01
root
Андрей писал(а):Я лучше по ssh сделаю.

да сделать мона как угодно
я к тому, что нужно тока подумать, а решить можно любой вопрос, в том числе и "ожидания" ;)