В статье «А можно без 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