Pentalgin 8 Опубликовано: 2008-05-11 12:57:51 Share Опубликовано: 2008-05-11 12:57:51 (відредаговано) Кто подскажет есть ли Веб скрипт для управления DHCP севером (ОС FreeBSD) Нужнот просто добавление и удаление пользователей в конфиге, а то замучался все руками делать.. Відредаговано 2008-05-27 12:05:18 Foster Ссылка на сообщение Поделиться на других сайтах
Neelix 33 Опубліковано: 2008-05-11 13:10:52 Share Опубліковано: 2008-05-11 13:10:52 webmin Ссылка на сообщение Поделиться на других сайтах
Pentalgin 8 Опубліковано: 2008-05-11 13:31:57 Автор Share Опубліковано: 2008-05-11 13:31:57 Вебмин провбовал но там вручную нужно вибивать мак клиента, а хотелосьбы чтоб вбить только ип нажать кнопочку получить мак и записать в конфиг. Ссылка на сообщение Поделиться на других сайтах
Neelix 33 Опубліковано: 2008-05-11 13:33:48 Share Опубліковано: 2008-05-11 13:33:48 аналогично, или он сам должен догадываться какой у кого мак? )) Ссылка на сообщение Поделиться на других сайтах
centre-lan 1 Опубліковано: 2008-05-11 13:56:05 Share Опубліковано: 2008-05-11 13:56:05 Вебмин провбовал но там вручную нужно вибивать мак клиента, а хотелосьбы чтоб вбить только ип нажать кнопочку получить мак и записать в конфиг. Сделаю простенький интерфейс который будет по айпи определять мак и заносить в DHCP.. несколько кнопочек управления аля удалить, добавить и т.д. Подробности - в личку. Ссылка на сообщение Поделиться на других сайтах
Foster 0 Опубліковано: 2008-05-11 21:12:09 Share Опубліковано: 2008-05-11 21:12:09 дома стоит управлялка DHCP + ./etc/ethers на пхп есть еще обращения к днс и определение производителя по маку но с участием судоерс и прав апача на комманды впринципе оно модульное, надо включил, не надо - выключил в парочке сетей довольно успешно работает но еще писать и писать если кому надо такое - можно выложить Ссылка на сообщение Поделиться на других сайтах
Neelix 33 Опубліковано: 2008-05-11 21:29:20 Share Опубліковано: 2008-05-11 21:29:20 Интересно посмотреть Ссылка на сообщение Поделиться на других сайтах
Den_LocalNet 1 474 Опубліковано: 2008-05-11 21:38:26 Share Опубліковано: 2008-05-11 21:38:26 2foster выложи Ссылка на сообщение Поделиться на других сайтах
Foster 0 Опубліковано: 2008-05-11 21:46:49 Share Опубліковано: 2008-05-11 21:46:49 продайте кто-то времени можно было бы сделать svnчик чтоб обновлялось по ходу написания выложу значит... Ссылка на сообщение Поделиться на других сайтах
Pentalgin 8 Опубліковано: 2008-05-11 21:54:26 Автор Share Опубліковано: 2008-05-11 21:54:26 2Foster Да плиз очень нужная вещь с меня пиво Ссылка на сообщение Поделиться на других сайтах
Foster 0 Опубліковано: 2008-05-11 23:00:41 Share Опубліковано: 2008-05-11 23:00:41 выкладываю As Is, потроху пишется когда скучно баги и пожелания - в ПМ опишу как работает: Помещаем в апачевский веб апач должен стартовать с под пользователя, которому доступны комманды, прописанные в файликах panel/conf/* (конечно кроме class.php) в /etc/sudoers например: apache ALL=NOPASSWD: /bin/chmod,/sbin/iptables,/sbin/arp и в httpd.conf User apache Group apache что в этих файликах: $ cat config ipmac=1 // включать ли привязку IP+MAC ipblock=1 // включить ли модуль блокировки в iptables dhcp=1 // включить ли модуль управления DHCP iface=1 // включить ли модуль складывания статистики интерфейса в мускуль sudo=/usr/bin/sudo // путь к комманде sudo chmod=/bin/chmod // путь к комманде chmod arp=/sbin/arp // путь к команде arp dig=/usr/bin/dig // путь к комманде dig с пакета bind-utils смотрим что где лежит whereis arp whereis iptables $ cat config_dhcp dhcp_file=/etc/dhcpd.conf // где лежит dhcpd.conf dhcp_dir=/etc/dhcp // директория с хранимыми зонами, которые включаются в dhcpd.conf restart=/etc/init.d/dhcpd restart // это помоему еще не работает, так что прийдется ручками рестартовать dhcp zones=10,11 // зоны, через запятую, тут будет 10.0.10.0/24 и 10.0.11.0/24, т.е. по сути - третья цифра в айпишнике $ cat config_iface sql_host=localhost // хост мускуля sql_login=root // логин доступа к мускулю sql_pass=123456 // пароль для доступа к мускулю sql_db=panel // имя базы sql_tb_main=iface // таблица, в которую каждые 5 минут скидывается общая статистика интерфейса sql_tb_arch=iface_arch // таблица архива, куда пересчитывается и складывается общая статистика ifaces=eth1,eth2,vlan7 // интерфейсы, с которых снимать статистику. через запятую $ cat config_ipblock ports=tcp:web:80; // бесполезное iptables=/sbin/iptables // путь к iptables iface=eth0 // внутренний интерфейс, на котором блокируем пользователя $ cat config_ipmac ether_file=/etc/ethers // файлик с синтаксисом IP MAC, который вызывается при старте arp -f да, кстати, используются стили Smarty http://www.smarty.net/ качаем и ставим http://www.smarty.net/download.php банально распаковать в либы PHP, наподобие в /usr/local/lib/php впрочем на сайте смарти - все расписано структура SQL (если используется iface=1): CREATE TABLE IF NOT EXISTS `iface` ( `id` bigint(20) NOT NULL, `time` int(11) NOT NULL, `iface` varchar(7) NOT NULL, `rx` varchar(20) NOT NULL, `tx` varchar(20) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `iface_arch` ( `year` smallint(6) NOT NULL, `month` varchar(2) NOT NULL, `day` tinyint(4) NOT NULL, `rx` varchar(20) NOT NULL, `tx` varchar(20) NOT NULL, `iface` varchar(17) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; скрипты для крона если понадобятся пишите, сейчас переделывать не буду пример конфига dhcp: $ cat /etc/dhcpd.conf authoritative; log-facility local7; ddns-update-style none; default-lease-time 600; DHCPD_INTERFACE="eth0"; max-lease-time 600; local-address 10.0.10.1; option net-static-routes code 249 = string; subnet 10.0.10.0 netmask 255.255.252.0 { default-lease-time 3600; max-lease-time 3600; option subnet-mask 255.255.252.0; option broadcast-address 10.0.11.255; option domain-name "domain.com"; option domain-name-servers 10.0.10.1; option time-offset -18000; option ntp-servers 10.0.10.1; option routers 10.0.10.1; option netbios-name-servers 192.168.78.1; range 10.0.10.200 10.0.10.254; } include "/etc/dhcp/zone.10"; include "/etc/dhcp/zone.11"; это как пример, просто включаем include синтаксис /etc/dhcp/zone.10 файлов такой: host user1 {hardware ethernet 00:02:44:89:18:BF;fixed-address 10.0.10.5;} host user2 {hardware ethernet 00:0D:87:9A:15:26;fixed-address 10.0.10.6;} host user3 {hardware ethernet 00:18:F3:A2:D7:DB;fixed-address 10.0.10.7;} честно говоря не помню как он там проверяет, рыться сейчас не буду, но должен и построчно понимать и с другим синтаксисом при старте запускаем arp -f /etc/ethers, ну или где они там у нас лежат вроде бы ничего не забыл. Если что звыняйте - два часа ночи все таки. лежит тут Ссылка на сообщение Поделиться на других сайтах
Pentalgin 8 Опубліковано: 2008-05-12 07:18:18 Автор Share Опубліковано: 2008-05-12 07:18:18 Буду сегодне вечером пробовать поставь под фряхой, о результатах отпишу 2 Foster Огрмное спасибо!!! Давай координаты куда пиво отправлять := Ссылка на сообщение Поделиться на других сайтах
Колян 2 Опубліковано: 2008-05-12 07:27:25 Share Опубліковано: 2008-05-12 07:27:25 Я где-то выкладывал скрипт, который из бд СТГ берет данные, и записывает в дхцпд.конф Ссылка на сообщение Поделиться на других сайтах
Serjio 19 Опубліковано: 2008-05-12 07:30:17 Share Опубліковано: 2008-05-12 07:30:17 Давай координаты куда пиво отправлять := Сорта пива его не интересуют, по причинам неупотребления оного Ссылка на сообщение Поделиться на других сайтах
zulu_gluk 23 Опубліковано: 2008-05-12 12:04:36 Share Опубліковано: 2008-05-12 12:04:36 есть скрипт на пхп для управления дшцп, данные берутся из базы абиллса (скрипт не тот что идет в комплекте с биллингом). кому надо - в личку Ссылка на сообщение Поделиться на других сайтах
Pretender 5 Опубліковано: 2008-05-12 13:08:45 Share Опубліковано: 2008-05-12 13:08:45 есть скрипт на пхп для управления дшцп, данные берутся из базы абиллса (скрипт не тот что идет в комплекте с биллингом). кому надо - в личку давайте мне скриптулю с базой правда у мну не абились, но к своему прикручу. тоже надоело руками писать Ссылка на сообщение Поделиться на других сайтах
911 140 Опубліковано: 2008-05-12 13:53:11 Share Опубліковано: 2008-05-12 13:53:11 есть скрипт на пхп для управления дшцп а что нет тут ценителей perl ? Ссылка на сообщение Поделиться на других сайтах
wermer 28 Опубліковано: 2008-05-12 14:13:42 Share Опубліковано: 2008-05-12 14:13:42 Вопрос ко всем: как сделать, чтобы DHCP на один MAC-адрес выдавал сразу 2 IP-адреса? мне нужно некоторым пользователям выдавать одновременно внутренний (10.X.X.X чтобы пользователь видел локальную сеть) и внешний белый IP-адрес (чтобы пользователь работал в инете) !!! Ссылка на сообщение Поделиться на других сайтах
Foster 0 Опубліковано: 2008-05-12 14:19:37 Share Опубліковано: 2008-05-12 14:19:37 отдельным топиком выноси Ссылка на сообщение Поделиться на других сайтах
911 140 Опубліковано: 2008-05-12 15:35:27 Share Опубліковано: 2008-05-12 15:35:27 Вопрос ко всем: как сделать, чтобы DHCP на один MAC-адрес выдавал сразу 2 IP-адреса? мне нужно некоторым пользователям выдавать одновременно внутренний (10.X.X.X чтобы пользователь видел локальную сеть) и внешний белый IP-адрес (чтобы пользователь работал в инете) !!! имхо анриал выдавай реальный ип и маршрутизируй его в сетку кстати, какой биллинг и какая система авторизации? Ссылка на сообщение Поделиться на других сайтах
Колян 2 Опубліковано: 2008-05-12 17:28:56 Share Опубліковано: 2008-05-12 17:28:56 есть скрипт на пхп для управления дшцп а что нет тут ценителей perl ? А что в перл хорошего? Ссылка на сообщение Поделиться на других сайтах
Foster 0 Опубліковано: 2008-05-12 18:56:20 Share Опубліковано: 2008-05-12 18:56:20 скорость, не оффтопьте Ссылка на сообщение Поделиться на других сайтах
BUM 241 Опубліковано: 2008-05-26 11:48:53 Share Опубліковано: 2008-05-26 11:48:53 Foster, а что в кроне надо прописать для сбора информации с интерфейсов? (: з.ы. Спасибо за скрипт Ссылка на сообщение Поделиться на других сайтах
Foster 0 Опубліковано: 2008-05-27 10:43:22 Share Опубліковано: 2008-05-27 10:43:22 core@iface $ cat iface_traff #!/bin/bash mysql_host="localhost" mysql_login="root" mysql_pass="db_password" mysql_db="db_name" mysql_tb="iface" iface=$1 num=`snmpwalk -Oqn -c public -v2c localhost IfDescr | grep ${iface} | awk 'BEGIN {FS = "."} END {print $12}' | awk 'BEGIN {FS = " "} END {print $1}'` if [ ${num} -gt "-1" ] then eth1_rx=`snmpwalk -Oqv -c public -v2c localhost .1.3.6.1.2.1.2.2.1.10.${num}` eth1_tx=`snmpwalk -Oqv -c public -v2c localhost .1.3.6.1.2.1.2.2.1.16.${num}` id=`mysql -h ${mysql_host} -u ${mysql_login} --password="${mysql_pass}" -D "${mysql_db}" -N -B -e "SELECT id FROM ${mysql_tb} order by id desc limit 0,1"` next_id=`expr $id + 1` eth1_rx_old=`cat /home/foster/iface/base/${iface}_rx` eth1_tx_old=`cat /home/foster/iface/base/${iface}_tx` if [ $((eth1_rx)) -lt $((eth1_rx_old)) ] then eth1_rx_new=$eth1_rx else eth1_rx_new=`expr $((eth1_rx)) - $((eth1_rx_old))` fi if [ $((eth1_tx)) -lt $((eth1_tx_old)) ] then eth1_tx_new=$eth1_tx else eth1_tx_new=`expr $((eth1_tx)) - $((eth1_tx_old))` fi mysql -h $mysql_host -u $mysql_login --password="${mysql_pass}" -D "${mysql_db}" -N -B -e "INSERT INTO ${mysql_tb} VALUES ('$next_id',UNIX_TIMESTAMP(),'${iface}','$eth1_rx_new','$eth1_tx_new')" if [ $((eth1_rx)) -gt 0 ] then echo "${eth1_rx}" > "/home/foster/iface/base/${iface}_rx" fi if [ $((eth1_tx)) -gt 0 ] then echo "${eth1_tx}" > "/home/foster/iface/base/${iface}_tx" fi fi и паковалка в архив на PHP iface $ cat iface_traff2arch.php <?php set_time_limit(0); $tb="db_table"; $tb_arch="db_table_arch"; $link=mysql_connect('db_host', 'db_login', 'db_password') or die("Unable to connect"); mysql_select_db('db_name') or die("Unable to select DB"); mysql_query('SET NAMES cp1251'); $q=mysql_query("SELECT * FROM $tb order by id"); while($r=mysql_fetch_array($q)) { $day=date('d', $r['time']); $month=date('m', $r['time']); $year=date('Y', $r['time']); $q1='';$r1=''; $q1=mysql_query("SELECT * FROM $tb_arch WHERE `iface`='$r[iface]' && `year`='$year' && `month`='$month' && `day`='$day'"); $r1=mysql_fetch_array($q1); if ((empty($r1['tx']) && $r['tx']!='0') or (empty($r1['rx']) && $r['rx']!='0')) mysql_query("INSERT INTO iface_arch VALUES ('$year','$month','$day','$r[rx]','$r[tx]','$r[iface]')"); else { $rx_new=0; $tx_new=0; $rx_new=$r['rx'] + $r1['rx']; $tx_new=$r['tx'] + $r1['tx']; mysql_query("UPDATE iface_arch SET rx='$rx_new',tx='$tx_new' WHERE `iface`='$r[iface]' && `year`='$year' && `month`='$month' && `day`='$day'"); } } mysql_query("TRUNCATE $tb"); mysql_close($link); ?> в кроне соответственно: */5 * * * * /home/foster/iface/iface_traff eth1 1 > /dev/null 2 > /dev/null */5 * * * * /home/foster/iface/iface_traff eth2 1 > /dev/null 2 > /dev/null */5 * * * * /home/foster/iface/iface_traff vlan17 1 > /dev/null 2 > /dev/null 25 3 * * * /usr/local/bin/php -f /home/foster/iface/iface_traff2arch.php 1 > /dev/null 2 > /dev/null статистика по интерфейсам eth1 eth2 vlan17 складывается каждые 5 минут в базу и в 3:25 ночи перекидывается в архив. Там просто лежит за день, т.е. суммируется. Ссылка на сообщение Поделиться на других сайтах
Foster 0 Опубліковано: 2008-05-27 12:46:25 Share Опубліковано: 2008-05-27 12:46:25 кстати http://sauron.jyu.fi/ Sauron a free DNS & DHCP management system Some of the Sauron's features include: generates complete BIND (DNS) configuration file set for each server generates complete dhcpd (ISC's DHCP) configuration file set for each server automatically generates "reverse" zones supports smaller than class-C "reverse" zone delegations dynamic host aliases (both CNAME and A-record) support for dynamic DHCP address pools with access control (requires DHCP v3) DHCP failover support (requires ISC DHCP v3 or newer) MX and WKS record templates for hosts hosts may be assigned to a group that defines common attributes for it support for most most of the standard DNS RRs (resource records) ... http://webdhcp.sourceforge.net/ http://sourceforge.net/projects/dixie/ http://webdhcpdns.labs.libre-entreprise.org/index-en.html Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас