無法 ping 通 Mac OS X 伺服器

無法 ping 通 Mac OS X 伺服器

我剛剛繼承了一個使用 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 頁面

相關內容