Freebsd pfctlファイアウォールの問題

Freebsd pfctlファイアウォールの問題

bsd システムの全員に対してポート 3306 をブロックし、freebsd のファイアウォールを使用して 1 つの 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

関連情報