MAGNet
Silver Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору vlary Цитата: Ну а уж потом на Дебиан сгенерить с помощью Перлового скрипта dhcp.conf | Спустя три года вновь возникла похожая задача, но теперь хостов совсем не 50) Может кому-то пригодится. Сохраняем список хостов в csv и скармливаем его вот в эту строку: Код: awk -F"," '{print " # " $6 "\n host " $2 " {\n hardware ethernet " $5 ";\n fixed-address " $1 ";\n }"}' ./hosts.csv|sed -e 's/ethernet \(..\)\(..\)\(..\)\(..\)\(..\)\(..\)/ethernet \1:\2:\3:\4:\5:\6/' > hosts.conf | Не забываем удалить из hosts.csv первую строку или первый хост у вас будет выглядеть вот так: Код: # Описание host Имя { hardware ethernet Ун:ик:ал:ьн:ый: код; fixed-address IP-адрес клиента; } | Далее полученный hosts.conf можно целиком вставить в dhcpd.conf или порубить на куски, как это сделал я. Мой, например, выглядит так: Код: # Вся сеть shared-network GELTD { # Рабочая подсеть subnet 192.168.20.0 netmask 255.255.254.0 { range 192.168.21.111 192.168.21.199; option broadcast-address 192.168.21.255; option subnet-mask 255.255.254.0; option routers 192.168.21.254; option netbios-name-servers sr-dc0.geltd.local, sr-dc1.geltd.local; default-lease-time 86400; # Default lease time 1 day max-lease-time 604800; # Maximum lease time 1 week use-host-decl-names on; next-server 192.168.20.1; if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" { filename "pxelinux.0"; } include "/etc/dhcp/conf.d/10-servers.conf"; include "/etc/dhcp/conf.d/20-wifi.conf"; include "/etc/dhcp/conf.d/30-admin.conf"; include "/etc/dhcp/conf.d/40-mobiles.conf"; include "/etc/dhcp/conf.d/50-workstations.conf"; include "/etc/dhcp/conf.d/60-printers.conf"; # Принтеры 192.168.20.220-239 include "/etc/dhcp/conf.d/70-nanopro.conf"; # Группа тонких клиентов WTware include "/etc/dhcp/conf.d/90-other.conf"; } # Подсеть для тонких клиентов subnet 192.168.22.0 netmask 255.255.254.0 { option domain-name-servers 192.168.22.222; option broadcast-address 192.168.23.255; option subnet-mask 255.255.254.0; option routers 192.168.22.222; include "/etc/dhcp/conf.d/80-ltsp.conf"; # Группа тонких клиентов для LTSP-сервера SR-Thins } } | С таким подходом плохо будет только тем, кто админит dhcp через webmin, ибо он include отрабатывать не умеет. Буду рад, если это кому-то облегчит жизнь и освободит немного времени | Всего записей: 2074 | Зарегистр. 31-03-2004 | Отправлено: 06:49 12-05-2014 | Исправлено: MAGNet, 07:01 12-05-2014 |
|