无法 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 页面

相关内容