Биллинговая система Nodeny

Главная категория => Общий раздел => Тема начата: poxy. от 31 Октября 2009, 00:11:22



Название: nomake.pl + dhcp помогите настроить
Отправлено: poxy. от 31 Октября 2009, 00:11:22
Хочу сделать чтобы dhcp выдавал ip на основе мак-адреса из инфы о клиенте .Почитал мануалы и смог только сделать чтобы выдавал но (только не бейте) когда в dhcp.conf руками прописано что и кому выдавать ,а как сделать чтобы этим Nodeny занимался никак непойму .Вот то что сделал для nomake по мануалу а как его dhcp подсунуть незнаю

<file>dhcpd.conf</file>
<reload>/usr/local/etc/rc.d/isc-dhcpd restart</reload>
option domain-name-servers 10.10.10.1;
max-lease-time 1209600;
min-lease-time 1209600;
default-lease-time 1209600;
ddns-update-style none;
subnet 10.10.10.0 netmask 255.255.255.0 {
range 10.10.10.10 10.10.10.254;
option routers 10.10.10.1;
}
<filtr net='10.10.10.10/24'>
 host <lat_login> {
   hardware ethernet <dopdata-_mac>;
   fixed-address <ip>;
 }
</filtr>


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: VitalVas от 31 Октября 2009, 07:59:47
от мой рабочий конфиг
Код:
<file>dhcp.conf</file>
<reload>/usr/local/etc/rc.d/isc-dhcpd restart</reload>
<template>1</template>
allow unknown-clients;
default-lease-time 28800;
min-lease-time 10000;
max-lease-time 128800;
authoritative;
ddns-update-style interim;
log-facility local7;
subnet 172.16.172.0 netmask 255.255.255.0 {
        option subnet-mask 255.255.255.0;
        option broadcast-address 172.16.172.255;
        option routers 172.16.172.2;
        option domain-name-servers 10.20.0.1, 10.0.0.1;
<filtr net='172.16.172.0/24'>
        host <lat_login> {
                hardware ethernet <dopdata-_mac>;
                fixed-address <ip>;
        }
</filtr>
}


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: VitalVas от 31 Октября 2009, 08:01:33
зачем тебе ето
Код:
range 10.10.10.10 10.10.10.254;
так ты будеш выдавать ір "гостям" в сети.
читай http://vitalvas.pp.ua/configure-dhcp-freebsd.html


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: poxy. от 31 Октября 2009, 11:51:02
от мой рабочий конфиг
Код:
<file>dhcp.conf</file>
<reload>/usr/local/etc/rc.d/isc-dhcpd restart</reload>
<template>1</template>
allow unknown-clients;
default-lease-time 28800;
min-lease-time 10000;
max-lease-time 128800;
authoritative;
ddns-update-style interim;
log-facility local7;
subnet 172.16.172.0 netmask 255.255.255.0 {
        option subnet-mask 255.255.255.0;
        option broadcast-address 172.16.172.255;
        option routers 172.16.172.2;
        option domain-name-servers 10.20.0.1, 10.0.0.1;
<filtr net='172.16.172.0/24'>
        host <lat_login> {
                hardware ethernet <dopdata-_mac>;
                fixed-address <ip>;
        }
</filtr>
}
Спасибо за конфиг но вопрос немного в другом ,как заставить nomake переписывать конфиг dhcp при добавлении нового клиента в билинге ?Как у тебя это настоено в самом билинге или где это сделать ?P.S. почему в заголовке конфига "dhcp.conf" а не "dhcpd.conf"?


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: Efendy от 31 Октября 2009, 12:42:56
конфиг автоматически пересоздается при добавлении нового клиента, изменении данных иного

Насчет dhcpd.conf -  напиши туда хоть слово из трех букв, человеку нужен был конфиг с таким названием, сделай другое


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: poxy. от 31 Октября 2009, 13:32:44
немного разобрался но теперь nomake создает конфиг для dhcp в папке с нодени как изменить путь ?


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: Efendy от 31 Октября 2009, 15:12:42
немного разобрался но теперь nomake создает конфиг для dhcp в папке с нодени как изменить путь ?
шепотом: может быть его надо указать?


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: poxy. от 31 Октября 2009, 15:16:06
сорри за отсутствие логики но где? в nomake или в конфиге? Если в конфиге то как должно выглядеть ?


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: versus от 31 Октября 2009, 15:29:06
сорри за отсутствие логики но где? в nomake или в конфиге? Если в конфиге то как должно выглядеть ?

если конфиг генерируется номейк на основе темплейта, то соотвественно в конфиге прописывать тупо потому что при смене конфига дхцп все данные в нем потеряются!
Остается 2 варианта или в скрипте номейк пл или в темплейте
Открываем темплейт, смотрим первая строка
<file>dhcp.conf</file>
наверное она что то значит, ага имя файла! Дальше думаем....


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: poxy. от 31 Октября 2009, 16:08:33
если конфиг генерируется номейк на основе темплейта, то соотвественно в конфиге прописывать тупо
я просто неправильно выразился ,имел ввиду под словом конфиг именно конфиг(шаблон) для номейк


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: poxy. от 31 Октября 2009, 16:10:20
напиши пожалуйста что нужно дописать в шаблон чтобы номейк сохранял файл в /usr/local/etc/ ?


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: VitalVas от 31 Октября 2009, 16:14:21
какие вы все ленивые, даже в мане написано
Код:
cat /etc/rc.conf
..............
dhcpd_enable="YES"
dhcpd_conf="/usr/local/nodeny/dhcp.conf"
..............


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: goletsa от 31 Октября 2009, 16:16:20
А сделать include "/some/file"; в dhcpd.conf нельзя?
И все.
У мну давно конфиг dhcpd разбит на десяток файлов.


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: poxy. от 31 Октября 2009, 16:27:02
какие вы все ленивые, даже в мане написано
Код:
cat /etc/rc.conf
..............
dhcpd_enable="YES"
dhcpd_conf="/usr/local/nodeny/dhcp.conf"
..............
Спасибо Огромное!p.s. карму поднял


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: poxy. от 31 Октября 2009, 16:27:27
А сделать include "/some/file"; в dhcpd.conf нельзя?
И все.
У мну давно конфиг dhcpd разбит на десяток файлов.

Спасибо!


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: poxy. от 31 Октября 2009, 16:29:02
А nomake запускается с запуском системы?


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: VitalVas от 31 Октября 2009, 16:39:21
Код:
cat /usr/local/etc/rc.d/nomake.sh
#!/bin/sh
prg='perl nomake.pl dhcp.txt'
cd /usr/local/nodeny/
sleep 5
${prg} &
sleep 20
/usr/local/etc/rc.d/isc-dhcpd restart


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: poxy. от 31 Октября 2009, 16:58:35
#!/bin/sh
prg='perl nomake.pl dhcp.txt'
cd /usr/local/nodeny/
sleep 5
${prg} &
sleep 20

Это сам скрипт автозапуска ?


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: goletsa от 31 Октября 2009, 17:29:43
#!/bin/sh
prg='perl nomake.pl dhcp.txt'
cd /usr/local/nodeny/
sleep 5
${prg} &
sleep 20

Это сам скрипт автозапуска ?
Как бы намек:
Код:
cat /usr/local/etc/rc.d/nomake.sh


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: poxy. от 31 Октября 2009, 17:38:29
Все получилось!Спасибо!


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: poxy. от 31 Октября 2009, 18:52:40
С автозапуском сделал через cron:
@reboot    /usr/bin/perl  /usr/local/nodeny/nomake.pl dhcp.txt


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: smalever от 10 Февраля 2010, 22:39:11
goletsa
после этого nomake  запускается после ребута, формирует конфиг, и не остается демоном, что нужно поправить, чтоб он висел в памяти и дополнял dhcpd.conf ?

содержимое /usr/local/etc/rc.d/nomake.sh

Код:
#!/bin/sh
prg='perl nomake.pl dhcp.txt'
cd /usr/local/nodeny/
sleep 5
${prg} &
sleep 20


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: lans999 от 10 Марта 2010, 13:42:26
goletsa
после этого nomake  запускается после ребута, формирует конфиг, и не остается демоном, что нужно поправить, чтоб он висел в памяти и дополнял dhcpd.conf ?

содержимое /usr/local/etc/rc.d/nomake.sh

Код:
#!/bin/sh
prg='perl nomake.pl dhcp.txt'
cd /usr/local/nodeny/
sleep 5
${prg} &
sleep 20
Та же проблема. Кто знает подскажите. Если вручную запустить nomake.pl dhcp.txt, то все работает, если ставлю в автозагрузку nomake_enable="YES" - прцес стартует и через минуту вырубается, в логах ни чего не видно.


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: lans999 от 16 Марта 2010, 17:33:55
goletsa
после этого nomake  запускается после ребута, формирует конфиг, и не остается демоном, что нужно поправить, чтоб он висел в памяти и дополнял dhcpd.conf ?

содержимое /usr/local/etc/rc.d/nomake.sh

Код:
#!/bin/sh
prg='perl nomake.pl dhcp.txt'
cd /usr/local/nodeny/
sleep 5
${prg} &
sleep 20
Та же проблема. Кто знает подскажите. Если вручную запустить nomake.pl dhcp.txt, то все работает, если ставлю в автозагрузку nomake_enable="YES" - прцес стартует и через минуту вырубается, в логах ни чего не видно.

Это решил - с помощью webmin настроил в планировщике заданий cron прописал стартовать при загрузке системы    /usr/local/etc/rc.d/nomake.sh.

Осталась проблема - при добавлении клиентов с ip из диапазона указанного в dhcp.txt, если не  зайти в данные клиента - Технические данные и не заполнить его MAC или хотя бы не нажать применить с пустым полем MAC, то в dhcp.conf наблюдаем такую картину
Код:
 host alex {
           hardware ethernet ;
           fixed-address 192.168.1.166;
        }

        host an {
           hardware ethernet <dopdata-_mac>;
           fixed-address 192.168.254.194;
        }

        host ig {
           hardware ethernet <dopdata-_mac>;
           fixed-address 192.168.1.205;
        }

        host igor {
           hardware ethernet <dopdata-_mac>;
           fixed-address 192.168.1.186;
        }

        host lykh {
           hardware ethernet <dopdata-_mac>;
           fixed-address 192.168.254.166;
        }


и соответственно dhcp с таким конфом не работает.
Как устранить это?


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: VitalVas от 16 Марта 2010, 17:47:31
Осталась проблема - при добавлении клиентов с ip из диапазона указанного в dhcp.txt, если не  зайти в данные клиента - Технические данные и не заполнить его MAC или хотя бы не нажать применить с пустым полем MAC, то в dhcp.conf наблюдаем такую картину
Код:
 host alex {
           hardware ethernet ;
           fixed-address 192.168.1.166;
        }

        host an {
           hardware ethernet <dopdata-_mac>;
           fixed-address 192.168.254.194;
        }

        host ig {
           hardware ethernet <dopdata-_mac>;
           fixed-address 192.168.1.205;
        }

        host igor {
           hardware ethernet <dopdata-_mac>;
           fixed-address 192.168.1.186;
        }

        host lykh {
           hardware ethernet <dopdata-_mac>;
           fixed-address 192.168.254.166;
        }


и соответственно dhcp с таким конфом не работает.
Как устранить это?
[/quote]
береш и переписуеш номаке.пл для работы с таким


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: goletsa от 16 Марта 2010, 18:14:48
Неа, достаточно прописать проверку мака.

Чтото типа:
Код:
<filtr net='10.5.227.160/27' dopdata-_use_option_82='1' state='on' dopdata-_mac_pc='^..:..:..:..:..:..$'>


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: lans999 от 17 Марта 2010, 00:16:46
У меня работает только так
Код:
<filtr net='10.5.227.160/27' state='on' dopdata-_mac='^..:..:..:..:..:..$'>

Что означает
Код:
state='on'
и
Код:
dopdata-_use_option_82='1'
?


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: VitalVas от 17 Марта 2010, 07:55:11
Код:
dopdata-_use_option_82='1'
?
http://www.xgu.ru/wiki/%D0%9E%D0%BF%D1%86%D0%B8%D1%8F_82_DHCP


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: Wallenberg от 20 Марта 2010, 02:42:27
решил что тупо старт после ребута по крону неудобно, а по приведенному скрипту еще и 25 секунд локально на сервер не зайдешь (ну мало ли у кого как )). К тому же после ребута в таком виде у меня nomake.pl стартует, но после рисует в логе, что он получил команду рестарта и уходит в небытие :) Может пригодится кому, сделал так:

собственно сами dhcp-server и ipguard:

Код:
cd /usr/ports/net/isc-dhcp31-server && make && make install && make clean
cd /usr/ports/security/ipguard && make && make install && make clean
rehash

скрипт для dhcpd:
Код:
ee /usr/local/etc/rc.d/nodhcp.sh

Код:
#!/bin/sh
# PROVIDE: nodhcp
# REQUIRE: LOGIN mysql

. /etc/rc.subr

name="nodhcp"
rcvar=`set_rcvar`

load_rc_config $name

: ${nodhcp_enable="YES"}
: ${nodeny_dir="/usr/local/nodeny"}

start_cmd="${name}_start"
stop_cmd="${name}_stop"
restart_cmd="${name}_restart"
pidfile="/var/run/${name}.pid"

nodhcp_start()
{
    cd $nodeny_dir
    pid_old=`cat $pidfile 2>/dev/null`
    echo -n "Starting $name..."
    sh gonomake.sh ${name} &
    sleep 2
    pid_new=`cat $pidfile 2>/dev/null`
    if [ $pid_old ] && [ $pid_old = $pid_new ];
    then
      echo "No. Already running"
    else
      echo "OK"
    fi
}

nodhcp_stop()
{
    cd $nodeny_dir
    echo -n "Stopping $name..."
    pid=`cat $pidfile 2>/dev/null`
    if [ $pid ];
    then
       kill -TERM $pid;
       echo -n "Waiting pid $pid"
       while true
       do
         echo -n "..."
         if [ ! -f "$pidfile" ]; then break; fi
         sleep 1
       done
       echo "OK"
    else
       echo "$name is not running (no $pidfile)"
    fi
}

nodhcp_restart()
{
    nodhcp_stop
    nodhcp_start
}


run_rc_command "$1"

Код:
chmod 500 /usr/local/etc/rc.d/nodhcp.sh

и для ipguard :

Код:
ee /usr/local/etc/rc.d/noipguard.sh


Код:
#!/bin/sh
# PROVIDE: noipguard
# REQUIRE: LOGIN mysql

. /etc/rc.subr

name="noipguard"
rcvar=`set_rcvar`

load_rc_config $name

: ${noipguard_enable="YES"}
: ${nodeny_dir="/usr/local/nodeny"}

start_cmd="${name}_start"
stop_cmd="${name}_stop"
restart_cmd="${name}_restart"
pidfile="/var/run/${name}.pid"

noipguard_start()
{
    cd $nodeny_dir
    pid_old=`cat $pidfile 2>/dev/null`
    echo -n "Starting $name..."
    sh gonomake.sh ${name} &
    sleep 2
    pid_new=`cat $pidfile 2>/dev/null`
    if [ $pid_old ] && [ $pid_old = $pid_new ];
    then
      echo "No. Already running"
    else
      echo "OK"
    fi
}

noipguard_stop()
{
    cd $nodeny_dir
    echo -n "Stopping $name..."
    pid=`cat $pidfile 2>/dev/null`
    if [ $pid ];
    then
       kill -TERM $pid;
       echo -n "Waiting pid $pid"
       while true
       do
         echo -n "..."
         if [ ! -f "$pidfile" ]; then break; fi
         sleep 1
       done
       echo "OK"
    else
       echo "$name is not running (no $pidfile)"
    fi
}


noipguard_restart()
{
    noipguard_stop
    noipguard_start
}
run_rc_command "$1"

Код:
chmod 500 /usr/local/etc/rc.d/noipguard.sh

Чтобы не редактировать каждый раз /usr/local/nodeny/go.sh под свои нужды, создал отдельно gonomake.sh:

Код:
ee /usr/local/nodeny/gonomake.sh

Код:
#!/bin/sh

prg="perl nomake.pl $1"

while true
do
 ${prg}
 rez=$?
 case $rez in
         0 )  sleep 2 ;;
         * )  break ;;
 esac
done

exit $rez
Код:
chmod 500 /usr/local/nodeny/gonomake.sh

шаблоны для nomake.pl:

Код:
ee /usr/local/nodeny/nodhcp

Код:
<file>/usr/local/etc/dhcpd.conf</file>
<reload>/usr/local/etc/rc.d/isc-dhcpd restart</reload>
<template>1</template>
allow unknown-clients;
default-lease-time 28800;
min-lease-time 1800;
max-lease-time 43200;
authoritative;
ddns-update-style interim;
log-facility local7;
subnet 10.0.0.0 netmask 255.255.255.0 {
        option subnet-mask 255.255.255.0;
        option broadcast-address 10.0.0.255;
        option routers 10.0.0.1;
        option domain-name-servers 10.0.0.1;
        }
<filtr net='10.0.0.0/24' dopdata-_mac='^..:..:..:..:..:..$' state='^on$'>
        host <lat_login> {
                hardware ethernet <dopdata-_mac>;
                fixed-address <ip>;
        }
</filtr>

Код:
ee /usr/local/nodeny/noipguard

Код:
<file>/usr/local/etc/ipguard.conf</file>
<reload>/usr/local/etc/rc.d/ipguard restart</reload>
<template>1</template>
<filtr net='10.0.0.0/24' dopdata-_mac='^..:..:..:..:..:..$' state='^on$'>
<dopdata-_mac>  <ip>    # <login>
</filtr>

Ну и в rc.conf :
Код:
# Включаем dhcp сервер
dhcpd_enable="YES"
dhcpd_flags="-q" # отключаем вывод копирайта и прочего при старте dhcpd
dhcpd_ifaces="re1" # сетевой интерфейс на котором будет работать dhcpd

# Включаем IpGuard
ipguard_enable="YES"
ipguard_interface="re1"
ipguard_flags="-u 300 -zx -f /usr/local/etc/ipguard.conf"     # тут уже или в шаблоне для nomake.pl добавлять тег <reload> или тут "-u 300" - период перечитывания конфига

может в коробку добавить можно?

ps. запусков nomake.pl на сателите может быть несколько и все они мониторятся под одним логином.. Можно как то в nomake.pl в "$Report.=' бла бла бла '" как то вставить переменную $Config_out ? просто для большей наглядности, чтоб видно было с каким конфигом трабл вдруг чего


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: Demeo от 22 Августа 2010, 11:20:07
2 Wallenberg:
Молодчага, толково, DHCP работает.
IpGuard не ставлю по причине присутствия PPTP, а поскольку в nodeny забивается виртуальный IP - будут баниться люди, которые пользуются VPN. Смотрю в сторону ARP с возможностью присутствия динамических записей для VPN и статических для IP+MAC.
Разработчикам рекомендую все полезности, отлизанные в форуме, добавить с описанием в отдельную папку в коробке - меньше будут темы дублироваться


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: Rico-X от 28 Апреля 2012, 08:45:39
Может некропост, но все же.
Вместо 
Код:
host <lat_login> {
лучше использовать 
Код:
host <id> {
сильно экономит время при кривом заведении логинов офисом.


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: traktor150 от 12 Марта 2014, 11:50:01
В freebsd 10 не работает автозапуск



Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: elite от 12 Марта 2014, 20:10:49
беда )


Название: Re: nomake.pl + dhcp помогите настроить
Отправлено: muff от 09 Апреля 2014, 16:18:32
Попробуйте так:
/usr/local/etc/rc.d/nodhcp.sh
Код:
#!/bin/sh
# PROVIDE: nodhcp
# REQUIRE: LOGIN mysql

. /etc/rc.subr

name="nodhcp"
rcvar=`set_rcvar`

load_rc_config $name

: ${nodhcp_enable="YES"}
: ${nodeny_dir="/usr/local/nodeny"}

start_cmd="${name}_start"
stop_cmd="${name}_stop"
restart_cmd="${name}_restart"
pidfile="/var/run/${name}.pid"

nodhcp_start()
{
    cd $nodeny_dir
    pid_old=`cat $pidfile 2>/dev/null`
    echo -n "Starting $name..."
    sh gonomake.sh ${name} &
    sleep 2
    pid_new=`cat $pidfile 2>/dev/null`
    if [ $pid_old ] && [ $pid_old = $pid_new ];
    then
      echo "No. Already running"
    else
      echo "OK"
    fi
}

nodhcp_stop()
{
    cd $nodeny_dir
    echo -n "Stopping $name..."
    pid=`cat $pidfile 2>/dev/null`
    if [ $pid ];
    then
       kill -TERM $pid;
       echo -n "Waiting pid $pid"
       while true
       do
         echo -n "..."
         if [ ! -f "$pidfile" ]; then break; fi
         sleep 1
       done
       echo "OK"
    else
       echo "$name is not running (no $pidfile)"
    fi
}

nodhcp_restart()
{
    nodhcp_stop
    nodhcp_start
}


run_rc_command "$1"

/usr/local/nodeny/gonomake.sh
Код:
#!/bin/sh

prg="perl nomake.pl $1"

while true
do
 ${prg}
 rez=$?
 case $rez in
         0 )  sleep 2 ;;
         * )  break ;;
 esac
done

exit $rez

/usr/local/nodeny/nodhcp.txt переименуйте в /usr/local/nodeny/nodhcp

В rc.conf добавить nodhcp_enable="YES"

На 10-й ветке работает...