我想在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