OS X Server:パケットフィルタルールが読み込まれない

OS X Server を使ってサーバとして設定された OS X Mountain Lion システムでは、pfctl ユーティリティによってルールがパケットフィルタに読み込まれないことがあります。Adaptive Firewall サービスによって自動的に追加されたルール、およびシステム管理者によって手動で追加されたルールは、パケットフィルタで適用されません。

この問題を解決するには、ルートユーザとしてテキストエディタを使って「/etc/pf.anchors/com.apple」ファイルを編集してください。ファイルの末尾近くの次の行を見つけてください。

load anchor "400.AdaptiveFirewall/" from "/Applications/Server.app/Contents/ServerRoot/private/etc/pf.anchors/400.AdaptiveFirewall"

この行で、最初の「400.AdaptiveFirewall」の後のスラッシュを削除します。編集後は次のようになります。

load anchor "400.AdaptiveFirewall" from "/Applications/Server.app/Contents/ServerRoot/private/etc/pf.anchors/400.AdaptiveFirewall"

変更内容をファイルに保存し、pfctl コマンドを使ってルールを再読み込みして、パッケージフィルタを有効にします。

sudo pfctl -f /etc/pf.conf sudo pfctl -e

別の非対話的な手順

上記の手順の代わりに、システム管理者が次のコマンドを使ってファイルを非対話的に編集することもできます。

sudo ruby -an -i.bak -e 'puts $_ =~ /^(load anchor "400.AdaptiveFirewall)\/(".*)/ ? $1<<$2 : $_' /etc/pf.anchors/com.apple

公開日: