Перейти к содержимому
Калькуляторы

versen

Пользователи
  • Публикации

    12
  • Зарегистрирован

  • Посещение

О versen

  • Звание
    Абитуриент
  1. Thread 3: Caught error in main loop: Can't locate object method "Xid" via package "Net::DHCP::Packet" at ./dhcpsql.pl line 273 Line273: logger($dhcpreq->xid()."\t"."Thread $tid: Got a packet src = $ipaddr:$port length = ".length($buf)); PS Это тоже не помогло..
  2. Понял. thanks Теперь по dhcp серверу, вопрос, скорее к Ivan_83: в request_loop: в строку logger("Thread $tid: Got a packet src = $ipaddr:$port length = ".length($buf)); добавил $dhcpreq->xid()."\t". logger($dhcpreq->xid()."\t"."Thread $tid: Got a packet src = $ipaddr:$port length = ".length($buf)); и в логе нашел такую запись: [01/Jun/2011 12:35:15] 4055216833 DHCPTYPE = 3;HOST_NAME = microsof-f284e2 [01/Jun/2011 12:35:15] 4055216833 Thread 0: Got a packet src = 172.16.16.33:68 length = 339 [01/Jun/2011 12:35:15] 4055216833 Thread 2: Got a packet src = 172.16.16.252:68 length = 339 [01/Jun/2011 12:35:15] 4055216833 DHCPTYPE = 3;HOST_NAME = microsof-f284e2 [01/Jun/2011 12:35:15] 4055216833 sw_ip = 172.16.16.166; port = 27 [01/Jun/2011 12:35:15] 4055216833 sw_ip = 172.16.16.252; port = 19 [01/Jun/2011 12:35:15] 4055216833 DHCPTYPE = 3;HOST_NAME = microsof-f284e2 [01/Jun/2011 12:35:15] 4055216833 sw_ip = 172.16.16.33; port = 25 [01/Jun/2011 12:35:15] 4055216833 Sending response to = 172.16.16.33:67 length = 300 [01/Jun/2011 12:35:15] 4055216833 Thread 0: the code took: 0.00656295 wallclock secs ( 0.00 usr + 0.00 sys = 0.00 CPU) [01/Jun/2011 12:35:15] 4055216833 Sending response to = 172.16.16.252:67 length = 310 [01/Jun/2011 12:35:15] 4055216833 Thread 2: the code took: 0.00982499 wallclock secs ( 0.00 usr + 0.00 sys = 0.00 CPU) [01/Jun/2011 12:35:15] 4055216833 Sending response to = 172.16.16.166:67 length = 300 [01/Jun/2011 12:35:15] 4055216833 Thread 8: the code took: 0.014338 wallclock secs ( 0.00 usr + 0.00 sys = 0.00 CPU) Непонятно, что за глюк.. Почему в трех разных нитях один и тот же xid? Хотя параметры, к примеру, свитч_порт, которые берутся из того же $dhcpreq, у каждой нити получились свои? А вот $dhcpreq->getOptionValue(DHO_DHCP_MESSAGE_TYPE()) и $dhcpreq->getOptionRaw(DHO_HOST_NAME()) одинаковые. !?!? Перенес строку my ($buf, $fromaddr, $dhcpreq); # recv data чуть ниже в while( $RUNNING == 1 ) { my ($buf, $fromaddr, $dhcpreq); # recv data может из-за этого?
  3. Ооо.. Большое спасибо! А то что это cp866 как определяется? Только перебором?
  4. Да, это я уже пробовал encode("cp1251",$dhcpreq->getOptionRaw(DHO_HOST_NAME())).. забыл убрать. Также пробовал koi8-r и utf8. Результат тот же.. Как посмотреть кодировку с помощью tcpdump? Смотрю tcpdump -ni vlan10 -X -s 310 port 67 or port 68 Непонятно.. Вот так без encode: dhcpsql.log.2.txt
  5. tail -n 1000 /var/log/dhcpsql.log | grep -a HOST > ~versen/WORK/dhcpsql.log.txt dhcpsql.log.txt
  6. Хочу сказать спасибо за программулину! Очень помогла! У меня работает с opt82. Только ни как не могу заставить в логи читабельно писать getOptionRaw(DHO_HOST_NAME()) (или getOptionValue(DHO_HOST_NAME())) русские названия. Может кто знает?
  7. Это тоже сделано, но не помогает. У меня попадаются не IP, а целые сети. Что значит "ребут"? ipfw table flush? В моем случае этого хватает. А что именно он делает? Не поделишься?
  8. Плохо то, что когда такое случается, то под правило, где эта таблица, попадает трафик хостов, кот. вообще не значатся в table list. После того, как делаю ipfw table 5 list | awk '{print "/sbin/ipfw table 5 add "$1}' > table5.sh ipfw table 5 flush ./table5.sh какое-то время (день-два) все нормально. Интересно, есть ли такая проблема на более новых версиях (7.3, 8.0) ?
  9. Добрый день! Кто-нибудь может объяснить почему так: (Как может в одной таблице появляться два одинаковых ip?) [root@]# ipfw table 5 list| uniq -d 10.0.66.73/32 0 [root@]# ipfw table 5 list | grep 10.0.66.73/32 10.0.66.73/32 0 10.0.66.73/32 0 [root@]# ipfw table 5 delete 10.0.66.73/32 [root@]# ipfw table 5 list | grep 10.0.66.73/32 10.0.66.73/32 0 [root@]# ipfw table 5 delete 10.0.66.73/32 ipfw: setsockopt(IP_FW_TABLE_DEL): No such process [root@]# ipfw table 5 list | wc -l 4627 Удалить это можно только с помощью "ipfw table 5 flush" Если добавить два одинаковых ip, то ругается: [root@]# ipfw table 5 add 10.0.32.251/32 [root@]# ipfw table 5 add 10.0.32.251/32 ipfw: setsockopt(IP_FW_TABLE_ADD): File exists На машине 7.2-PRERELEASE FreeBSD 7.2-PRERELEASE #1: NAT с помощью PF Трафик режется с помощью IPFW. В table 5 ip добавляет utm5.
  10. Оъясни, пож-та, поподробнее, как это можно сделать? Как вообще можно создать посылку dhcp-release c определнными параметрами.
  11. Минимальное 10 минут. Через 3 минуты пользователь уже начнет звонить в тех поддержку и объяснять, что у него новый комп, на котором не работает интернет. А DHCP ввели, чтобы техподдержке меньше приходилось диктовать настройки. И при большом кол-ве пользователей и минимальном сроке аренды в сети будет один DHCP трафик ходить. :( Вот про эту штуку, спасибо, что напомнил... надо ее только как-то к пользователю прикрутить. Попробовать ссылку на батник выложить что ли.... В идеале, конечно, хотелось бы, что б можно было выдернуть шнурок из одного компа, вставить в другой и все сразу заработало.
  12. Всем доброго времени суток! Помогите, плиз, с такой проблемой: В сети запущен DHCP сервер (isc-dhcpd-server-3.0 на FreeBSD 7.1) и выдает IP по порту коммутатора, т.е. используется opt82. Проблема в том, что если из порта коммутатора выключить один комп и на его место включить другой (соответственно с другим MAC-адресом), то DHCP ругнется "...network net1: no free leases", т.к. в его БД уже есть запись о выданном IP для другого MAC адреса. Другой комп получит IP только после истечения default-lease-time или после удаления dhcpd.leases с рестартом dhcpd. Удаление dhcpd.leases без рестарта dhcpd не помогает. Кто-нибудь может подсказать, как можно это решить?