Jump to content
Калькуляторы

Tftpd32 и виста с семеркой...

Использую Tftpd32 в качестве dhcp.

Применяется резервирование ip.

Вкратце предыстория:

 

Монтажник подключает клиента, клиент получает свободный ip из пула.

Монтажник с помощью специального скрипта вносит данные о клиенте в базу и автоматически резервируется определенный ip в Tftpd32.

Переподключает интерфейс клиента и клиент получает нужный ip.

Все это верно при использовании клиентом виндовс ХР.

Но если у клиента виста или семерка, то как не усирайся, но не получает зарезервированный ip...

В висте помогают команды ipconfig /release и ipconfig /renew - и все ок = IP получен правильный.

В семерке даже это не помогает...

 

В Tftpd32 время аренды было большое выставлено, счас поставил минуту... Посмотрим что получится...

 

Но может кто подскажет как заставить семерку получить зарезервированный ip?

 

В виндовом dhcp такой проблемы нет... только в Tftpd32.

Но сама прелесть Tftpd32, что в нем можно на лету добавляь резервирование простым скриптом, а в виндовом не знаю...

 

Share this post


Link to post
Share on other sites

См. логи на предмет маков. Семёрка имеет неприятное обыкновение менять второй октет в маке по собственному желанию.

Share this post


Link to post
Share on other sites
Но сама прелесть Tftpd32, что в нем можно на лету добавляь резервирование простым скриптом, а в виндовом не знаю...

Мне не так давно показали как рулить виндовым dhcp-сервисом из скриптов... оказывается не всё так уж и плохо. cmd.exe -> netsh , а там уже дальше сориентируетесь(команда help или ?)

 

См. логи на предмет маков. Семёрка имеет неприятное обыкновение менять второй октет в маке по собственному желанию.

Серьёзно? А как же живут провайдеры, которые прибивают один мак на порт и вырубают mac-learning?

Share this post


Link to post
Share on other sites

Rcvd DHCP Rqst Msg for IP 0.0.0.0, Mac 00:1B:38:D2:19:38 [06/11 23:30:49.140]

 

и все...

а потом минут через 5 она себе ставит ip выданный из пула...

Share this post


Link to post
Share on other sites

пробую с виндовым

 

C:\Documents and Settings\Администратор>netsh dhcp server 10.0.0.1 scope 10.0.0.

0 add reservedip 10.10.10.10 0000769AB973 fire "Default GateWay FireWall Интер

нет" DHCP

 

Контекст текущей области изменен на область 10.0.0.0.

 

Команда успешно завершена.

 

C:\Documents and Settings\Администратор>

очень напрягает надпись - Контекст текущей области изменен на область 10.0.0.0.

что это?

 

а так впринципе пашет...

 

а есть команды на стирание полностью всех резервирований?

и есть ли команда что бы файл с резервированиями загружать?

 

нужно для того что бы после подключения клиента

1. резервирование стерлось

2. резервирование импортировалось из файла в котором я скриптами смогу найти клоны и тд и тп.

Edited by kazakru

Share this post


Link to post
Share on other sites

КРУТО!

подразумевается что у нас уже создана суперобласть

 

делаем в дос кодировке (если нужны русские символы) файлик например dhcp.txt

формат файла:

Dhcp Server 10.0.0.1 add scope 10.0.0.0 255.0.0.0 "kamenka-lan" "Новая сеть"
Dhcp Server 10.0.0.1 Scope 10.0.0.0 set state 1
# ============================================================================
# Начало добавления IP-диапазона
# к области 10.0.0.0, сервера 10.0.0.1
# ============================================================================ 
Dhcp Server 10.0.0.1 Scope 10.0.0.0 Add iprange 10.255.253.1 10.255.255.254
# ============================================================================
# Конец добавления IP-диапазона
# к области 10.0.0.0, сервера 10.0.0.1
# =================================================
# Начало добавления исключаемого IP-диапазона
# к области 10.0.0.0, сервера 10.0.0.1    ===========================
# =================================================
# Конец добавления исключаемого IP-диапазона
# к области 10.0.0.0, сервера 10.0.0.1
# =================================================    ===========================
===========================
# Начало добавления значений параметра
# к области 10.0.0.0, сервера 10.0.0.1
# =================================================    ===========================
Dhcp Server 10.0.0.1 Scope 10.0.0.0 set optionvalue    51 DWORD "86400"
Dhcp Server 10.0.0.1 Scope 10.0.0.0 set optionvalue    5 IPADDRESS "10.0.0.1"
Dhcp Server 10.0.0.1 Scope 10.0.0.0 set optionvalue    6 IPADDRESS "10.0.0.1"
Dhcp Server 10.0.0.1 Scope 10.0.0.0 set optionvalue    44 IPADDRESS "10.0.0.1"
Dhcp Server 10.0.0.1 Scope 10.0.0.0 set optionvalue    3 IPADDRESS "10.0.0.1"
# =================================================
# Конец добавления значений параметра
# к области 10.0.0.0, сервера 10.0.0.1
# =================================================    ===========================
===========================
# Начало добавления зарезервированных IP-адресов
# к области 10.0.0.0, сервера 10.0.0.1
# =================================================    ==========================
Dhcp Server 10.0.0.1 Scope 10.0.0.0 Add reservedip 10.85.35.1 4c001054e0ea "serega." "SERGEY Лапин Сергей Васильевич 4c001054e0ea" "BOTH"
Dhcp Server 10.0.0.1 Scope 10.0.0.0 Add reservedip 10.84.25.2 001195ffada3 "all_servers." "all_servers Гайворонский Руслан Юрьевич 001195ffada3" "BOTH"
Dhcp Server 10.0.0.1 Scope 10.0.0.0 Add reservedip 10.84.26.1 0004616a3250 "1" "bykovec Быковец Вячеслав Вячеславович  0004616a3250" "BOTH"
Dhcp Server 10.0.0.1 Scope 10.0.0.0 Add reservedip 10.84.54.1 001731ea26b7 "shamalo." "shamalo. Шамало Александр Павлович  001731ea26b7" "BOTH"
# ============================================================================
# Конец добавления зарезервированных IP-адресов
# к области 10.0.0.0, сервера 10.0.0.1
# ============================================================================

 

теперь при подключении нового пользователя, проверяем на совпадения, меняем если что нужно и тд и тп в самом файле с помощью скриптов, сохраняем файл.

программа типа xstarter переодически проверяет на изменения размера файла и при его изменении делает команду

netsh dhcp server 10.0.0.1 delete scope 10.0.0.0 DHCPFULLFORCE

этим мы удаляем всю область

и сразу делает экспорт в dhcp

netsh exec C:\dhcp.txt

и вуаля у нас все пашет и все все получают

:)

 

единственно вопрос к знатокам: в конце резервирования добавляется либо BOTH либо DHCP либо BOOTP

что означает каждый параметр? по умолчания сам dhcp сервак ставит BOTH ...

Edited by kazakru

Share this post


Link to post
Share on other sites

>КРУТО!

 

Я тоже удивился, когда мне показали возможности по написанию внешних скриптов для windows dhcp-сервера... не то что isc dhcpd, который надо рестатить(!) при изменении конфига

 

Share this post


Link to post
Share on other sites
См. логи на предмет маков. Семёрка имеет неприятное обыкновение менять второй октет в маке по собственному желанию.

Серьёзно?

Серьёзно. Своими глазами видел неоднократно. Да и в интернетах об этом говорят, что-то такое: http://forum.vbios.com/showtopic.php?tid/3.../post/last/m/1/
А как же живут провайдеры, которые прибивают один мак на порт и вырубают mac-learning?
Не знаю. Семёрка не так давно вышла, поэтому по этим граблям ещё не так много ходили.
Я тоже удивился, когда мне показали возможности по написанию внешних скриптов для windows dhcp-сервера... не то что isc dhcpd, который надо рестатить(!) при изменении конфига
dnsmasq не надо рестартить при изменении конфига, статических привязок или чего угодно другого. И синтаксис конфига человеческий, а не мозголомство, как в ISC. Хотя и возможностей чуть меньше.

Share this post


Link to post
Share on other sites
... не то что isc dhcpd, который надо рестатить(!) при изменении конфига
Да, это неудобство. Вот нашел, читаю:
Whenever changes are made to the dhcpd.conf file, dhcpd must be restarted. To restart dhcpd, send a SIGTERM (signal 15) to the process ID contained in /var/run/dhcpd.pid, and then re-invoke dhcpd. Because the DHCP server database is not as lightweight as a BOOTP database, dhcpd does not automatically restart itself when it sees a change to the dhcpd.conf file.

 

Note: We get a lot of complaints about this. We realize that it would be nice if one could send a SIGHUP to the server and have it reload the database. This is not technically impossible, but it would require a great deal of work, our resources are extremely limited, and they can be better spent elsewhere. So please don't complain about this on the mailing list unless you're prepared to fund a project to implement this feature, or prepared to do it yourself.

Когда я писал виндовые сервисы для ловли и сортировки сислог/мак-нотифи сообщений то у меня тоже возникла сложность с тем, что конфигурационный файл может меняться. Конечно же я понимал, что это "не невозможно технически" и потребует некоторого "объема работ". Эта проблема была решена за 10 минут, 7 из которых я пил кофе,... простым перечитыванием конфига через N единиц времени. Или это решение "не тру"?:) Кстати, небезызвестный 3proxy именно так и делает, насколько я помню. Если его попросить, то он периодически проверяет конфигурационный файл на наличие изменений, в случае если такие есть - чекит конфиг и если все ок - применяет. И все довольны как бы.

 

Share this post


Link to post
Share on other sites

Серьёзно. Своими глазами видел неоднократно. Да и в интернетах об этом говорят, что-то такое: http://forum.vbios.com/showtopic.php?tid/3.../post/last/m/1/

А вот это тоже очень интересно. Недавно наблюдал, теперь понятно откуда ноги растут. Лечится проблема?

Share this post


Link to post
Share on other sites

Не знаю, она даже наблюдается через раз. Раз загрузится с правильным маком, раз с изменённым. Причём бессистемно.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this