Mac软件联网异常可重置防火墙:一、系统设置中移除第三方规则并开关防火墙;二、终端执行socketfilterfw --reset清空规则;三、删除com.apple.alf.plist配置文件并重启服务;四、用xattr清除隔离属性后重获权限;五、禁用pf服务排除底层冲突。

如果您在Mac上遇到特定软件无法联网、被防火墙拦截或权限异常的问题,可能是防火墙规则配置错误、残留策略冲突或应用状态异常所致。以下是重置防火墙设置并解决软件联网权限问题的多种方法:
一、通过系统设置重置防火墙至默认状态
该方式可快速清除所有自定义应用规则,恢复防火墙为出厂默认行为:仅阻止未签名软件的传入连接,同时保留系统内置服务自动放行机制。
1、点击屏幕左上角苹果菜单,选择“系统设置”。
2、在左侧边栏中点击“网络”,然后在右侧内容区点击“防火墙”。
3、点击界面左下角的锁形图标,输入管理员密码完成解锁。
4、点击“防火墙选项”按钮,进入高级配置窗口。
5、逐一选中列表中所有第三方应用程序,点击下方“-”号按钮将其全部移除。
6、取消勾选“阻止所有传入连接”和“启用隐身模式”(如已勾选)。
7、关闭窗口后,点击“关闭防火墙”,再重新点击“打开防火墙”以强制刷新规则缓存。
二、使用终端命令彻底重置ApplicationFirewall规则库
此方法会清空socketfilterfw管理的所有应用白名单/黑名单记录,并重置全局状态,适用于图形界面无法同步或规则损坏的情况。
1、打开“应用程序” > “实用工具” > “终端”。
2、执行命令:sudo /usr/libexec/ApplicationFirewall/socketfilterfw --reset,按回车后输入管理员密码。
3、执行命令:sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on,重新启用防火墙。
4、执行命令:sudo /usr/libexec/ApplicationFirewall/socketfilterfw --listapps,确认输出中仅显示系统默认条目(如com.apple.coreservices.appleevents),无第三方应用记录。
三、删除防火墙配置文件并重启服务
macOS将ApplicationFirewall的持久化规则存储于偏好设置文件中;手动删除该文件可实现最底层重置,等效于首次启用防火墙的状态。
1、在“访达”中按下 Shift + Command + G,输入路径:~/Library/Preferences/com.apple.alf.plist,定位到该文件。
2、将该文件拖入废纸篓(如提示锁定,请先右键“显示简介”,取消“锁定”复选框)。
3、在终端中执行:sudo killall -HUP socketfilterfw,强制重启防火墙守护进程。
4、返回“系统设置” > “网络” > “防火墙”,确认状态已变为“已关闭”,此时需再次点击“打开防火墙”激活全新默认配置。
四、针对单个软件强制重建联网权限
当某款软件持续被拦截且未出现在防火墙列表中时,可能因代码签名失效或权限缓存异常导致;需手动触发系统重新评估其联网请求。
1、确保该软件已完全退出(可在“活动监视器”中搜索进程名并强制退出)。
2、在终端中执行:xattr -d com.apple.quarantine /Applications/软件名.app(将“软件名.app”替换为实际应用名称,如Transmission.app)。
3、重新启动该软件,系统将弹出标准防火墙授权提示框。
4、在提示框中点击“允许”,此时该应用将被自动添加至防火墙选项列表并设为“允许传入连接”。
5、若未弹出提示,可手动进入“防火墙选项”,点击“+”号,直接从“应用程序”文件夹选取该软件并添加。
五、禁用并重新启用pf底层防火墙服务
当上述方法均无效时,可能存在pf规则与ApplicationFirewall策略叠加冲突;临时停用pf可排除底层干扰,验证是否为上层GUI配置问题。
1、在终端中执行:sudo pfctl -d,关闭pf数据包过滤服务。
2、执行:sudo rm /etc/pf.conf,删除用户自定义pf规则文件(系统默认规则不受影响)。
3、执行:sudo touch /etc/pf.conf,创建空规则文件以避免启动报错。
4、执行:sudo pfctl -e,重新启用pf服务(此时仅加载系统默认规则)。
5、重启Mac,再进入“系统设置” > “网络” > “防火墙”,重新开启ApplicationFirewall。










