Maceater

作者:Jonathan Gross

许多小型企业开始对互联网连接感兴趣,但他们不愿意(或无法)为必要的硬件支付现金。由于路由器的成本接近 2000 美元,带宽也十分昂贵,因此似乎没有可行的方法将小型网络连接到互联网。然而,这取决于您的需求——基本服务(如电子邮件)不需要高带宽,而 Linux 提供了一种 非常 廉价的替代方案,可以替代高成本的商业服务器和路由器。

“maceater”的诞生

大约六个月前,我和我的平面设计师朋友 Rob 坐在一起喝酒。他抱怨他的办公室缺乏网络连接,并试图弄清楚如何在工作中至少获得电子邮件。他的网络由 Apple PowerMac、Quadra 和 Performa 组成,这些机器通过以太网连接并使用 Appletalk(Apple 的网络协议)进行通信。

我脑海中灵光一闪,开始构建一台 Linux 机器来解决他的问题。下一个周末,我出去买了一台二手的 386DX25,配备 4MB 内存、340MB 硬盘和一个 NE2000 以太网卡,花了 600 美元。再加上一个 28.8 调制解调器,又花了 200 美元,“maceater”的框架就诞生了。我把所有东西组装起来,然后用 DOS 启动它,以确保硬件能够正常工作。发现没有问题后,我重新分区了驱动器,并构建了一个精简、高效、基于 1.2.13 a.out Slackware 的系统,并启用了 IP_FORWARD

我省略了网络、系统管理和基本用户功能不需要的一切。由此产生的系统占用的空间非常小,为用户目录、交换空间和构建新程序留出了充足的空间。

在对 PBX 进行了一些调整后,我接通了电话线,并与我们的 ISP(我们从他们那里购买了一条专用电话线)建立了 PPP 连接。我们的域名已经注册,我们拥有一个完整的 C 类地址,可以开始分配 IP。我给 Rob 速成了 Unix、DNS 和 pico 课程,然后我们就开始了。一些用户要求拨号 PPP,因此我们开始将办公室工作站分配到 IP 范围的一端,将场外工作站分配到另一端。

我们不得不在所有机器上安装 MacTCP,并重新配置它们以彼此之间(以及与 Linux 机器“maceater”)进行 TCP 通信。设置 Mac 电脑相当容易,尽管 MacTCP(及其较新的兄弟版本“Open Transport”)倾向于在 System 7.5.3 上随机崩溃,但我们在大约四个小时内完成了所有内部路由设置。我们可以从 maceater ping 所有 Mac 电脑,并且所有 Mac 电脑都可以 telnet 到 Linux 机器。温馨提示:请务必应用 Apple 针对 MacTCP 和 Open Transport 的所有补丁,因为它们存在许多潜在的严重错误。

Linux 和 Appletalk

当我们与 Mac 电脑作斗争时,磁盘空间(以及 Mac 电脑上磁盘空间的不足)问题出现了。我脑海中再次灵光一闪,我抓取了 Netatalk 的源代码,这是一个用于 Unix 机器的软件包,它允许它们使用 Appletalk 进行通信并执行多项服务,包括从 Unix 机器打印到 Appletalk 连接的打印机,从 Mac 电脑打印到 Unix 打印机,以及从 Mac 电脑访问 Unix 文件系统。(Netatalk 可在 www.umich.edu/~rsug/netatalk 获取。)

Netatalk 在较新的内核下工作效果最佳,所以我构建了一个 1.3.74 内核(安装时可用的最新内核),启用了 Appletalk 和 IP 转发。我开始编译 Netatalk,然后去吃晚饭了。三个小时后(记住,这是一台 386),我安装了二进制文件,并启动了 afsd,即 apple 文件系统守护程序。在阅读了一些文档并设置了可挂载卷后,我重新打开了其中一台 Mac 电脑上的“选择器”,瞧!在其他 Mac 电脑中出现了一个 Linux 条目。单击“Linux”打开了一个文件夹,其中包含 /usr/local/bin,即我挂载的卷,看起来像任何常规 Mac 文件夹。我来回复制了一些文件,由于没有任何损坏,我宣布它成功了——并且比使用像 Fetch 这样的工具来移动文件容易得多。

这花了大约整整一个周末的工作,主要是因为在 386 上编译任何东西都非常慢。我们在我在公司的工作站 (DX4-100) 上进行了尽可能多的远程编译,并将生成的二进制文件传输到 maceater。

到目前为止,maceater 执行以下主要功能

1. 为 hlm.com 运行 sendmail (版本 8.7.5)

2. 充当约 20 个工作站的 pop-mail 服务器

3. 为 hlm.com 提供主要域名服务 (bind, 版本 4.9.3)

4. 运行一个实验性 Web 服务器 (Apache 1.0.0)

5. 为员工提供一条拨号 PPP 或 shell 访问线路 (PPP 2.0.0e)

6. 为整个网络路由数据包

7. 充当 FTP 站点

8. 充当原生 Appletalk 文件服务器 (Netatalk 版本 1.3.3b2)

截至撰写本文时,maceater 已经运行了 82 天,在此期间,我们编译并升级了 sendmail、bind 和 pppd。负载平均约为 0.5,具体取决于运行 shell 的人数。

总而言之,maceater 的硬件花费了我们大约 800 美元和一个周末的时间才使其顺利运行,尽管其中大部分时间都花在了与 MacTCP 作斗争以及解决我们 ISP 的问题上。办公室里几乎没有人知道他们心爱的 Mac 电脑的互联网网关/文件服务器是一台旧的、看起来笨重的 PC,放在他们用品室的架子上,并且是在一个周末用备件组装起来的。如果他们知道就好了……

Jonathan GrossWEBsmith 杂志的编辑,并且喜欢在他的“业余”时间用 Linux 机器渗透 Windows 和 Macintosh 网络。

加载 Disqus 评论