DHCP клиент и RFC 3442

Linux, безопасность, сети и все что с этим связано
Аватара пользователя
LKharlamov
Заглянувший
Сообщения: 3
Зарегистрирован: 24 авг 2008, 19:15
Откуда: Челябинск
Контактная информация:

DHCP клиент и RFC 3442

Сообщение LKharlamov »

День добрый!
Операционная система Ubuntu 8.04, 2.6.24-16-generic #1 SMP Thu Apr 10 13:23:42 UTC 2008 i686 GNU/Linux.
Прочитал статью по настройки DHCP клиента для получения маршрутов по DHCP (http://www.linux.by/wiki/index.php/FAQ_DHCP_routes).
Версия DHCP клиента: isc-dhclient-V3.0.6
Добавил в dhclient.conf строки:
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
#
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes;
Создал файлик /etc/dhcp3/dhclient-exit-hooks.d/rfc3442-classless-static-routes с содержанием из указаной выше статьи.
Впринципе заработало, маршруты появились, файл dhclient.leases стал следующего содержания:
lease {
interface "eth0";
fixed-address 10.52.8.102;
option subnet-mask 255.255.252.0;
option routers 10.52.8.1;
option dhcp-lease-time 1800;
option dhcp-message-type 5;
option domain-name-servers 78.29.2.21,78.29.2.22;
option dhcp-server-identifier 10.52.8.1;
option rfc3442-classless-static-routes 16,192,168,10,52,8,1,12,10,48,10,52,8,1,24,10,100,12,10,52,8,1,23,78,29,0,10,52,8,1;
option domain-name "chelcom.ru";
renew 0 2008/8/24 22:39:00;
rebind 0 2008/8/24 22:52:42;
expire 0 2008/8/24 22:56:27;
}
Проблемма заключается в следующем, при первом получении DHCP, когда файла dhclient.leases ещё нету, всё работает корректно, добавляются маршруты, создаётся файл dhclient.leases. Но при повторном получении DHCP происходит следующая ошибка:
root@LKharlamov-PC:/var/lib/dhcp3# dhclient3 eth0
There is already a pid file /var/run/dhclient.pid with pid 5259
removed stale PID file
Internet Systems Consortium DHCP Client V3.0.6
Copyright 2004-2007 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/

parse_option_param: Bad format a
Listening on LPF/eth0/00:11:6b:93:c0:d0
Sending on LPF/eth0/00:11:6b:93:c0:d0
Sending on Socket/fallback
DHCPREQUEST of 10.52.8.102 on eth0 to 255.255.255.255 port 67
DHCPACK of 10.52.8.102 from 10.52.8.1
bound to 10.52.8.102 -- renewal in 711 seconds.
Если я не ошибаюсь, при повторном запуске dhclient-а, он сначала проверяет наличие файла с лизами dhclient.leases, и если он существует пытается считать с него информацию, но думаю дойдя до строки
option rfc3442-classless-static-routes 16,192,168,10,52,8,1,12,10,48,10,52,8,1,24,10,100,12,10,52,8,1,23,78,29,0,10,52,8,1;
неможет её распознать и поэтому возникает ошибка, вследствии которой маршруты не добавляются :(

Подскажите, как можно решить проблему?
Изображение

assd
Интересующийся
Сообщения: 70
Зарегистрирован: 28 май 2008, 20:27

Re: DHCP клиент и RFC 3442

Сообщение assd »

Все правильно, потому что в конфиге походу ересь.

Вот пример описания маршрутов из работающего конфига:

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

 option ms-classless-static-routes 32, 195,222,71,201, 192,168,1,9, 32, 195,222,70,190, 192,168,1,9, 32, 195,222,70,238, 192,168,1,9, 32, 195,222,70,29, 192,168,1,9, 32, 195,222,70,32, 192,168,1,9, 32, 10,1,4,1, 192,168,1,10, 24, 172,31,1, 192,168,1,10;
 
option rfc3442-classless-static-routes 32, 195,222,71,201, 192,168,1,9, 32, 195,222,70,190, 192,168,1,9, 32, 195,222,70,238, 192,168,1,9, 32, 195,222,70,29, 192,168,1,9, 32, 195,222,70,32, 192,168,1,9, 32, 10,1,4,1, 192,168,1,10, 24, 172,31,1, 192,168,1,10;


Т.е. марщруты задаются в виде:

маска, подсеть, гейтвей,

для наглядности приведу пример: описание_в_dchp.conf - аналог_командой_route
32, 195,222,71,201, 192,168,1,9, - route add -host 195.222.71.201 gw 192.168.1.9
24, 172,31,1, 192,168,1,10, - route add -net 172.31.1.0/24 gw 192.168.1.10

Аватара пользователя
LKharlamov
Заглянувший
Сообщения: 3
Зарегистрирован: 24 авг 2008, 19:15
Откуда: Челябинск
Контактная информация:

Re: DHCP клиент и RFC 3442

Сообщение LKharlamov »

"конфиге походу ересь"

Наверна имеется ввиду в конфиге сервера, но думаю что там всё в поряде, так как маршруты получаются какбы там небыло нормально, ошибка "parse_option_param: Bad format a" выдаётся только при перезауске dhcpd, а строчку в скрипте с такой:
if [ x"$reason" == x"BOUND" ]; then

изменить на такую:
if [ x"$reason" == x"BOUND" ] || [ x"$reason" == x"REBOOT" ]; then

проста смущает надпись "parse_option_param: Bad format a" при перезапуске дхцп-клиента
Изображение

assd
Интересующийся
Сообщения: 70
Зарегистрирован: 28 май 2008, 20:27

Re: DHCP клиент и RFC 3442

Сообщение assd »

А,..сдается мне что должно быть вот так:

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

option rfc3442-classless-static-routes;

Аватара пользователя
LKharlamov
Заглянувший
Сообщения: 3
Зарегистрирован: 24 авг 2008, 19:15
Откуда: Челябинск
Контактная информация:

Re: DHCP клиент и RFC 3442

Сообщение LKharlamov »

assd писал(а):А,..сдается мне что должно быть вот так:

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

option rfc3442-classless-static-routes;
/etc/dhcp3/dhclient.conf line 7: expecting "code" keyword.
option rfc3442-classless-static-routes;
Изображение

Ответить