mac os 10.10以上的開啓端口轉發-解決mac默認不開啓1024如下端口權限問題

mac os 10.10以上的開啓端口轉發-解決mac默認不開啓102以上端口權限問題java

本人 10.10.2的mac os,tomcat想要在80端口上啓動,網上查了N多資料都不行,只有這個方案可行:tomcat


老版本的OS X使用的是ipfw設置端口轉發,但新的版本特別是在我這個OSX Yosemite (10.10.3)中,已經沒法使用ipfw,而是換成了PF。app

PF配置端口轉發的文章網上也有一大堆,但用下來沒能解決問題,反而讓我迷惑氣憤,下面給出最爲正確的配置:tcp

首先在 /etc/pf.anchors/ 新建一個 com.pow 文件內容以下:
rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080
rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080

其中lo0爲你ifconfig時查詢到的網卡的名字  80是tomcat端口,8080爲你想轉發的端口spa

注意: 在段落末尾必定要加換行,不然會報syntax error錯誤。code


而後使用 pfctl 命令檢測配置文件教程

sudo pfctl -vnf /etc/pf.anchors/com.pow

添加到主配置文件ip


pf啓動時會自動裝載/etc/pf.conf文件,所以將anchor文件連接到/etc/pf.conf,轉發規則就會自動創建了。it

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

rdr-anchor "pow"

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

load anchor "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/*"
load anchor "com.apple" from "/etc/pf.anchors/com.apple"
load anchor "pow" from "/etc/pf.anchors/com.pow"


導入並運行PF命令(關鍵)

必定要注意導入並容許運行 pf的命令,一個是全部如今網上教程裏寫的下面這個:

sudo pfctl -f /etc/pf.conf

上面這個在OSX Yosemite (10.10)應該沒問題,但在個人OSX Yosemite (10.10.3)裏是沒有用的,要換成下面這個才能成功:

sudo pfctl -evf /etc/pf.anchors/com.pow

設置pf開機自動打開

sudo pfctl -e

添加的爲-e參數,即enable


若是你想要關閉pf  ,命令是 :

sudo pfctl -d
相關文章
相關標籤/搜索