Я уже неоднократно на страницах данного сайта поднимал тему обмена файлами между современными и ретро-ПК и в этом материале хочу рассказать про еще один способ. Данный способ полезен для перекидывания файлов на ретро-ПК с MS-DOS. Единственное требование — наличие в ретро-ПК сетевой карты, т.к. весь процесс у нас будет проходить через локальную сеть. Наличие остальной сетевой инфраструктуры подразумевается по умолчанию. Так же нам потребуется некий компьютер с Linux. Причем, мощность его тут не особо важна, это может быть даже старый ноут.
EtherDFS — это необычный и крайне полезный сетевой драйвер для DOS, который позволяет монтировать диски удаленного сервера под управлением Linux как локальные диски через Ethernet. В отличие от тяжеловесных решений вроде Microsoft Network Client или Novell NetWare, клиент EtherDFS работает на низком уровне и требует минимум оперативной памяти. В основе проекта лежит простая, но эффективная идея: использование протокола Ethernet напрямую, минуя стек TCP/IP. И поскольку TCP/IP не используется, вам не нужно настраивать IP-адреса, маски подсети или шлюзы на стороне DOS-машины. Главная беда DOS-сетей — нехватка «нижней» памяти (до 640 КБ). Стек TCP/IP может «съесть» до 100 КБ и более. А если поставить тот же Microsoft Network Client… EtherDFS занимает всего около 8 КБ в памяти и может быть загружен в «верхнюю» память.
Благодаря отсутствию накладных расходов на инкапсуляцию TCP/IP, передача данных происходит максимально быстро для возможностей старого железа. На 100-мегабитной карте скорость часто упирается в шину ISA или скорость процессора, а не в протокол.
Что понадобится для запуска?
На стороне DOS:
- Сетевая карта с установленным Packet Driver (традиционный стандарт для DOS-сетей).
- Файл ethersrv.exe.
На стороне сервера (Linux):
- Утилита ethersrv-linux.
- Сетевой интерфейс (например, eth0).
Пример настройки
1. Запуск сервера (Linux)
Предположим, вы хотите расшарить папку с играми /home/user/dosgames для DOS-машины через интерфейс eth0:
sudo ./ethersrv-linux eth0 /home/user/dosgames
При желании постоянной работы в фоне можно оформить запуск сервера EtherDFS как systemd-юнит.
2. Запуск клиента (DOS)
Сначала загружаем пакетный драйвер для вашей карты (например, для RTL8139 это RTSPKT.COM), а затем монтируем диск:
RTSPKT.COM 0x60
ETHERDFS.EXE :: С-N
Здесь :: означает поиск любого доступного сервера в сети. Можно указать конкретный MAC-адрес сервера. Теперь диск N: в DOS — это содержимое вашей папки на Linux-сервере.
Особенности и ограничения
- LFN (Длинные имена файлов): DOS по умолчанию их не видит (используется формат 8.3). C такими файлами могут возникнуть проблемы.
- Безопасность: Протокол не имеет шифрования или аутентификации. Он предназначен исключительно для доверенных локальных сетей и ретро-лабораторий.
- Маршрутизация: Поскольку это «чистый» Ethernet (Layer 2), пакеты не пройдут через обычный роутер в другую подсеть или через интернет без специальных туннелей.
Что можно сказать как итог. EtherDFS — это отличный вариант для ретро-ПК с DOS. Это самый быстрый и безболезненный способ перекидывать файлы на 286-й или 386-й компьютер, не устраивая плясок с картами памяти или дискетами. Если вам нужно простое сетевое хранилище для ретро-гейминга или разработки под DOS, это решение номер один.
