Влад Волков писал(а):
Похоже вы путаете DNS, DHCP и WINS
Я не знаю, что такое WINS, потому что никогда не работал в windows. Я НЕ путаю DNS и DHCP. Просто из соображений здравого смысла кажется логичным, чтобы софт роутера делал mapping имени и динамического ip-адреса. те выполнял (рудиментарные) функции DNS для обслуживаемой им локальной сети. В документации об этом нет ни слова, поэтому я в своем вопросе 2 и спрашивал - это что, так и должно быть, те DNS не реализован? Только тогда непонятно, почему, когда на клиенте стоит автоматическое получение параметров сети (в том числе и адреса DNS-сервера), роутер в качестве такового выдает свой адрес 192.168.0.1. Поэтому и возникает естественное, на мой взгляд предположение о его DNS-функциях.
Что касается reneval time и lease time. Linux-клиент помещает полученные от dhcp-сервера данные о сети, включая lease time и reneval time, в специальный lease-файл. Цель - если клиент отключается, а потом опять подключается, он смотрит в этот файл и в первую очередь использует те lease, которые еще действуют. Обычно этот файл находится в /var/lib/dhcp/dhclient.leases. Так вот в случае роутера DI-824VUP+ этот файл выглядит так (подчеркиваю - все, что там написано, получено от dhcp сервера. Если вы не знаете Linux, все равно можете догадаться - там есть ip-адрес, маска сети и тд, чего в настройке клиента dhcp в принципе нет - это может быть получено только от сервера. Восклицательные знаки - мои.):
lease {
interface "wlan0";
fixed-address 192.168.0.135;
server-name "";
option subnet-mask 255.255.255.0;
option dhcp-lease-time 60; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
option routers 192.168.0.1;
option dhcp-message-type 5;
option domain-name-servers 192.168.0.1;
option dhcp-server-identifier 192.168.0.1;
option dhcp-renewal-time 40; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
option dhcp-rebinding-time 40;
renew 4 2005/1/13 21:51:45;
rebind 4 2005/1/13 21:51:47;
expire 4 2005/1/13 21:52:07;
}
Опция dhcp-renewal-time говорит клиенту, через сколько секунд он должен обновлять ip. dhcp-lease-time - lease time, предоставленный роутером, в секундах. На роутере в его web-конфиге стоит 1 НЕДЕЛЯ.
Для сравнения - тот же файл на том же ноутбуке, БЕЗ КАКИХ-либо изменений конфигурации, в сети, обслуживаемой роутером DI-624:
lease {
interface "wlan0";
fixed-address 192.168.0.2;
option subnet-mask 255.255.255.0;
option routers 192.168.0.1;
option dhcp-lease-time 604800; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
option dhcp-message-type 5;
option dhcp-server-identifier 192.168.0.1;
option domain-name-servers 192.168.0.1;
renew 1 2005/1/17 11:02:08;
rebind 4 2005/1/20 12:57:09;
expire 5 2005/1/21 09:57:09;
}
В этом случае dhcp-lease-time соответствует значению, выставленному на роутере. Возьмите калькулятор и посчитайте - это 1 неделя. Соответственно на Linux-клиенте в /var/log/messages я имею (мои комментарии начинаются с #):
#Клиент посылает запрос
Jan 14 12:57:09 localhost dhclient: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 7
# Получает ответ.
Jan 14 12:57:09 localhost dhclient: DHCPOFFER from 192.168.0.1
Jan 14 12:57:09 localhost dhclient: DHCPREQUEST on wlan0 to 255.255.255.255 port 67
# Клиент получает информацию о lease
Jan 14 12:57:09 localhost dhclient: DHCPACK from 192.168.0.1
# Клиент обновляет свои настройки DNS
Jan 14 12:57:09 localhost NET: /sbin/dhclient-script : updated /etc/resolv.conf
# Клиент вычисляет reneval time на основе полученного lease time.
Jan 14 12:57:09 localhost dhclient: bound to 192.168.0.2 -- renewal in
263099 seconds.
Как видите, этот протокол соответствует информации из lease-file.
По моему скромному разумению, вышеприведенная информация достаточно наглядно показывает наличие ошибок в прошивке DI-824VUP+. Хотелось бы получить конструктивный ответ на мои вопросы, а не отписки в стиле "сам дурак". Собственно это не вопросы, а информация об ошибках.
1.Роутер посылает клиенту lease time=60 сек вне зависимости от того, что установлено в его странице конфигурации.
2.Он не выполняет функции DNS-сервера, хотя посылает клиенту свой адрес как адрес DNS-сервера локальной сети.
Оба пункта вероятно легко проверить, независимо от используемой вами ОС. Не могу сказать, как это сделать в windows для пункта 1, но для пункта 2 - достаточно сделать ping <имя> с любого клиента сети на другой клиент <имя>, подключенный через dhcp.
Еще раз - текущая прошивка роутера - 20040830_824VUP_V103b02.