Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
mały dodatek do dhcp, potrzebna pomoc http://forum.freesco.pl/viewtopic.php?f=22&t=17284 |
Strona 1 z 1 |
Autor: | Sadek [ środa, 5 listopada 2008, 09:19 ] |
Tytuł: | mały dodatek do dhcp, potrzebna pomoc |
witam! potrzebuje pomocy w napisaniu skryptu, może bardziej nakierowania albo wytłumaczenia( o ile istnieje taka możliwość) jak zrobić aby daemon dhcp odpalał jakiś program za każdym razem jak dhcp przydzieli komuś ip z puli automatycznej. czy moze coś małego(skrypt czy cuś) co czyta logi i znając pulę automatyczną dhcp odpala mi ten żądany program, a może jakaś komenda w samym dhcp która się jakoś odnosi do wykonywania niezależnych poleceń. chyba zagmatwałem, ale chodzi mi o to abym dostawał smsa za każdym razem jak dhcp przydzieli komuś adres z puli o końcówce ip 210-220 oczekuje na sugestie |
Autor: | Maciek [ środa, 5 listopada 2008, 13:18 ] |
Tytuł: | |
Musiałbyś napisać skrypt analizujący log i wysyłajacy smsa, to może zarżnąć słabszą maszynę... |
Autor: | Jacq [ środa, 5 listopada 2008, 18:05 ] |
Tytuł: | |
hmm a nie było coś już o tym na forum? cuś mi takiego świta... ![]() |
Autor: | viater [ środa, 5 listopada 2008, 20:02 ] |
Tytuł: | |
Maciek pisze: Musiałbyś napisać skrypt analizujący log i wysyłajacy smsa, to może zarżnąć słabszą maszynę...
Eeee tam zaraz analizować cały log... Tworzymy pipe, przekierowujemy log na tę pipe i skryptem w pętli odczytujemy z pipy - właśnie się tym bawię, za niedługo zapodam skrypt... |
Autor: | viater [ środa, 5 listopada 2008, 21:55 ] |
Tytuł: | |
Więc tak: I. Do /etc/dhcpd.conf dopisujesz (na początku): II. W /etc/syslog.conf : 1. Dopisujesz (może być na końcu): 2. Zmieniasz linię: na: III. Tworzysz pipe (jako root): IV. 1. Restartujesz syslogd 2. Restartujesz klogd 3. Restartujesz dhcpd Od tej chwili logi dhcpd masz zapisywane w /var/log/dhcpd oraz do pipy /root/dhcpdlog Pipa to jest FIFO, więc ma między innymi to do siebie, że jak coś z niej odczytasz, to już w niej tego nie ma. W związku z powyższym: V. Robisz sobie taki oto skrypcik: #!/bin/bash #/usr/sbin/pilnuj_dhcp IP_LOW=210 IP_HIGH=220 SENDSMS="/sciezka/do/programu/wysylajacego/sms [numer] [tresc] [inny_parametr]" while read wpis; do YES=$[`echo $wpis | awk -F" |\." '{if ($6=="DHCPACK" && $11>'$IP_LOW' && \ $11<'$IP_HIGH') {result=1} else {result=0}} END {print result}'`] if [ $YES == 1 ]; then $SENDSMS fi done < /root/dhcpdlog VI. Odpalasz skrypcik: Zważ na & na końcu - jeśli go nie dasz, to skrypt będzie zapierniczał cały czas w konsoli, bo to nie skończona pętla. VII. Czekasz na SMS-y ![]() PS. Niektóre klienty odpytują serwer DHCP po kilka razy z rzędu i wtedy kilka razy z rzędu dostaja DHCPACK, w związku z czym możliwe jest, że dostaniesz kilka SMS-ów dotyczących tego samego przydziału adresu IP - nie chce mi się już kombinować jak zrobić, żeby temu zapobiec. A, i nie odpowiadam za ewentualne straty moralne i/lub materialne w przypadku, jeśli Ci się coś popier***i w systemie wskutek wykonania opisanych wyżej działań ![]() |
Strona 1 z 1 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |