Alexey Boyko пишет: > В сообщении от 26 September 2007 16:53 Maxim Tyurin написал(a): > >> Alexey Boyko пишет: >>> Кажись это. >>> http://www.ietf.org/rfc/rfc3442.txt >> а в Debian поддержка этого >> дела реализуется простеньким скриптом и добавлением одного параметра в >> конфиг dhcp > > Э-э, Намекни хотя бы как.
Настройки клиента: В файл /etc/dhcp3/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; то есть определяем массив для получаемых маршрутов и дописываем в запросы dhcp-клиента запрос на получение rfc3442 маршрутов. Теперь создадим скрипт, который будет создавать сами маршруты в таблице /etc/dhcp3/dhclient-exit-hooks.d/rfc3442-classless-routes : RUN="yes" if [ "$RUN" = "yes" ]; then if [ x"$new_rfc3442_classless_static_routes" != x"" ]; then if [ x"$reason" == x"BOUND" ] || [ x"$reason" == x"REBOOT" ]; then rfc_routes=($new_rfc3442_classless_static_routes) for(( i=0; i < [EMAIL PROTECTED]; )); do net_length=${rfc_routes[$i]} ((i++)) net_address=(0 0 0 0) for(( j=0; j < $[$net_length / 8 + \ ($net_length % 8 ? 1 : 0)]; j++, i++)); do net_address[$j]=${rfc_routes[$i]} done gateway=(0 0 0 0) for (( j=0; j < 4; j++, i++ )); do gateway[$j]=${rfc_routes[$i]} done old_IFS="$IFS" IFS='.' if [ x"$net_length" == x"32" ]; then /sbin/route add -host "${net_address[*]}" gw "${gateway[*]}" else /sbin/route add -net "${net_address[*]}/$net_length" gw "${gateway[*]}" fi IFS="$old_IFS" done fi fi fi -- With Best Regards, Maxim Tyurin JID: [EMAIL PROTECTED]
signature.asc
Description: OpenPGP digital signature