在 macOS 中,防火墙(Firewall)的设置通常通过系统偏好设置(System Preferences)中的“安全性与隐私”面板来进行配置,但也可以通过终端(Terminal)命令来修改防火墙设置。macOS 还使用一个名为 pf.conf 的文件来配置其内置的 Packet Filter(PF),这是一个强大的网络过滤工具。

通过系统偏好设置配置防火墙

  1. 打开“系统偏好设置”。
  2. 点击“安全性与隐私”。
  3. 选择“防火墙”选项卡。
  4. 点击“防火墙选项...”。
  5. 在这里,你可以启用或禁用防火墙,以及配置特定的规则,如允许或阻止特定的应用程序访问网络。

通过终端(Terminal)配置防火墙

如果你希望通过命令行来配置防火墙,可以使用 pfctl 命令。pfctl 是一个用于管理 PF 防火墙的工具。

启用防火墙

1
sudo pfctl -e

禁用防火墙

1
sudo pfctl -d

查看防火墙状态

1
sudo pfctl -s rules

编辑 pf.conf 文件

pf.conf 文件位于 /etc/pf.conf。你可以使用文本编辑器(如 nanovim)来编辑此文件。

例如,使用 nano 编辑 pf.conf

1
sudo nano /etc/pf.conf

pf.conf 文件中,你可以添加或修改规则来控制进出网络流量。例如,添加一个规则来阻止所有进入的流量:

1
block in all

或者添加一个规则来允许特定的应用程序访问网络:

1
pass in on lo0pass out on lo0pass inet proto tcp from any to any port 80

应用 pf.conf 的更改

修改完 pf.conf 后,你需要重新加载 PF 配置以应用更改:

1
sudo pfctl -f /etc/pf.conf

注意事项

  • 修改防火墙设置可能会影响你的网络连接或应用程序的网络访问能力。在做出更改前,建议先了解每个规则的具体作用。
  • 确保在进行任何重大更改前备份 pf.conf 文件。
  • 对于大多数用户,通过系统偏好设置来配置防火墙通常更简单、更直观。使用命令行更适合有经验的用户或需要自动化配置的情况。