Mac OS X带有内置防火墙服务,可用于保护Mac免受在线安全风险。 防火墙位于OS X和Internet之间,并且仅允许传入的流量通过特定的端口。 OS X按应用程序管理防火墙,但有时您想在Mac上打开特定端口。
您可以使用“安全性”设置允许或阻止进入特定应用程序的传入流量,但可以在终端中打开特定端口。 过去通常使用ipfw完成此操作,但是在OS X 10.10及更高版本中,您使用了新命令:pfctl。
也可以看看
如何在Mac OS X Yosemite中使用系统偏好设置
如何通过网络联网Mac并在Mac之间共享文件
终端提示和技巧:10个终端项目
这可能有助于清除端口和防火墙的概念。 端口是Mac和网络之间的特定连接,防火墙位于Mac和网络之间,并确定哪个端口打开和关闭。 将Mac的IP地址(用于将其连接到网络)当作旅馆,将端口当作房间号,将应用程序当作来宾。 关闭防火墙后,每个应用程序都可以访问每个区域。 OS X防火墙仅允许访问特定区域。
使用OS X防火墙阻止和打开端口
默认情况下,OS X中的防火墙是关闭的。 这可能会让您感到奇怪,因为Apple非常热衷于安全性。 但是,大多数计算机不再通过DSL调制解调器直接连接到Internet,而是大多数通过其Internet服务提供商提供的路由器(或通过公司网络)连接。 无论哪种情况,都提供了硬件防火墙,通常作为NAT(网络地址转换)的一部分。
另一个奇怪的是,OS X防火墙不会单独管理端口,而是基于每个应用程序。 请按照以下设置访问“防火墙选项”:
- 打开系统偏好设置(Apple菜单>系统偏好设置)。
- 单击安全和隐私。
- 单击防火墙。
- 单击防火墙选项。
“安全和隐私”窗口显示一个带有以下选项的窗口:
- 阻止所有传入连接。 这会阻止除基本Internet服务(例如DHCP,Bonjour和IPSec)以外的所有内容。 如果选中此复选框,则依赖Internet服务的其他应用程序(例如Dropbox)将停止运行。
- 应用程序。 主窗口显示状态为“允许传入连接”或“阻止传入连接”的应用程序列表。 请注意,这不适用于传出连接。
- 自动允许签名的软件接收传入的连接。 默认情况下启用此选项。 如果应用程序具有有效证书,则防火墙允许传入连接。
- 启用隐形模式。 这样可以防止其他人(或本地网络上的计算机)发现您的Mac。 您的Mac将不再响应ping请求。 对于大多数用户,我们认为这有点像“锡纸帽子”。
如何在OS X防火墙中打开应用程序的端口
如果启用了OS X防火墙,则可以安装一个新应用程序,要求您允许它通过防火墙进行访问。 由您决定是否信任该应用程序。 这是允许应用程序接受传入连接的方法。
- 打开系统偏好设置>安全性和隐私>防火墙>防火墙选项。
- 单击添加。
- 从“应用程序”文件夹中选择一个应用程序,然后单击“添加”。
- 确保将应用程序旁边的选项设置为“允许传入连接”。
- 单击确定。
OS X手动管理应用程序请求的端口并相应地打开它们。 使用默认OS X防火墙的大多数用户应使用此方法允许和阻止传入连接,而不是手动打开端口。 但是,某些高级用户(例如Web开发人员或系统管理员)确实需要打开特定的端口。
如何在OS X防火墙中打开特定端口
可以在OS X中打开特定的端口,尽管您需要跳入Terminal。 在OS X 10.10中,您使用pfctl命令(使用man进行说明)。 OS X的早期版本使用ipfw,现在已弃用。 请按照以下步骤在OS X中打开特定端口(在本示例中为8080)。
- 打开终端(转到>实用程序)。
- 输入sudo pfctl -vnf /etc/pf.conf
要在系统启动时打开端口,请使用sudo nano /etc/pf.conf并将sudo pfctl -vnf /etc/pf.conf添加到此pf.conf文件中。
在我们的Apple用户技术术语词典中阅读更多与Apple相关的技术术语的定义。