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 檔案內容如下:
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為你想轉發的埠
注意: 在段落末尾一定要加換行,否則會報syntax error錯誤。
然後使用 pfctl 命令檢測配置檔案
sudo pfctl -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”後新增:
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