Netatalk —— 老Mac伴侣,组建AppleTalk网络

iBook G3连接局域网中的两台AppleTalk服务器,一台使用Netatalk,另一台使用Windows Server 2003

Netatalk是开源的AFP和AppleTalk文件共享服务器软件,可以在Unix和类Unix系统中运行。OpenWrt路由器甚至都可以部署Netatalk。

Netatalk有v2和v3两个大版本,对AFP支持的协议也不同。v2支持AppleTalk(包括时间服务器和打印服务器),AFP协议从1.1版支持到3.3版,可以支持Apple II、Mac System 6到Mac OS 9,也支持Mac OS X。 v3 不支持AppleTalk,但支持AFP 3.4协议,支持Spotlight索引,客户端至少需要System 7.5。Netatalk如果在Mac OS X中运行,那将不支持AppleTalk网络的搭建。

因此要搭建AppleTalk网络,还需要选择Netatalk v2版本,主要用于文件和打印机共享。服务器硬件是OrangePi 4,RK3399开发板,运行Armbian(Jammy Jellyfish版)。Netatalk v2版本选用2.3.1版本,非git版本。 Debian和Ubuntu源里的Netatalk已经是v3版本了,因此需要手动编译安装v2版本。编译安装教程可以参考Netatalk wiki:

Installing Netatalk 2 on Debian​netatalk.io/docs/Installing-Netatalk-2-on-Debian

安装

这里简要说一下步骤:

先安装编译工具和基本依赖:

sudo apt install build-essential libssl-dev libdb-dev autotools-dev automake libtool libtool-bin pkg-config libcups2-dev cups libavahi-client-dev libgcrypt20-dev tcpd libcrack2-dev libacl1-dev libldap2-dev quota libtirpc-dev

下载v2.3.1版本,解压

tar xf netatalk-2.3.1.tar.xz
cd netatalk-2.3.1

编译,安装需要root权限

./configure --enable-systemd --sysconfdir=/etc --with-uams-path=/usr/lib/netatalk
make
sudo make install

配置

这里简单介绍一下配置一个单区域(zone)的AppleTalk网络,设置文件共享和CUPS打印机共享。Netatalk的配置文件存放在/etc/netatalk目录中。默认的区域(zone)名称是当前的主机名。

默认AFP共享的文件夹是每位用户的Home目录,如果需要建立共享文件夹,需要单独建立。

共享文件夹

新建共享文件夹,如~/afpshare,并设置权限

mkdir ~/afpshare
chmod 2775 ~/afpshare

编辑AppleVolumes.default,设置共享文件夹

sudo nano /etc/netatalk/AppleVolumes.default

在文件末尾插入一行(将USER替换成自己的用户名),引号内的File Server为共享名,可以更改。

/home/USER/afpshare "File Server"

用户鉴定方式及文件编码

设置用户鉴定方式,编辑文件afpd.conf

sudo nano /etc/netatalk/afpd.conf

在文件末尾插入

- -transall -uamlist uams_guest.so,uams_clrtxt.so,uams_dhx2.so -maccodepage MAC_CHINESE_SIMP 

-maccodepage MAC_CHINESE_SIMP 表示Mac客户端使用的Codepage是简体中文,如果客户端使用繁体中文则改成-maccodepage MAC_CHINESE_TRAD。不指定-maccodepage则默认使用Mac_Roman编码,如果客户端存储了中文文件名的资料,则在服务器和现代Mac OS X中会显示乱码文件名。服务器端默认的编码通常是utf8,因此不需要单独指定-unixcodepage utf8,除非服务器上用的编码不是utf8。如果不希望客户端保存用户名和密码,还可以加入-nosavepassword参数。

设置使用网卡

设置AppleTalk使用的网卡,一般为eth0,编辑文件atalkd.conf

sudo nano /etc/netatalk/atalkd.conf

在文件末尾加入一行eth0

设置打印服务器

Netatalk可以自动共享CUPS打印机。在设置完CUPS打印机后,编辑文件papd.conf

sudo nano /etc/netatalk/papd.conf

在末尾加入一行

cupsautoadd:op=root:

启动Netatalk服务

运行命令

sudo systemctl enable atalkd.service afpd.service cnid.service papd.service
sudo systemctl start atalkd.service afpd.service cnid.service papd.service

如果不需要运行打印机共享,可以去掉papd.service。

Netatalk服务启动后,可以先检查AppleTalk内核模块是否加载:

lsmod | grep appletalk

如果appletalk内核模块没有加载,可以尝试重新启动atalkd.service服务。

检查当前网络的AppleTalk设备,运行

nbplkup

如果看到了AFPServer和LaserWriter,说明文件共享和打印机共享设置成功。

nbplkup示例输出:

Canon G3800 OPi4:LaserWriter                 65280.114:130
orangepi4:AFPServer                          65280.114:128

Mac OS客户端连接

AppleTalk不依赖TCP/IP协议,也可以在以太网中使用。Mac OS客户端插入网线后,在同一网络内一般可以直接发现。要访问共享文件,需要AppleShare功能扩展;而打印机共享需要LaserWriter功能扩展,其版本需要是7.x/8.x,建议使用LaserWriter 8版本。

访问文件服务器

在苹果菜单中打开“选配器”,选取AppleShare

选择一个文件服务器,输入用户名密码

选取要访问的项目

早期AppleShare只支持AppleTalk网络,因此如果是Netatalk v3,则无法在列表中找到服务器。System 7.5版本开始,AppleShare支持通过输入IP地址来查找服务器,如果是Netatalk v3则需要System 7.5客户端。

如果使用AirPort网卡上网,也不能通过选配器查找AppleTalk网络,只能用有线网。如果要连接AFP文件服务器,可以指定IP地址访问。(更正:AirPort网卡也支持AppleTalk网络,需要在AppleTalk控制板中设置使用的端口为AirPort而不是以太网。)

Mac OS 9中有一个“网络浏览器”应用程序,也可以浏览AppleTalk网络。但如果遇到用户登录失败的情况,还需要在选配器中使用AppleShare。

连接共享打印机

在“选配器”中选择LaserWriter,在列表中选取共享的打印机,点击设置。在选择PPD文件的对话框中选取“通用”。

在自动配置完成后,桌面上会出现打印机的图标。之后便可以使用这台打印机来打印文档了。至于原理,LaserWriter打印机使用的是PostScript打印语言,而CUPS也支持PostScript语言,因此只需要CUPS能正常打印即可。

服务器管理WebUI

Netatalk开发了Webmin管理模块,用于远程管理。

先安装Webmin

curl -o setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh 
sudo sh setup-repos.sh
sudo apt install webmin --install-recommends

安装Netatalk模块的依赖

sudo apt install libcgi-ajax-perl libcgi-application-perl

下载Webmin模块

https://sourceforge.net/projects/netatalk/files/Webmin/netatalk2-wbm-1.2.tgz/download

使用root账户登录管理界面

https://sourceforge.net/projects/netatalk/files/Webmin/netatalk2-wbm-1.2.tgz/download

打开侧边Webmin Configuration,然后找到Webmin Modules,再选择本地的netatalk2-wbm-1.2.tgz进行安装。

安装后,可以在左侧Servers里找到Netatalk Classic Mac File Sharing,便可以管理服务器了。

如果不想用Webmin管理, 也可以参考Netatalk v2的手册,手动编辑配置文件。

Netatalk 2.3 Manual​netatalk.io/2.3/htmldocs/

Related post

  1. NO IMAGE
  2. NO IMAGE
  3. NO IMAGE
  4. NO IMAGE
  5. NO IMAGE

    2021.05.23

    Ngrok 搭建指南
  6. NO IMAGE

There are no comment yet.

ABOUT

老赵的个人博客,关于 Mac, iPhone, iPad, iPod等产品的软件和硬件技术交流。也讨论Linux/UNIX技术,服务器运维技术等。

2025 年 2 月
 1
2345678
9101112131415
16171819202122
232425262728  

Powerd by WordPress on Xserve
Xserve 2009
@2012-2024 HelloMac Copyright