Mac OS X サーバーから ping できない

Mac OS X サーバーから ping できない

私は、pf を使用している Mac OS X サーバーを継承しました。解決しようとしている問題は、サーバーから ping できない理由です。マシンに問題なく ping することはできますが、ping がタイムアウトになります。

例えば

$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
^C
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 0 packets received, 100.0% packet loss

非常にシンプルな PF 構成があり、既知の「適切な」 IP アドレスのセットがテーブル (実際には複数のテーブル) に設定され、次の方法でアクセスが許可されます。

pass in from { <my-good-ips1>, <my-good-ips2>, <my-good-ips3> } to any

以下でも許可されています:

pass in quick inet proto udp from any port 67 to any port 68

その他はすべてブロックされます。

そして(最も重要なことですが)すべてのトラフィックは外部に許可されます。

pass out proto tcp from any to any keep state
pass out proto udp from any to any keep state

pf を見て、私が正しいとお考えですか。それとも、別の方向に調査を向けるべきでしょうか。

答え1

あなたは間違っているpass proto icmp

通常、最初のパスのルールとして以下を設定するのが妥当な対策です。

pass quick proto icmp

そうでなければ、そのトラフィックを暗黙的にブロックすることになります。ICMPは独自のプロトコルであり、TCPやUDPではカバーされていないことに注意してください。PF の OpenBSD ページ

関連情報