Freebsd pfctl 방화벽 문제

Freebsd pfctl 방화벽 문제

bsd 시스템의 모든 사람에 대해 포트 3306을 차단하고 freebsd의 방화벽을 사용하여 하나의 IP 주소에 대해 포트를 열고 싶습니다.

비슷한 것을 시도했지만 포트가 닫혀 있고 주소가 열려 있지 않습니다.

## our interface ##
ext_if="em0"

## do not block mysqld on ##
mysqld_ip="{ !202.54.1.2, !202.54.1.10, !202.54.1.15 }" <<< don't open when i write address ip

## Block everything for tcp port number 3306 except $mysqld_ip  ###
block in on $ext_if proto tcp from any to  $mysqld_ip port 3306

이 방화벽을 작동시키는 방법을 아는 사람이 있습니까?

답변1

해당 규칙이 전용으로 사용되지 않는 한 패킷과 일치하는 마지막 규칙이 적용됩니다 quick.

그래서 이것이 내가 할 일이다

mysqld_ip="{ 202.54.1.2, 202.54.1.10, 202.54.1.15 }"
pass in quick on $ext_if inet proto tcp from any to $mysqld_ip port 3306 keep state
block in on $ext_if inet proto tcp from any to any port 3306

관련 정보