저는 방금 pf를 사용하는 Mac OS X 서버를 물려받았습니다. 내가 해결하려는 문제는 서버에 핑을 보낼 수 없는 이유입니다. 걱정하지 말고 기기에 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
알려진 "양호한" IP 주소 세트가 테이블(실제로는 여러 테이블)에 설정되고 다음을 사용하여 이에 대한 액세스가 허용되는 매우 간단한 pf 구성이 있습니다.
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 페이지.