Настройка DHCP

DHCP (англ. Dynamic Host Configuation Protocol - протокол динамической конфигурации узла) - это сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. Для этого компьютер обращается к специальному серверу, называемому сервером DHCP.

Для загрузки по сети сервер DHCP должен сообщить терминалу два дополнительных параметра:

  1. Откуда загружать. IP-адрес сервера, с которого можно загружать файлы операционной системы.
  2. Что загружать. Имя файла, который нужно загрузить первым.

Хорошая новость: WTware DHCP все сделает за вас. Загрузка по сети должна заработать автомагически, если вы установили WTware DHCP. Информацию о настройке службы WTware DHCP вы найдете здесь.

Плохая новость: в сети может быть только один сервер DHCP. Не пытайтесь использовать два сервера DHCP в одной сети. Если у вас уже есть сервер DHCP (иногда он находится в роутере или Wi-Fi точке доступа) и вы не готовы заменить его на WTware DHCP, вам придется настроить ваш сервер DHCP.

1. Откуда загружать

Параметр называется Next Server или 066 DHCP Option. IP-адрес сервера, на котором работает служба TFTP. Нужно указать IP-адрес машины, на которую вы установили WTware. Только IP-адрес цифрами, не имя! Для Microsoft DHCP указывается так:



Для ISC DHCP под Linux две строки:

next-server 192.168.0.1;
option tftp-server-name "192.168.0.1";

Mikrotik:

2. Что загружать

Два варианта. Новые компьютеры работают под UEFI. С UEFI работает 64-битная WTware на более свежем линуксовом ядре с более свежими драйверами. В настройках UEFI BIOS, обычно в разделе Boot, надо отключить Legacy/Compatibility/CSM, чтобы компьютер не имитировал старый Legacy BIOS. Под UEFI надо загружать файл:

6.0.72/bootx64.efi

Вместо 6.0.72 подcтавить номер вашей версии WTware.

Старые компьютеры, выпущенные до распространения UEFI, работают под Legacy BIOS. С Legacy BIOS работает 32-битная WTware на более старом линуксовом ядре, в ней больше драйверов для старого железа и нет драйверов для свежего железа. На старых компьютерах надо загружать файл:

6.0.72/wtware.pxe

Надо выбрать один вариант и указать его в настройках DHCP. Параметр называется Bootfile Name или 067 DHCP Option. Для Microsoft DHCP указывается так:



Для ISC DHCP под Linux две строки:

filename "6.0.72/wtware.pxe";
option bootfile-name "6.0.72/wtware.pxe";

Mikrotik:

Этих двух параметров должно быть достаточно для того, чтобы компьютер смог загрузиться по сети.

Если в одной сети есть терминалы под UEFI и под Legacy BIOS, или если нужно загружать разные версии WTware на разные терминалы, придется делать статические настройки для отдельных МАК-адресов на сервере DHCP.

Автоматическое определение UEFI и BIOS

WTware DHCP автомагически различает UEFI и BIOS и выбирает нужный зарузочный файл.

Microsoft DHCP можно настроить: инструкция про настройку Microsoft DHCP.

ISC DHCP под Linux:

filename "6.0.72/wtware.pxe";
option bootfile-name "6.0.72/wtware.pxe";
option client-system-arch code 93 = unsigned integer 16;
class "pxeclients" {
   match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
   if option client-system-arch = 00:07 or option client-system-arch = 00:09 {
      filename = "6.0.72/bootx64.efi";
      option bootfile-name "6.0.72/bootx64.efi";
   }
}

Mikrotik: инструкция на форуме.

Не слишком сложно? Еще есть загрузка по HTTP!


Пароль на вход в Setup и HTTPS

В начале загрузки терминал предлагает нажать DEL:


WTware boot screenshot

для того, чтобы попасть в меню SETUP:


WTware CDROM boot setup screenshot

Используя это меню, можно установить WTware на жесткий диск (при этом все содержимое диска будет уничтожено) или перенастроить параметры терминала. Если вы не хотите позволять пользователям входить в это меню, вы можете установить пароль. К сожалению, этот пароль невозможно просто задать в конфигурацонном файле, потому что в момент входа в это меню терминал еще не скачал конфигурацинный файл. Этот пароль устанавливается параметром 018 DHCP (Extensions Path). Нам не известно ни одной системы/устройства/программы кроме WTware, которая бы обрабатывала значение этого параметра. Вы можете безбоязненно задавать его значение: все остальные компьютеры в вашей сети его проигнорируют. Параметр раздается всем по сети, поэтому нельзя в нем писать пароль явно. Вместо этого указывается хэш-функция от пароля. Хэш вычисляется утилитой Пароль на WTware Setup в конфигураторе:


WTware password hash

На картинке приведен пароль wtwaresetup. В DHCP следует указать хэш от него. Для Microsoft DHCP указывается так:



Для службы WTDHCP (см. конфигуратор WTware) указывается так:



Для DHCP под Unix этот параметр указывается так:

option extensions-path "87f11d65fa307de119842ae70ccec8c5";



Hostname

012, hostname. В Microsoft DHCP hostname терминала указывается так:



Для службы WTDHCP (см. конфигуратор WTware) указывается так:



В Unix DHCP указывается:

option host-name "term21";



Динамический конфигурационный файл с HTTP сервера

Можно научить WTware скачивать конфигурационный файл с HTTP сервера. При этом в запрос добавляется некоторая информация про терминал. Можно например написать скрипт на PHP и генерировать конфигурацию терминала на лету, обращаясь к базе данных за настройками. Включается 179-й опцией DHCP. Для DHCP под Unix в начале конфига надо определить опцию:

option wtware-dynamic-http-config code 179 = text;

Затем в общем блоке или в описании отдельного терминала ее использовать:

option wtware-dynamic-http-config "http://10.1.1.28/wtware/dynamic-config.php";

При загрузке терминал обратится по указанному адресу, добавив к строке:

dynamic-config.php?arch=x86&mac=00.15.5D.00.04.04&ip=192.168.84.101&ver=5.2.9&host=t0000-001

Таким образом скрипт на сервере через параметры метода GET узнает архитектуру, МАК, ip (важно если терминал за NAT), версию WTware и имя хоста терминала.

Полученый от HTTP сервера конфиг дописывается после обычного конфига. Это может вызвать спецэффекты, если экраны и/или соединения объявлены и там, и там. Лучше экраны и соедиинения описывать в каком-то одном месте.

Этот механизм можно использовать без настройки нового параметра DHCP. Вместо 179 опции DHCP можно указать такое же значение в параметр dynamic: в файле Everyone/source.wtc.



DHCP relay

WTware DHCP может работать через DHCP Relay, встроенные в маршрутизаторы. Перед настройкой надо один раз загрузить терминал. Если DHCP Relay в маршрутизаторе настроен, терминал обратится к службе WTware DHCP. DHCP, получив запрос, добавит терминал в список конфигуратора.

Затем надо запустить конфигуратор. Выбрать терминал в списке (1). Перейти на вкладку DHCP (2). Нажать кнопку "Изменить IP" (3) и указать нужный адрес терминала. Конфигуратор сообщит, что адрес не соответствует интерфейсам сервера. Так и должно быть для терминалов, находящихся за маршрутизаторами и обращающимися к DHCP через DHCP Relay.

Затем нажать кнопку "Добавить" (4) и добавить параметр с номером 001, маску подсети терминала (5, 6).

Выбрать из параметров DHCP параметр с номером 003, Маршрутизатор (7). Снять галку автоматического определения маршрутизатора и указать правильный маршрутизатор для терминала (8). Маршрутизатор обязательно должен быть указан.

Нажать "Сохранить" (9) и закрыть окошко настроек.


Появились комментарии, поправки к этой статье? Пожалуйста, напишите в форум!