Задача: Настроить бездисковые рабочие станции чтобы они загружались из сети и грузились сразу в терминальную сессию.
Качаем загрузочный образ с сайта http://nixts.org
http://nixts.org/doku.php?id=downloads
нам необходим тот, который pxe.
Настройка DHCP-сервера
cd /usr/ports/net/isc-dhcp30-server && make install clean
[X] DHCP_PARANOIA
mkdir -p /usr/local/etc && touch /usr/local/etc/dhcpd.conf
cat /usr/local/etc/dhcpd.conf
ddns-update-style none;
subnet 172.16.0.0 netmask 255.255.255.0 {
range 172.16.0.123 172.16.0.153;
next-server 172.16.0.1
filename «pxelinux.0»
}
Параметр next-server задаёт IP-адрес TFTP-сервера, параметр filename задаёт имя загрузчика. Так же следует указать правильные subnet, mask и range — адрес сети, маску сети и диапазон выдаваемых адресов соответственно.
добавим в /etc/rc.conf следующие строки:
dhcpd_enable=»YES»
dhcpd_ifaces=»em0″
это строки разрешают запуск DHCP-сервера и указывают имя сетевого интерфейса (em0), на котором следует принимать запросы от DHCP-клиентов. Узнать имена сетевых интерфейсов можно при помощи команды ifconfig.
/usr/local/etc/rc.d/isc-dhcpd start
Настройка TFTP-сервера
Откройте файл /etc/inetd.conf любым текстовым редактором и найдите в нем такую строку:
#tftp dgram udp wait root /usr/libexec/tftpd tftpd -s /tftpboot
и раскомментируйте её
Создайте корневой каталог TFTP-сервера и каталог для конфигурационных файлов загрузчика:
mkdir /tftpboot
mkdir /tftpboot/pxelinux.cfg
Скопируйте в каталог /tftpboot файлы из архива загрузчика
Разрешите запуск inetd. Для этого откройте файл /etc/rc.conf добавьте в конец файла следующую строку:
inetd_enable=»YES»
Запустите inetd, который в свою очередь запустит TFTP-сервер:
/etc/rc.d/inetd start
На машине, которая загружается с сервера ставим загрузку с сети. Всё…
Осталось поправить конфигурационные файлы в папке pxeboot/
Тут нет ничего сложного. Все параметры интуитивно понятны. А на сайте есть полное описание.