Previous Next Contents

6.Специальные TFTP Серверы

Поскольку единственная поддержка сети, доступная в TCP/IP BootPROM - TFTP, имеется особый интерес в расширении TFTP серверов для обеспечения новых возможностей.

6.1 Расширенный Bootix TFTP сервер

Bootix распространяет с TCP/IP BootPROM расширенный TFTP сервер, который может посылать пакеты до 1408 байтов вместо стандартных в 512 байтов. Это большое расширение, которое вы должны использовать. Этот сервер доступен на Сервисном диске TCP/IP Bootprom для Solaris, Windows и как Netware NLM.

6.2 Расширенный Linux TFTP сервер

Под Linux, получите TFTP сервер Bootix/Incom. Версия, откомпилированная для Linux доступна на http://cuiwww.unige.ch/info/pc/remote-boot/soft/incomtftpdlx.tar.gz .

6.3 Solaris TFTP сервер

Оригинальный Solaris TFTP сервер имеет серьезное ограничение на размеры файла, из-за использования подписанного 16-bits целого числа для подсчета пакетов. Bootix предоставляет расширенный TFTP сервер для Solaris, который решает эту проблему при обеспечении намного более высокой скорости передачи.

Однако, некоторые пользователи сообщили о проблемах (в особенности с SMC9432 платами) создания тупиков на запуске. Поэтому, Джон Мартин (John Martin) (j.martin@abdn.ac.uk) перенес Linux tftpd на Solaris. Вы можете получить это из http://www.csd.abdn.ac.uk/~jmartin/tftpd.tar.gz .

6.4 Защитный шлюз

Мы написали специальный TFTP сервер, который служит как шлюз защиты для аутентификации пользователей. Этот сервер запускается под Linux или Solaris, и может аутентифицировать пользователей согласно базе данных паролей Unix (NIS, и теневые пароли поддерживаются), Windows NT (или Самба) сервера или сервера Radius. Он доступен на http://cuiwww.unige.ch/info/pc/remote-boot/soft/stdtpd.tar.gz , с источником и прекомпилированными двоичными файлами. Прекомпилированные двоичные файлы не включают NT кодирование пароля, поскольку мы не можем распространять libdes, но трансляция совершенно честная.

Чтобы использовать шлюз защиты, вы должны только установить тривиальный файл конфигурации security domains, который описывает, к какому серверу аутентификации каждый логический домен защиты отнесен (Unix домен неявно отнесен на сервер базы данных паролей Unix). Это - образец конфигурационного файла:


radius sec-dom-rad radiusserver testing123 winnt sec-dom-nt1 192.168.1.1 NTSERVER1 winnt sec-dom-smb samba SAMBA1
Обратите внимание, что если вы используете Samba, вы должны установить security = user.

Вы можете также разместить на сервере защиты файл, содержащий список пользователей, которым не позволяют регистрироваться (для которых проверка будет терпеть неудачу в любом случае).

6.5 Широковещательный TFTP сервер

Мы написали специальный TFTP сервер, который представляет собой кустарный широковещательный вариант TFTP. Используя этот сервер, мы были способны загружать образы к 25 клиентам на тяжело загруженной 10 МБ локальной сети со скоростью 6 Мб/сек (это более эффективно чем обычный TFTP, поскольку не требуется подтверждения каждого пакета). Этот сервер выполняется под Linux или Solaris. Он доступен на http://cuiwww.unige.ch/info/pc/remote-boot/soft/btdtpd.tar.gz , с источником и прекомпилированными двоичными файлами.

Поскольку TCP/IP bootprom не поддерживает этот протокол, наше решение состоит в загрузке крошечной linux системы базирующейся на виртуальном диске, используя инструментальные средства, описанные в этом документе, и выполнении Linux версии MrBatch, которая имеет встроенную поддержку широковещательного TFTP. Простой пакетный файл может затем загрузить все файлы в кэш в течении нескольких минут, одновременно на всех компьютерах клиента. Вы не должны устанавливать Linux самостоятельно, чтобы использовать этот пакет, за исключением случая, когда вы имеете экзотические аппаратные средства и не можете непосредственно использовать ядро, предложенное в пакете.

Процесс осуществляется следующим образом. Сначала вы запускаете широковещательный сервер вручную, давая число ожидаемых клиентских компьютеров как параметр (помните, эта процедура должны использоваться не каждый день, но только когда вы изменили образ и хотите гарантировать, что это немедленно загрузится на все ваши клиентские компьютеры). Затем, вы включаете все клиентские компьютеры, которые выполнят следующий BpBatch сценарий:


setpartitions "BIGDOS:50" clean 0 linuxboot "linux.krn" "" "bcastrd.gz"
Инициирующий виртуальный диск содержит: Все программы статически связаны и удалены, для предотвращения libc.so, который является действительно огромным. Получающийся виртуальный диск сжат и занимает менее 300 КБ. Само ядро занимает 450 КБ (с многими сетевыми платами и поддержкой initrd). Когда Linux готов и выполняется, MrBatch вызывается со следующим сценарием (который вы должны отредактировать для ваших потребностей):

showlog set pauselog="OFF" setpartitions "BIGDOS:1024" clean -1 copy "$BOOTP-Server-IP@99:mblinux.imz" "{:-1}mblinux.imz"
Когда передача закончена, вы можете просто выключить все клиентские компьютеры и изменить их инициирующий сценарий начальной загрузки к вашему любимому меню.


Previous Next Contents