Mac 端口转发


来自:

http://my.oschina.net/91jason/blog/546711

看不到内容请点击编辑查看(仅限作者,后续再改)

摘要

mac os 10.10以上的开启端口转发-解决mac默认不开启1024以下端口权限问题

mac os 10.10以上的开启端口转发-解决mac默认不开启102以上端口权限问题

本人 10.10.2的mac os,tomcat想要在80端口上启动,网上查了N多资料都不行,只有这个方案可行:

老版本的OS X使用的是ipfw设置端口转发,但新的版本特别是在我这个OSX Yosemite (10.10.3)中,已经无法使用ipfw,而是换成了PF。

PF配置端口转发的文章网上也有一大堆,但用下来没能解决问题,反而让我迷惑气愤,下面给出最为正确的配置:

首先在/etc/pf.anchors/新建一个com.pow文件内容如下:
rdrpassonlo0inetprototcpfromanytoanyport80->127.0.0.1port8080
rdrpassonlo0inetprototcpfromanytoanyport80->127.0.0.1port8080


其中lo0为你ifconfig时查询到的网卡的名字 80是tomcat端口,8080为你想转发的端口

注意: 在段落末尾一定要加换行,否则会报syntax error错误。

然后使用 pfctl 命令检测配置文件

sudopfctl-vnf/etc/pf.anchors/com.pow

添加到主配置文件

pf启动时会自动装载/etc/pf.conf文件,因此将anchor文件链接到/etc/pf.conf,转发规则就会自动建立了。

在rdr-anchor "com.apple/*"下面增加:

rdr-anchor"pow"

在:load anchor "com.apple" from "/etc/pf.anchors/com.apple"后添加:

loadanchor"pow"from"/etc/pf.anchors/com.pow"

最终修改后的pf.conf文件如内容如下

scrub-anchor"com.apple/*"
nat-anchor"com.apple/*"
rdr-anchor"com.apple/*"
rdr-anchor"pow"
dummynet-anchor"com.apple/*"
anchor"com.apple/*"
loadanchor"com.apple"from"/etc/pf.anchors/com.apple"
loadanchor"pow"from"/etc/pf.anchors/com.pow"

导入并运行PF命令(关键)

一定要注意导入并允许运行 pf的命令,一个是所有现在网上教程里写的下面这个:

sudopfctl-f/etc/pf.conf

上面这个在OSX Yosemite (10.10)应该没问题,但在我的OSX Yosemite (10.10.3)里是没有用的,要换成下面这个才能成功:

sudopfctl-evf/etc/pf.anchors/com.pow

设置pf开机自动打开

sudopfctl-e

添加的为-e参数,即enable

如果你想要关闭pf ,命令是 :

sudopfctl-d
优质内容筛选与推荐>>
1、hive join
2、AKKA学习(二) 未完
3、接口的多态性
4、linux MySQL安装指南
5、tomcat调优


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn