Netatalk
Netatalk は Apple Filing Protocol (AFP) のフリーなオープンソース実装です。Macintosh コンピュータのためのファイルサーバーとして Unix ライクなオペレーティングシステムで動作します。
目次
インストール
Netatalk v3 は AUR の netatalkAUR でインストールできます。
netatalk の旧バージョンである v2 は netatalk-ddpAUR[リンク切れ: アーカイブ: aur-mirror] として配布されており AppleTalk (ATalk), Apple Filing Protocol (AFP), Printer Access Protocol (PAP) などの Apple Macintosh ネットワークプロトコルをサポートしています。
機能の選択
DDP (ATalk, PAP, timelord, a2boot) の廃止によって、バージョン 3.0 から netatalk もそれらの機能を廃止しています。DDP をサポートする旧式の 2.x ブランチは AUR の netatalk-ddpAUR[リンク切れ: アーカイブ: aur-mirror] で使うことができます。DDP は Mac OS 9 以下をサポートするのに必要なだけでなく、OS X 10.3 以下でも Bonjour/Zeroconf が完全にサポートされていないため SLP の統合が役に立ちます。DDP は TCP/IP ではなく AppleTalk を使用していた古い Mac を接続していました。時刻同期には timelord が、Apple II の起動には a2boot がありました。TCP/IP をサポートしていない LaserWriter プリンタを使っている場合、いまだに PAP が必要になることもあります。
- Bonjour/Zeroconf をサポートする cnid_metad や afpd などの近代的な機能だけが必要な場合 netatalkAUR をインストールしてください。
- SLP をサポートする旧式な機能を充足したい場合は netatalk-ddpAUR[リンク切れ: アーカイブ: aur-mirror] をインストールしてください。
設定
systemd を使って netatalk.service
を起動・有効化してください。
インストール時に作成される設定ファイル (アップグレード時にチェックされます) とは別に、netatalk は2つのファイルを生成します。システム UUID を記録する /etc/netatalk/afp_signature.conf
または /var/state/netatalk/afp_signature.conf
と、TimeMachine のボリューム UUID を記録する /etc/netatalk/afp_voluuid.conf
または /var/state/netatalk/afp_voluuid.conf
です。これらのファイルはパッケージを削除しても消されることなく、ローカルネットワーク上のサービスを識別するために残しておいてください。
Netatalk
Netatalk 3.x は単一の設定ファイル /etc/afp.conf
を使用します。詳しくは man afp.conf
や以下の例を見て下さい (プロセスが afpd.log
に書き込みを行えることを確認してください):
/etc/afp.conf
[Global] mimic model = TimeCapsule6,106 log level = default:warn log file = /var/log/afpd.log hosts allow = 192.168.1.0/16 [Homes] basedir regex = /home [TimeMachine] path = /mnt/timemachine valid users = tmuser time machine = yes [Shared Media] path = /srv/share/media valid users = joe sam
Netatalk-ddp
システム
afpd 設定ファイル (/etc/netatalk/afpd.conf
) を編集して、以下のような行を追加してください:
/etc/netatalk/afpd.conf
...
- -mimicmodel TimeCapsule6,106 -setuplog "default log_warn /var/log/afpd.log"
上記の設定では netatalk はシステムのホストネームを使用し、TimeCapsule に擬態して、警告とエラーをファイルに出力します。
ボリューム
ボリューム設定ファイル /etc/netatalk/AppleVolumes.default
を編集して以下のように TimeMachine のような共有を追加してください:
/etc/netatalk/AppleVolumes.default
...
<path_to_share> <sharename> allow:<username> options:usedots,upriv,tm
volsizelimit:<limit_in_whole_mebibytes>
引数を使うことで TimeMachine に報告する合計容量を制限できます。- "home" 共有をオフにしたい場合、
~
行を#~
に変更してください。
iptables
ファイアウォールとして iptables パッケージを使っている場合、以下を追加してください (必要に応じて -I
は -A
に置き換えてください):
Bonjour/Zeroconf
iptables -I INPUT -p udp --dport mdns -d 224.0.0.251 -j ACCEPT iptables -I OUTPUT -p udp --dport mdns -d 224.0.0.251 -j ACCEPT
AFP
iptables -I INPUT -p tcp --dport afpovertcp -j ACCEPT
SLP
iptables -I INPUT -p tcp --dport slp -j ACCEPT iptables -I OUTPUT -p tcp --dport slp -j ACCEPT iptables -I INPUT -p udp --dport slp -j ACCEPT iptables -I OUTPUT -p udp --dport slp -j ACCEPT
AppleTalk
iptables -I INPUT -p tcp -m multiport --dport at-rtmp,at-nbp,at-echo,at-zis -j ACCEPT iptables -I OUTPUT -p tcp -m multiport --dport at-rtmp,at-nbp,at-echo,at-zis -j ACCEPT
Bonjour/Zeroconf の有効化
Bonjour/Zeroconf は現在 netatalk の必須要件となっておりデフォルトでコンパイルされています。設定は必要ありません。netatalk は dbus リンクを使ってサービスを登録します。-mimicmodel
を適切な文字列に設定してください (完全なリストは Mac の /System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plist
を参照)。
まだ実行していない場合は、systemd を使って avahi-daemon.service
を起動・有効化してください。