如何在OS X 10.6防火墙中打开端口(不是应用程序)?


18

我先说一下:

  • 我不想完全删除防火墙
  • 是的,我确实确实需要特定的端口而不是应用程序。

因此,我看到可以通过防火墙允许特定的应用程序,但是没有等效的打开端口的方法。似乎很难相信这实际上是不可能的。如何在OS X 10.6中打开特定的TCP端口,同时将其余端口保持防火墙状态?

Answers:


11

为我工作。

我想打开端口70上的流量,因此输入了以下内容:

sudo ipfw add 7000 allow tcp from any to any dst-port 70

命令提示符的响应为:

07000 allow tcp from any to any dst-port 70

是的,0是自动添加到规则编号的,因此值得注意的是,任何<10,000的规则ID都会以一个或多个零作为前缀。


显然,该命令在10.10(Yosemite)中消失了。
jcollum

6

OS X使用的内置防火墙是ipfw。要从终端了解更多信息,可以输入man ipfw

要创建新的防火墙规则以允许进入特定端口的传入流量,您可以按如下所示从终端输入规则。

sudo ipfw add 40000 allow tcp from any to any dst-port portnum

portnum您希望打开的端口号在哪里。在这种情况下,我在规则中添加了一个40000的rulenum,这样,如果您想删除它,则下面的命令就足够了。

sudo ipfw delete 40000

如果输入命令,sudo ipfw list您将看到活动命令。要重新加载防火墙,请发出命令sudo ipfw flush

如果您想记录点击数,则可以log按以下步骤添加命令,sudo ipfw add 40000 allow log ...

我选择了一些规则编号40000,因为从1到65535的规则存在,尽管某些数字享有特权。如果需要的话,这只会使以后删除规则变得更加容易。


尝试了上述解决方案并得到以下错误:ipfw:主机名“ dst-port”未知

您到底输入了什么?
afragen 2012年

就像我在上面写的,您需要指定的实际端口号,portnum但是dst-port正确。请参阅ipfw的手册页。
2013年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.