ISC DHCPd и Vista клиенты

Технические вопросы по UTM 5.0
Kayfolom
Сообщения: 746
Зарегистрирован: Вс фев 12, 2006 17:15

Сообщение Kayfolom »

Хм. У меня на всех версиях висты все работает отменно. И прописанные адреса и временные.
Вот конфиг, если поможет:

Код: Выделить всё

authoritative;

log-facility		local6;
ddns-update-style	interim;
ignore 			client-updates;

	option ms-classless-static-routes code 249 = array of unsigned integer 8;
	option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

shared-network FlintNet {

    subnet 10.0.0.0 netmask 255.255.240.0 {
	option routers		10.0.0.100;
	option subnet-mask	255.255.240.0;

	option domain-name	"flint.net";
	option domain-name-servers	10.0.0.1;

	option ntp-servers	10.0.0.1;
	
	option ms-classless-static-routes 16,192,168,10,0,0,101, 32,81,90,0,138,10,0,0,101, 24,195,133,188,10,0,0,101, 24,195,133,189,10,0,0,101, 24,195,133,190,10,0,0,101 , 24,195,133,191,10,0,0,101;
	option rfc3442-classless-static-routes 16,192,168,10,0,0,101, 32,81,90,0,138,10,0,0,101, 24,195,133,188,10,0,0,101, 24,195,133,189,10,0,0,101, 24,195,133,190,10,0,0,101 , 24,195,133,191,10,0,0,101;
#	option rfc3442-classless-static-routes 8,10,10,0,0,101, 12,172,16,10,0,0,101, 16,192,168,10,0,0,101, 25,81,90,0,0,10,0,0,101, 24,195,133,188,10,0,0,101, 24,195,133,189,10,0,0,101, 24,195,133,190,10,0,0,101, 20,192,168,0,10,0,0,102, 20,192,168,96,10,0,0,102;

	default-lease-time	86400;
	max-lease-time		172800;

	use-host-decl-names on;
	one-lease-per-client on;

	range 10.0.15.0 10.0.15.254; 	# for wild clients
	include "/etc/dhcpd.clients"; 	# for home users
    }
Далее еще несколько сетей прописано...

Beavis
Сообщения: 205
Зарегистрирован: Вт июн 21, 2005 00:44

Сообщение Beavis »

вообщем я понял в чем проблема!!!
мля гребеная виста :(
У меня при получении ИП сразу в ARP таблицу на сервере прописывается статически IP и MAC клиента.
Вот в этом то и засада!!!
В висте http://support.microsoft.com/kb/928233 у dhcp клиента используется нерекомендуемая фишка DEPRECATED feature.
Смысл в том, что с этого же мас адреса должен уйти запрос с ип 0.0.0.0, а в соответсвии с ARP таблицей у этого маса статический ИП.

Вообщем виста начинет отсылать DHCP серверУ ответ DEPRECATED, ну и соответсенно отбрасывает этот ИП и просит другой и так по кругу.

Решение: прописываю статическую ARP не сразу, а через 3 секунды после получения ИП.

Америкосы скоты не русские!!!

JAO
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Сообщение JAO »

А у меня вопрос. Чего ради это делается в Висте?

Kayfolom
Сообщения: 746
Зарегистрирован: Вс фев 12, 2006 17:15

Сообщение Kayfolom »

У меня система эвентов, при изменении связок в билинге, одновременно обновляет список в dhcp и arp. Т.е. при выдаче адреса dhcp-сервером, в арп таблице связка уже присутствует. При этом адреса вистам корректно выдаются.
В качестве решения для вашего случая, можно вынести dhcp на отдельный интерфейс, без фиксированной арп-таблицы, чтоб не мудрить с задержками.

Beavis
Сообщения: 205
Зарегистрирован: Вт июн 21, 2005 00:44

Сообщение Beavis »

Kayfolom писал(а):У меня система эвентов, при изменении связок в билинге, одновременно обновляет список в dhcp и arp. Т.е. при выдаче адреса dhcp-сервером, в арп таблице связка уже присутствует.
При этом адреса вистам корректно выдаются.
Так добавляешь в arp таблицу?
"arp -s IP_адрес MAC_адрес pub"
В качестве решения для вашего случая, можно вынести dhcp на отдельный интерфейс, без фиксированной арп-таблицы, чтоб не мудрить с задержками.
в сервере есть пару свободных интерфейсов.
можно поподробнее?
Ведь ип нужно из другой подсети выдать на этот интерфейс, будет ли все это работать?
И arp же общая на серваке для всех интерфейсов, или я не прав? freebsd.


p.s.
>>>Т.е. при выдаче адреса dhcp-сервером, в арп таблице связка уже присутствует.
А у меня задача помимо статических ИП, которые уже прописаны в биллинге(IP+MAC) , организовать еще динамичускую выдачу ИП адресов.

Kayfolom
Сообщения: 746
Зарегистрирован: Вс фев 12, 2006 17:15

Сообщение Kayfolom »

В арп-таблицу добавляю
arp -i eth0 -f /etc/arp.cfg
arp -i eth3 -f /etc/arp.cfg
Где /etc/arp.cfg файл со связками "IP МАС" - файл проще сформировать и быстрее залить в арп, нежели добавлять каждую связку в отдельности.
Юникс системы без проблем переносят два интерфейса в одну подсеть (главное не забыть перепроверить все сервисы и где можно задать явно нужный интерфейс, чтоб не было неопределенностей). Арп таблица своя для каждого интерфейса.

Если глянеш выше приведенный мной конфиг dhcp, у меня тоже выдаются IP из билинга (коммент # for home users) , плюс выделен диапазон "свободной раздачи" (коммент # for wild clients) - для неучтенных билингом маков.

Beavis
Сообщения: 205
Зарегистрирован: Вт июн 21, 2005 00:44

Сообщение Beavis »

Юникс системы без проблем переносят два интерфейса в одну подсеть
Входящий пакет придет правильно, а вот исходящий неивестно через какой интерфейс пойдет :(
(главное не забыть перепроверить все сервисы и где можно задать явно нужный интерфейс, чтоб не было неопределенностей).
Как?:)

и еще вопросик:)
я смотрю у тебя в конфиге все статические ip+mac берутся из файла: include "/etc/dhcpd.clients";
А если тебе нужно добавить связку ip+mac, как ты говоришь dhcp серверу, что ты изменил файл dhcpd.clients ?
Так?
killall -9 dhcpd
dhcpd
Или сервер сам каждый раз при выдачи ИП читает этот файл?

Kayfolom
Сообщения: 746
Зарегистрирован: Вс фев 12, 2006 17:15

Сообщение Kayfolom »

Beavis писал(а):
Юникс системы без проблем переносят два интерфейса в одну подсеть
Входящий пакет придет правильно, а вот исходящий неивестно через какой интерфейс пойдет :(
(главное не забыть перепроверить все сервисы и где можно задать явно нужный интерфейс, чтоб не было неопределенностей).
Как?:)

и еще вопросик:)
я смотрю у тебя в конфиге все статические ip+mac берутся из файла: include "/etc/dhcpd.clients";
А если тебе нужно добавить связку ip+mac, как ты говоришь dhcp серверу, что ты изменил файл dhcpd.clients ?
Так?
killall -9 dhcpd
dhcpd
Или сервер сам каждый раз при выдачи ИП читает этот файл?
Ну к примеру для dhcp в линуксе, в файле /etc/sysconfig/dhcpd я указываю параметр DHCPDARGS=eth3, во всем остальном можно явно в конфигах указать интерфейс для прослушки.
Так же можно поиграть метрикой интерфейса.

Если меняю связку, то мой самодельный костыль обработки событий билинга, определяет это и запускает скрипт utm2arp_dhcp.sh , в котором обновляется dhcpd.clients, arp.cfg и делается рестарт dhcp :
service dhcpd stop
service dhcpd start
Именно так, ибо остальные варианты отбпрошены как вредные:
kill -9 особенно вреден - вдруг кильнешь в середине обмена любезностями с клиентом - какая нибудь винда может встать раком до перезагрузки)
/etc/init.d/dhcpd condrestart - не стартует dhcp если он по какимто причинам не был запущен

Закрыто