CentOS6.4にSRPMでインストールされたnetatalk3.0.4をMac OS 9に見せる[追記あり]

Mac,netatalk

タイトルは、「netatalk3.0.4をMac OS 9に見せる」となっていますが、正しい意味としては「AFPサーバとなっているCentOSをMac OS 9に見せる」です。次の記事とのタイトルに、つながりを持たせるためです。

これには、少しだけ、続きの話があります。

netatalkは、mDNS(Zeroconf, Avahi-Daemon, Bonjour)で、自分自身の存在を知らせる機能があります。ですが、Mac OS X 10.1以前のMac OS(Mac OS 9等も含む)では、mDNSでAFPサーバを発見することはできません。

Mac OS X 10.1以前のMac OS(Mac OS 9等も含む)に、サーバーの存在を知らせるには、OpenSLPで、自分自身をアナウンスする必要があります。この様な特殊条件以外の方には、以下は必要ない作業です。

次のウェブページに記載がありますので、その通りにします。いつも、ありがとうございます。

$ sudo yum install openslp
$ sudo yum install openslp-server

設定ファイル(/etc/slp.reg)を書きます。

afp://192.168.xx.yy/?NAME=CentOS&ZONE=,en,65535

IPアドレス(サーバアドレス)は、適宜変更して下さい。

OpenSLPが使うポート427(TCP/UDP)を開放しておきます。

$ sudo vi /etc/sysconfig/iptables

追加する内容は、次の通りです。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 427 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 427 -j ACCEPT

設定したら、iptablesを再読み込みします。

$ sudo service iptables restart

SLPサービスを起動します。自動起動の登録もしておきます。

$ sudo chkconfig slpd on
$ sudo service slpd start

これで、Mac OS 9からも、CentOSのAFPサーバが見える様になりました。

ネットワークブラウザ

画面は、SheepShaverの物です。ですが、SheepShaver内のMac OS 9(ネットワークブラウザ)からCentOSをダブルクリックしてもつながりません。見えるのですが、つながらないのです。

テストした時の環境では、SheepShaver側と、CentOSとOS X側のネットワークセグメントが違うために、接続できない物と思われます。

ちなみに、/etc/slp.regにFQDNで書いてもダメでした。

自宅には、Mac OS 9.2.2の実機(PowerMac MDD)があるので、そちらからだとちゃんと見えて、ダブルクリックする事で、無事につながりました。

また、セレクタからはCentOSが見えないのですが(正しい挙動)、サーバのIPアドレス…を使って、CentOSのIPアドレスを直接指定する事で接続できます。この場合は、ネットワークセグメントが違っていても、問題無くつながります。

Mac OS 9セレクタ

SheepShaverを同一ネットワークセグメントに入れるには、tapデバイス(仮想Ethernetインターフェース)を追加して、そのtapデバイスとの間にブリッジを入れる必要があるようです。

この記事を書いた人は、AppleTalkとAFPの違いを理解していないようですが、SheepShaverと同一ネットワークセグメントに入れる方法は参考になります。

具体的には、TunTapと言うカーネル機能拡張ソフトをインストールし、IPNetRouterXと言うブリッジソフト(有料$100)をインストールする必要があります。

(追記 2013-08-09 23:13)

chkconfigの記述を修正しました。

Posted by お市のかた