В статье «А можно без Windows?» (см. «Мир ПК», №6/02, с. 106) рассказывалось о WWW-браузере «Арахна», позволяющем совершать прогулки по Интернету, получать, отправлять почту и новости, используя DOS.
Мне не давало покоя ощущение «ущербности» MS-DOS, в которой реализована только клиентская сторона, работающая с протоколами TCP/IP. Традиционные серверы применяют FreeBSD, Linux, Windows 2000, кроме того, есть варианты для Windows 9х и др. В обычных Ethernet-сетях MS-DOS также уступает другим DOS-совместимым или DOS-подобным операционным системам (например, PTSDOS2000, где реализована одноранговая сеть), к тому же отсутствует доступ к MS-DOS рабочей станции по локальной сети. Конечно, кто-то может спросить: «А зачем он нужен, этот доступ к машине, обладающей незначительными по современным меркам ресурсами?» В определенной степени такой вопрос правомерен, но тем не менее знать о способах доступа к ресурсам DOS-рабочих станций, наверное, будет полезно. Варианта сети под MS-DOS я не нашел, но то, что обнаружил, оказалось еще интереснее.
Отыскал я реализацию Web/FTP-сервера для DOS, причем не имели значения ни версия последней, ни класс компьютера, где предполагается эксплуатация этого сервера. Сервер (в соответствующей версии) мог работать как на ПК, оснащенном процессором 8088, 286, 386 или 486 с объемом оперативной памяти менее 2 Мбайт, так и на современных машинах.
Самым удивительным оказалось то, что сервер вместе с ОС помещался на одной дискете! Теперь пользователи локальной сети могли через любой Web-браузер или FTP-клиент обратиться к ресурсам того компьютера, где запущен описываемый сервер. Если это будет DOS-рабочая станция, то доступ обеспечивался бы к ней через локальную сеть, а если просто старый, давно не используемый компьютер, который не был выброшен из уважения к его заслугам, то он, даже лишенный жесткого диска, смог бы стать Web-сервером и в современной локальной сети, созданной на базе Windows 2000 Server. Как применить такой сервер — решать вам. Одним из вариантов применения сервера на дискете является сетевая установка Windows 9x и других программ на рабочую станцию, которая не имеет дисковода CD-ROM. Если же вы считаете, что он и вам нужен, то читайте дальше.
Первое упоминание о сервере было найдено на странице http://www.hippy.freeserve.co.uk/ eznos.htm#whatis (язык — английский). Там были даны краткое описание настроек, необходимые ссылки и информация о лицензии на использование сервера. Насколько мне удалось понять, для ознакомления все дистрибутивы предоставляются бесплатно, а в случае коммерческого применения или просто для поддержки авторам предлагается выслать 50 долл.
Разработчик программы Phil Karn — радиолюбитель (KA9Q), и потому для всех радиолюбителей программа будет бесплатной. Автор говорит о возможности организации с ее помощью связи между удаленными машинами подобно обеспечиваемой BBS. Правда, описываемая программа для соединения с модемом не настроена.
Полная версия системы EZ-NOS содержит наряду с WWW и FTP новостной и почтовый серверы. Чтобы можно было лучше представить перспективы применения сервера, рассмотрим рисунок с одной из авторских страниц, поясняющий структуру проекта. Дистрибутив полной версии сервера существует на немецком языке, рисунок с надписями также на нем, но если вы немного знакомы со структурой сетей и применяемым оборудованием, то этого вполне достаточно, чтобы понять суть проекта.
Далее поговорим о сервере, помещающемся на дискете, — http://386.eznos.org/. Сначала вам потребуется переписать два файла из трех (в зависимости от используемого компьютера): dosser88.exe — дистрибутив для ПК, начиная с 8088 и до 80286; dosserver.exe — дистрибутив для ПК, начиная с 80386 и выше; help.zip — архив файлов помощи с описанием внутренних команд сервера.
Также можно воспользоваться файлом diskwww.zip (www.okobox.narod.ru), содержащим образ дискеты и программу diskdupe. exe, позволяющую преобразовать этот образ в рабочую дискету. Последняя включает почти все необходимое для запуска сервера на машинах, начиная с процессора 80386, но, в отличие от оригинальной, она содержит операционную систему MS-DOS 7 (русифицированную), и при старте на экране появляется сообщение о запуске Windows 98. Учтите, каким бы дистрибутивом вы не воспользовались, все равно придется настраивать сервер под параметры сети и сетевого адаптера.
Настройка сервера
Наладка заключается в изменении записей в файлах конфигурации. Прежде всего заглянем в файл A:NOSAUTOEXEC.NOS. Как и другие подобные файлы сервера, этот текстовый файл можно редактировать любым текстовым редактором. На дискете, полученной из образа архива diskwww.zip, уже есть необходимый (edit.com), который известен практически всем пользователям ПК, хотя бы иногда работающим в среде MS-DOS. Ниже приведено содержание данного и других файлов из diskwww.zip. Для тех, кто будет пользоваться прочими дистрибутивами, эти описания также подойдут — отличия не принципиальны.
Autoexec.nos
Сразу отмечу, что символ # предваряет все комментарии и неисполняемые команды. Итак,
# ============= # autoexec.nos # ============= hostname webbserver
Имя вашего сервера.
ip address 192.168.0.111
IP-адрес сервера должен быть заменен на другой, допустимый в вашей сети. Следующие значения параметров TCP/IP лучше не изменять, если вы не знаете, зачем это делаете.
tcp mss 1460 tcp window 4096 tcp syn off tcp maxwait 60000 tcp irtt 1000 tcp timer linear ip ttl 50 isat 1 attach packet 0x62 en0 5 1500
Данная команда подключает пакетный драйвер вашей сетевой платы. На дискете есть драйверы для двух плат, с которыми проверялась работа сервера. Устанавливать прерывания обычно не требуется, но если устройства конфликтуют, компьютер придется настроить. Если не знаете как, то обратитесь к опытным пользователям или доступным описаниям.
route add 192.168.0/24 en0
Маска подсети. Возможны варианты 192.168/16; 172.16/16; 10/8. Если возникают трудности с определением маски подсети в этом формате, то на дискете в каталоге WWW можно воспользоваться файлом Netmask.htm.
route add default en0 192.168.0.15
Адрес вашего маршрутизатора или основного сервера.
# Add domain name server
Изменить в адресе все параметры на параметры вашего DNS-сервера. Если такого нет или вы не хотите его применять, то не удаляйте символ комментария перед следующими двумя строчками:
# domain addserver 192.168.0.15 # domain addserver 192.168.1.254 # ===Start Services=== # FTP services
Для работы FTP-сервера необходимо сделать записи о пользователях в файл ftpusers. Следующие четыре строчки можно не изменять.
ftype image ftptdisc 900 ftpmax 10 start ftp start http 80 a www
Сервер может использовать страницы как с дискеты, так и с жесткого диска, если он есть. Для настройки запуска с применением порта 80 и каталога документов c: oswww следует написать: start http 80 c oswww (после буквы диска двоеточие не ставить).
# at 0600 exit at 0500 reboot
Приведены варианты настройки выключения (exit) или перезагрузки (reboot) сервера. Автор рекомендует перезагружать его ежедневно, однако сервер может работать и без перезагрузки. Параметр 0500 обозначает время в часах и минутах.
Следующий файл содержит указание на используемый пакетный драйвер, который должен быть помещен в a: NOSBIN. Как и обычно в Bat-файлах, REM — комментарий.
A:NOSHTTPD.BAT
@echo off REM Настройка сети
Оба драйвера есть на дискете. Если у вас установлена другая сетевая плата, то возьмите ее пакетный драйвер с дискеты, прилагающейся к плате, или найдите в Интернете. В строке указывается только имя файла без расширения, 0Ё62 пропускать нельзя.
rem osinRtspkt 0x62 osinHppclanp 0x62 REM Старт сервера osin os.exe -f os os.cfg REM Отключение от сети при выключении сервера osin ermin 0x62 echo
В следующем файле — A:NOS Ftpusers — представлены настройки доступа к FTP-серверу.
admin parol 127;ftpuser 127;ftpuniv 127 univperm * c:doc 3 user secret c:arx 7
Цифры обозначают уровень доступа:
1 - только чтение;
3 - чтение и запись без возможности удаления;
7 - полный;
127 - системного администратора;
128 - запрещение.
Формат записи: Пользователь Пароль [Буква диска:] Путь1 Доступ;Путь2 Доступ. Звездочка обозначает пустой пароль. Буква для диска A: может быть опущена.
С указанными настройками сервер работает в сети с сервером Windows 2000 Server 192.168.0.15 с маской подсети 255.255.255.0. Причем независимо от операционной системы вход через браузер будет всегда обеспечен с любой рабочей станции. Для предоставления доступа берется числовой формат IP-адреса http:// 192.168.0.111, а для пропуска через FTP нужно ввести ftp://имяпользователя@192.168.0.111. Пароль будет запрошен автоматически, его можно ввести сразу же в адресе: ftp:// имяпользователя:пароль @192.168.0.111.
При удачном соединении с сервером на экране компьютера, с которого устанавливалось соединение, появится страница приветствия: на русском языке — для описываемой дискеты, на английском — для оригинальных файлов.
Краткий список команд для управления сервером
? - выводит перечень команд на экран
cls - очистка экрана
exit - закрытие (выключение) сервера
help - помощь
http status - статус сервера
info - информация о сервере
multitask on - включение многозадачного режима (обеспечение доступа к рабочей станции)
ping w.x.y.z - ping, как обычно, по сетевому адресу
pkstat - детализация трафика
route - таблица маршрутизации на экран
shell - сеанс DOS, для возврата - exit