TCP 요청이 특정 IP 주소로 전송될 때 기본 거부 규칙을 설정하는 방법에 대한 힌트를 줄 수 있습니까? 나는 사용하고있다PF 패킷 필터. 도움이 필요하세요?
답변1
/etc/pf.conf
구성에서 가장 기본적인 형태는 다음과 같습니다.
block from any to 192.0.2.2
# which is equivalent to:
block drop from any to 192.0.2.2
기본적으로 이 block
작업은 drop
패킷을아무 말 않고모든 인터페이스에서, any
소스 IP에서 양방향으로. 클라이언트는 자신이 차단되었다는 사실을 모르기 때문에 시간이 초과되어 다시 시도할 수도 있습니다.
block return
~이다“친절한 이웃”클라이언트에게 주소에 접근할 수 없음을 알리는 방법대답하다프로토콜별 방식으로 다음을 사용합니다.TCP RST(리셋)또는ICMP에 연결할 수 없음가방. 고객은 이 정보를 사용하여 포기하거나 정상적인 방식으로 다시 시도할 수 있습니다.
block return from any to 192.0.2.2
block
이 옵션을 사용하여 기본 동작을 변경할 수 있습니다 set block-policy
.
더 복잡한 예이지만 규칙 세트가 커지기 시작하면 관리하고 읽기가 더 쉽습니다.
mybadhosts = "{ 192.0.2.2, 203.0.113.0/24 }"
ext_if = "em0"
block return on $ext_if from any to $mybadhosts # example #1
block return on em0 from any to { 192.0.2.2, 203.0.113.0/24 } # ^expanded form
block drop out on egress from any to $mybadhosts # example #2
예시 #1변수, 목록 {}
, 넷마스크 의 간단한 사용법을 표시 /24
하고 인터페이스를 지정합니다 em0
. (변수가 정의되어 있음을 참고하세요.$ 기호 없음, 그리고따옴표가 제거되었습니다., 런타임 시 규칙이 확장되는 경우)
예시 #2인터페이스 그룹 out
에서 아웃바운드 패킷 삭제 egress
( 참조 ifconfig(8)
)
또한보십시오: