pf 阻止所有输入/输出流量,而不仅仅是我想阻止的一个端口

pf 阻止所有输入/输出流量,而不仅仅是我想阻止的一个端口

我需要用 pf 阻止一个传入端口。我是 pf 新手,我不知道我在这里做错了什么。

这是我的整个规则文件,用于阻止传入端口 22:

set block-policy drop
pass in all keep state
pass out all keep state
block in proto tcp to port 22

在我启动 pf 之后sudo /sbin/pfctl -e -f /path/to/my/rule/file,我的所有网络流量都被阻止。我尝试加载一个网页,但在我sudo /sbin/pfctl -d禁用 pf之前它不会加载。

block in proto tcp to port 22如果我从规则列表中删除第四行 ( ),则不会阻止任何内容。那么我在第四行做错了什么导致它阻止所有内容而不仅仅是传入 TCP 端口 22?所有示例都执行了类似的操作。

如果重要的话,我的操作系统是 OS X 10.8.5。

答案1

block all
pass in on fxp0 proto tcp from any to any port 22 flags S/SA
pass out on fxp0 proto tcp from any to any port 22 flags S/SA

请考虑您必须fxp0根据您的操作系统更改为以太网。

与上面相反:

pass in on fxp0 proto tcp from any to any port < 22 flags S/SA
pass out on fxp0 proto tcp from any to any port < 22 flags S/SA
pass in on fxp0 proto tcp from any to any port > 22  flags S/SA
pass out on fxp0 proto tcp from any to any port > 22 flags S/SA


block in on fxp0 proto tcp from any to any port 22 
block out on fxp0 proto tcp from any to any port 22 

相关内容