在家用网络上设置旧式 386 电脑

作者:Jim Hatridge

我的妻子对现代生活的福祉抱有深刻的不信任感。在电脑方面,她最近升级到一台回收的 Compaq DeskPro 386/25e,此前她用坏了 1987 年购买的 XT。她对电脑的全部需求就是一个用于写作的文本编辑器和一个用于整理的电子表格程序。她使用 WP 4.2、Norton Commander(用于移动文件)和 VP Planner(Lotus 123 克隆版);这三个软件都是她在 1987 年左右得到的。但是现在她想让我将她的系统添加到我们的家用网络中,但前提是不改变她系统上的任何东西。首先,她希望能够将文件从她的系统传输到我的系统。我很容易就解决了这个问题。然后她希望从她的旧 DOS 机器上访问互联网——这就不那么容易了。

我的家用网络由八个系统组成,我将它们作为一个 Beowulf 集群运行。每个系统都不同,而且我都是用回收的零件组装的。所以我决定将我妻子的这台小电脑连接到头节点上。以下是我如何做到这一点以及我使用的硬件的描述。

我的系统 tenn(Tennessee Tuxedo 的缩写,美国的一部卡通企鹅)是一台双启动 Linux/MS 3.1 PI/166MHz 电脑,配有一个 6.4GB 硬盘和一个 PCI 网卡。我妻子的系统 hilde 是一台 Compaq 386/25e,配有一个 120MB 硬盘和一个我添加的 NE2000 克隆网卡。跳线将两个系统连接到一个 D-Link 8 端口集线器。查看软件,她的电脑上安装了 MS-DOS 5.0 版本。我的系统上安装了标准的 SuSE 7.2 pro。

我们的想法是将此设置为使我的系统成为她系统的文件服务器。我两次解决了文件服务器问题。第一次她希望能够连接到我的系统,就好像它是她的 DOS d:\ 分区一样。为此,我在她的电脑上设置了微软的 DOS 网络客户端,然后在我的 Linux 系统上启动了 Samba。

新问题:当我告诉我的妻子我使用了微软的软件来连接她的系统时,她一点也不高兴,并要求我只使用开源软件。当我解释说她已经在运行 MS-DOS 时,也没有说服她。她的理由是 MS-DOS 是在微软成为邪恶帝国之前编写的,所以没关系。

回到绘图板。我在我的 SuSE CD 中找到一个名为 XFS 的 DOS 实用程序,这是一个用于 DOS 的开源 NFS 客户端。这个软件正是我需要的。在她的系统上,我设置了 XFS,在我的系统上,我添加了 pcnfsd,以便 XFS 可以登录。

下面介绍我如何设置双向文件共享。您可以决定哪种方法更适合您。

设置 MS-DOS 网络客户端

首先,您需要从微软的 FTP 站点下载微软的 DOS 网络客户端软件。MS 有两个文件:dsk3-1.exe 和 dsk3-2.exe。如果您有网卡的 DOS 驱动程序,则只需要第一个文件。但是使用 MS 磁盘更容易,所以我这样做了。

Setting Up an Old 386 on Your Home Network

图 1. 启动 MS 网络客户端安装

这是您启动 MS 安装的地方。从列表的顶部开始,您需要给您的机器命名,即更改名称。我在前两行中给出了 hilde 作为名称,但后两行可以保留默认的“workgroup”。

Setting Up an Old 386 on Your Home Network

图 2. MS 网络客户端设置

返回主菜单并选择下一个选项“Setup”(设置)。您可以将所有这些设置保留为默认值。

Setting Up an Old 386 on Your Home Network

图 3. 添加适配器

现在我们进入设置的核心部分,“Change Network Configuration”(更改网络配置)。在这个菜单中,我们应该做的第一件事是“add adapter”(添加适配器)。单击此选项将显示 MS 拥有的所有驱动程序列表。选择适合您机器的驱动程序。现在我们应该更改设置。如果您选择了网卡,它应该会显示在此菜单上。您需要在此处添加 IO 和 IRQ 号码,以及“adapter slot number”(适配器插槽号),即您将网卡插入的插槽。从最左边的插槽开始,编号为 1,向右数,最多到 8。此信息可能仅对于 EISA 主板是必需的。

“Add protocol”(添加协议)是下一步,也是大多数人搞砸的地方。MS 将默认设置为 IPX,但您需要将其更改为 TCP/IP。同时,您应该删除 IPX 行,以便 MS 不会感到困惑。要删除 IPX 协议,您需要按 Tab 键切换到上面的菜单并突出显示 IPX 行。然后按 Tab 键返回到下面的菜单并单击“delete”(删除)。

此时,突出显示显示“options are correct”(选项正确)的行,然后按回车键。MS 将接管并安装所有软件。现在您需要重新启动您的 DOS 机器。

DOS 批处理文件

为了尽可能简化 DOS 系统,我为 hilde 编写了两个批处理文件。startd.bat 文件加载 DOS 连接所需的所有网络文件。由于我的妻子不需要一直连接,我将所有网络程序都放在这个文件中。这样做可以释放她系统更多的内存。基于此,我编写了 stopd.bat。这样,当她完成文件传输后,就可以释放内存用于其他事情。她的系统有 4MB 的主内存,对于一个纯 DOS 系统来说已经相当多了,所以她很少收到内存不足的错误。

############### startd.bat #############################################

@echo off
C:\NET\net initialize
C:\NET\netbind.com
C:\NET\umb.com
C:\NET  cptsr.exe
C:\NET  inyrfc.exe
C:\NET\nmtsr.exe
C:\NET\emsbfr.exe
C:\NET\net start
net use * \     enn\cdisk

这个批处理文件比看起来简单得多。当我在 hilde 上设置 MS 客户端时,安装程序将所有 c:\NET\XXX 程序都放在了 autoexe.bat 文件中。由于我不希望每次系统启动时都启动 Net,所以我将这些行取出并放入 startd 文件中。在最后一行,系统真正建立了连接。这个 Net 命令表示使用第一个打开的目录字母,即 *。您可以给出一个字母,例如 D:\,并连接到系统 \ enn 的 cdisk。请注意,这不是 tenn 的目录 cdisk,而是 Samba 共享 cdisk。最后,您可以在末尾添加 Samba 的密码。在这里是不必要的,但是如果您不添加密码,程序每次启动时都会要求您输入密码。

当我的妻子完成文件移动后,她可以通过命令 stopd.bat 关闭连接,其中包含行 net use * /delete

MS 客户端运行时占用大约 100k 的内存,这不是什么大问题,因为 hilde 有 4MB 的内存。但是一些较旧的 DOS 程序只识别前 640k。因此,即使计算机有足够的空间,它们也会崩溃。我后来发现 stopd 并不会停止所有 MS Net 软件;仍然有两到三个程序在后台运行。似乎停止它们的唯一方法是重新启动系统。

在您的 Linux 系统上设置 Samba

启动 Samba 最简单的方法是编辑 /etc 中的 rc.config 文件。将 START_SMB="no" 行更改为 START_SMB="yes"。然后运行 SuSEconfig。当然,您必须以 root 用户身份执行此部分。如果您在 rc.config 中找不到此行,则说明您的系统上尚未安装 Samba,您需要安装它。您可以在 YaST 中执行此操作,YaST 是 SuSE 用于配置和管理您的操作系统的程序。如果您使用其他 Linux 发行版,请使用其配置工具来安装 Samba。

要使 Samba 工作,您必须编辑名为“smb.conf”的文件。由于我的系统是家用网络,并且未连接到互联网,因此我省略了所有安全性设置。如果您连接到互联网,请不要使用此设置,或者如果您使用此设置,请务必添加所有安全措施。

# Global parameters
[global]
        workgroup = workgroup
        null passwords = Yes
[cdisk]
        comment = DOS system
        path = /cdisk
        read only = no
        browseable = yes
        public = yes
        guest ok = yes

为了简单起见,我没有添加打印机支持。这很容易添加,但是 WP 4.2 在我的 Epson 打印机上打印不正确,所以我省略了它。当我的妻子需要打印东西时,我会将其传输到 AbiWord 并在 Linux 下打印。由于她的计算机 hilde 具有 MS-DOS 文件系统,因此它在读取我的 Linux 文件时会遇到问题。因此,我限制 hilde 只能访问我的 /cdisk,我已将其设置为 MS-DOS 系统用于 MS Windows。完成此操作后,您应该以 root 用户身份使用 smbd restart 重新启动 Samba,以便 Samba 读取更改。此时,我还将 hilde 添加到我的 hosts 文件中,并添加了以下行

192.168.17.99 hilde

这可能不是必需的,但它比在引用 hilde 时总是输入 192.168.17.99 更容易。

设置 XFS/pcnfsd

MS 软件带有其自己的 NE2000 数据包驱动程序。奇怪的是,当我切换到其他软件时,MS 驱动程序将无法工作。因此,我不得不为我的网卡寻找不同的驱动程序。可以在互联网上找到包含几乎所有旧网卡驱动程序的文件。我找到的最好的数据包驱动程序是由 Crynwr 编写的;它简单且无故障。该驱动程序只有三个选项,其中两个并非总是必需的。

在所有电脑中,我都尽可能使用最常见的网卡类型。这只是让事情更简单。在这种情况下,我妻子的电脑中安装了一张 NE2000 克隆卡,这是所有网卡中最常见的。要使其启动并运行,我只需要使用命令 ne2000 0x60 10 0x300

在 DOS 上设置 XFS

在第一张 SuSE CD 上有一个名为 DOSutils 的目录。它有两个用于 XFS 的子目录,一个用于纯 DOS,另一个用于 Windows。我使用了名为 xfs186 的纯 DOS 目录。这应该适用于任何非 Windows DOS 系统。很容易将所有 XFS 文件放在一张 1.44 软盘上并将其移动到 DOS 系统。我将所有文件放在名为 XFS 的目录中,然后将该目录添加到 autoexec.bat 文件中的路径列表中。

您需要在 DOS 系统上的 XFS 目录中配置三个文件:hosts、xfs.bat 和 init。

# XFS Version 1.71
# hosts
#
# Note: Please keep this file in LF/CR (DOS) format!
#
192.168.17.1   gateway
192.168.17.255      broadcast
255.255.255.0  netmask
192.168.17.44   tenn    nfs-server
192.168.17.99   hilde

hosts 文件带有示例数据。您只需要将名称和数字更改为您家用网络机器的名称和数字即可。

############### XFS.BAT ############################################
@echo off
rem XFS Version 1.71
loadhigh ne2000 0x60 10 0x300
rem loadhigh winpkt 0x60
loadhigh xfskrnl 0x60
fstool @c:\xfs\init
rem done

上面是 xfs.bat 文件,它启动 XFS 系统运行。第一行将您的数据包驱动程序加载到高端内存中。如果您使用的网卡不是 NE2000 克隆卡,则需要更改第一行以匹配您的网卡软件。只有当您计划使用 Windows 3.1 时才需要下一行;否则您可以删除它。接下来是 XFS 程序本身。一旦程序启动并运行,我们就必须初始化两个系统之间的连接。这是通过 xfstool 程序完成的。这一行运行下面的整个命令脚本。在示例中,该行仅显示 xfstool @init。但是存在一个问题:程序找不到脚本文件,即使 XFS 目录是 autoexec.bat 中路径的一部分也是如此。解决方案:我不得不添加它的路径,然后它就可以正常工作了。

# XFS Version 1.8
# Command Script
init hilde csum=off
# authentication
 pcnfsd tenn
 login
mount    d: tenn:/home/hilde/temp
mount    e: tenn:/cdisk
# mount lpt2: speedy:laser timeo=30
umask 000
#

在命令脚本中,您首先初始化 hilde 和 tenn 之间的连接。然后您必须告诉 tenn 您需要带有命令 pcnfsd tenn 的 NFS 文件系统。

现在您可以登录到 NFS 系统并挂载您需要的目录。对于 XFS 系统,我设置了两个 DOS 字母目录 d 和 e。d: 目录位于 Linux 文件系统中,e: 目录位于 MS-DOS 系统中。umask 命令告诉 XFS 将读/写权限设置为允许所有用户访问(Linux 系统上的 chmod 666 *)。

在这里使用 XFS 系统的一个奇怪之处在于,我可以毫无问题地在 Linux 文件系统上读取和写入。但是当我尝试写入 MS-DOS 分区时,我会收到权限被拒绝的错误。例如,在 tenn 上打开一个文件并另存为零位。我可以很好地读取分区,所以这看起来像是 XFS 软件中的一个错误。由于 hilde 不需要访问打印机,所以我注释掉了挂载打印机行。

在 Linux 上设置 pcnfsd

当您运行正常的 Linux NFS 系统时,您会找到一个名为 nfsd 的守护程序。此守护程序仅适用于其他 Linux/UNIX 系统。要使 XFS(在 hilde 上)与您的 Linux 计算机一起运行,您需要一个不同的守护程序;您需要将 pcnfsd 软件添加到您的系统中。在 SuSE 中,添加此守护程序很简单。只需运行 YaST 并安装它,然后在 rc.config 文件中将其打开。每次您向系统添加守护程序时,您需要执行的任何配置都将添加到此文件的末尾。

接下来,您需要将此行添加到 /etc 中的 exports 文件中。

/ hilde(rw)

这允许 hilde 访问您计算机上的所有文件。您可能希望将其限制为某个部分,例如

/cdisk hilde(rw)

现在 hilde 只能挂载您的 /cdisk。此时,您需要命令(以 root 用户身份)pcnfsd restart 以启动并运行此守护程序。一旦您连接了 hilde,您应该在您的系统消息文件中找到这两行

Feb  1 12:35:14 Tenn mountd[459]: NFS mount of /home/hilde/temp
attempted from 192.168.17.99
Feb  1 12:35:14 Tenn mountd[459]: /home/hilde/temp has been
mounted by 192.168.17.99
连接

一旦我让我的妻子连接到我们的家用网络,她就希望能够发送和接收电子邮件并浏览网络。所以我不得不想到一种方法来做到这一点。我查看了所有用于电子邮件和浏览的 DOS 程序,得出的结论是它们都有点麻烦。加上我必须在 Linux 上设置 IP 伪装等,这变得非常麻烦。所以我决定将她设置为我系统上的用户。现在她可以 Telnet 进入我的计算机并在 Linux 下运行 Pine 和 Lynx,我避免了 DOS 的所有设置问题。

Telnet

我在网上搜索了 DOS Telnet 客户端。在浏览了所有这些客户端之后,我最终使用了 sshdos。这是一个安全的客户端,对于家用网络来说有点过分,但是如果您通过网络进行 Telnet 连接,那么拥有它就非常好了。

DOS 的一个主要问题是没有中央 hosts 文件,因此每个软件都需要将其配置文件放在另一个位置。要使 sshdos 运行,需要配置三个文件。sshdos 使用 Waterloo TCP/IP 软件。

# Waterloo TCP/IP Host file
#
# ip-address     hostname   [alias(es)..]
127.0.0.1        localhost  loopback
0.0.0.0          null
192.168.17.44   tenn
###############################################################
# File of networks and domains
#
# name    number   [alias(es).. ]
loopback  127
tenn 192.168.17.44  tenn
###############################################################
print = "Waterloo TCP/IP setup"  ; optional key/value
my_ip = 192.168.17.99 ; really is 0.0.0.0, mandatory
hostname = "hilde" ; optional
netmask = 255.255.255.0  ; mandatory if not using DHCP
nameserver = 192.168.17.99  ; primary DNS,
gateway = 0.0.0.0  ; mandatory if not using BOOTP/DHCP
domain_list = "Hilde.epost.de"  ; mandatory if not using DHCP
浏览器和电子邮件

我的妻子使用带有 12 英寸彩色屏幕的显示器,对于任何类型的窗口软件来说都太小了。如此小的屏幕,窗口过多,难以阅读,对于像我妻子这样相信简单性的人来说简直是噩梦。因此,我教她如何使用 Lynx 和 Pine。标准的 SuSE 安装通常包含这些程序,因此我将不再赘述安装它们。除了教我的妻子如何使用每个程序之外,我几乎没有做任何事情。我希望 Lynx 是彩色的,并且我希望她的书签在启动时显示在屏幕上。因此,我在 Lynx 的 .bashrc 文件中添加了一个别名。以下是要添加到 .bashrc 文件中的行

alias lynx='lynx-color lynx_bookmarks.html'

这样做的好处是,当您向文件添加书签时,它会在您下次使用 Lynx 时显示出来。

在 Pine 上,我只向她展示了如何编写和发送电子邮件。我还帮助她设置了一个 .sig 文件。当然,您需要为两个(或更多)用户重新配置 sendmail 和 fetchmail。但那是另一篇文章的内容了。

James Hatridge 拥有信息系统管理学士学位,居住在巴伐利亚州的一个农场。

加载 Disqus 评论