Биллинговая система Nodeny
21 Мая 2024, 09:49:06 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: 1 [2] 3
  Печать  
Автор Тема: nomake.pl + dhcp помогите настроить  (Прочитано 17917 раз)
poxy.
NoDeny
Спец
*

Карма: 10
Offline Offline

Сообщений: 844



Просмотр профиля
« Ответ #15 : 31 Октября 2009, 16:29:02 »

А nomake запускается с запуском системы?
Записан
VitalVas
NoDeny
Спец
*

Карма: 60
Offline Offline

Сообщений: 991



Просмотр профиля WWW
« Ответ #16 : 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
Записан
poxy.
NoDeny
Спец
*

Карма: 10
Offline Offline

Сообщений: 844



Просмотр профиля
« Ответ #17 : 31 Октября 2009, 16:58:35 »

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

Это сам скрипт автозапуска ?
Записан
goletsa
NoDeny
Спец
*

Карма: 21
Offline Offline

Сообщений: 973


Просмотр профиля
« Ответ #18 : 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
Записан
poxy.
NoDeny
Спец
*

Карма: 10
Offline Offline

Сообщений: 844



Просмотр профиля
« Ответ #19 : 31 Октября 2009, 17:38:29 »

Все получилось!Спасибо!
Записан
poxy.
NoDeny
Спец
*

Карма: 10
Offline Offline

Сообщений: 844



Просмотр профиля
« Ответ #20 : 31 Октября 2009, 18:52:40 »

С автозапуском сделал через cron:
@reboot    /usr/bin/perl  /usr/local/nodeny/nomake.pl dhcp.txt
Записан
smalever
Новичок
*

Карма: 0
Offline Offline

Сообщений: 3


Просмотр профиля Email
« Ответ #21 : 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
Записан
lans999
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 59


Просмотр профиля
« Ответ #22 : 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" - прцес стартует и через минуту вырубается, в логах ни чего не видно.
Записан
lans999
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 59


Просмотр профиля
« Ответ #23 : 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 с таким конфом не работает.
Как устранить это?
Записан
VitalVas
NoDeny
Спец
*

Карма: 60
Offline Offline

Сообщений: 991



Просмотр профиля WWW
« Ответ #24 : 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]
береш и переписуеш номаке.пл для работы с таким
Записан
goletsa
NoDeny
Спец
*

Карма: 21
Offline Offline

Сообщений: 973


Просмотр профиля
« Ответ #25 : 16 Марта 2010, 18:14:48 »

Неа, достаточно прописать проверку мака.

Чтото типа:
Код:
<filtr net='10.5.227.160/27' dopdata-_use_option_82='1' state='on' dopdata-_mac_pc='^..:..:..:..:..:..$'>
Записан
lans999
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 59


Просмотр профиля
« Ответ #26 : 17 Марта 2010, 00:16:46 »

У меня работает только так
Код:
<filtr net='10.5.227.160/27' state='on' dopdata-_mac='^..:..:..:..:..:..$'>

Что означает
Код:
state='on'
и
Код:
dopdata-_use_option_82='1'
?
Записан
VitalVas
NoDeny
Спец
*

Карма: 60
Offline Offline

Сообщений: 991



Просмотр профиля WWW
« Ответ #27 : 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
Записан
Wallenberg
Пользователь
**

Карма: 4
Offline Offline

Сообщений: 7


Просмотр профиля Email
« Ответ #28 : 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 ? просто для большей наглядности, чтоб видно было с каким конфигом трабл вдруг чего
« Последнее редактирование: 20 Марта 2010, 03:11:43 от Wallenberg » Записан
Demeo
NoDeny
Постоялец
*

Карма: 6
Offline Offline

Сообщений: 204


Просмотр профиля Email
« Ответ #29 : 22 Августа 2010, 11:20:07 »

2 Wallenberg:
Молодчага, толково, DHCP работает.
IpGuard не ставлю по причине присутствия PPTP, а поскольку в nodeny забивается виртуальный IP - будут баниться люди, которые пользуются VPN. Смотрю в сторону ARP с возможностью присутствия динамических записей для VPN и статических для IP+MAC.
Разработчикам рекомендую все полезности, отлизанные в форуме, добавить с описанием в отдельную папку в коробке - меньше будут темы дублироваться
Записан
Страниц: 1 [2] 3
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!