Netatalk

提供: ArchWiki
2015年11月10日 (火) 14:02時点におけるKusakata (トーク | 投稿記録)による版 (ページの作成:「Category:ネットワーク en:Netatalk Netatalk は Apple Filing Protocol (AFP) のフリーなオープンソース実装です。Macintosh コンピュータ...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

Netatalk は Apple Filing Protocol (AFP) のフリーなオープンソース実装です。Macintosh コンピュータのためのファイルサーバーとして Unix ライクなオペレーティングシステムで動作します。

インストール

Netatalk v3 は AURnetatalkAUR でインストールできます。

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 ブランチは AURnetatalk-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

ノート: 2.x から 3.x に移行したら CNID データが .AppleDB ディレクトリに保存されていないことに気づいて下さい。データは /var/state/netatalk/CNID に保存されます。共有をアップグレードするために、.AppleDB ディレクトリを削除して dbd -r <path> で再作成しましょう。

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
警告: afp.conf でシンボリックリンクを使ってはいけません。

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" 共有をオフにしたい場合、~ 行を #~ に変更してください。
警告: ボリュームを入れ子にしたり、他のプロトコルでディレクトリを共有してはいけません。ファイルの変更は afpd によってのみ行われるようにします。

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 を起動・有効化してください。