早期因為在 macOS Sierra 版後 Apple 官方就把網路連線 VPN 的 PPTP 方式移除,在系統偏好設定中的網路也無法在進行設定,如果要使用 PPTP 的模式只能使用 FlowVPN、Shimo 或是 Tracker 365 等 VPN 連線軟體才可以進行 PPTP Server 的連線,這類的軟體收被也都不便宜,在近期找資料爬文時無意發現這樣的方式,特別試一下連線方式是不是還是可以進行 VPN。
還好 MacOS Mojava 版本還沒有 PPTP 連線模組移除,可以使用這樣的方式進行 PPTP 連線。
MacOS Catalina 版本已經移除 PPTP 連線模組,會出現錯誤提示 pppd: Couldn’t load plugin PPTP.ppp。
建立連線設定檔
使用 VPN 連線必須要先做連線檔設定
1 2 | sudo vim /etc/ppp/peers/myvpn # (改成自己方便記憶的名字 |
在這裡對 vim 的建立連結設定檔的方式不熟,這是使用比較土炮的 文字編輯.app 的方式開啟 myvpn 檔,先於桌面編輯純文字文檔後在移到於 etc 的對應路徑中。
myvpn 內容複製起來貼進去後並存檔。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | plugin PPTP.ppp noauth # logfile /tmp/ppp.log remoteaddress "連線位置" user "連線帳號" password "連線密碼" redialcount 1 redialtimer 5 idle 1800 # mru 1368 # mtu 1368 receive-all novj 0:0 ipcp-accept-local ipcp-accept-remote # noauth refuse-eap refuse-pap refuse-chap-md5 hide-password mppe-stateless mppe-128 # require-mppe-128 looplocal nodetach # ms-dns 8.8.8.8 usepeerdns # ipparam gwvpn defaultroute debug |
如果使用 vim 建設定檔的話,使用 :wq 存檔出來後,設定就完成了。
VPN PPTP 連線
使用 terminal 透過指令直接連線。
1 2 | sudo pppd call myvpn # myvpn 是剛剛設定檔的名字 |
使用 aliases 自定義 PPTP 連線方法
如果對應的 remoteaddress "連線位置"、 user "連線帳號"、 password "連線密碼" 都設定沒問題的話,就可以正常的使用了。
但這樣的方式會一直啟用 terminal 視窗連行連線狀態,會無法由此中斷連線,因此參考文章中多使用 aliases 自定列表、中斷方式與進行線方的方法。
在系統使用者帳號下的路徑 ~/.bash_profile 建立,並將方法的程式碼加入 .bash_profile 設定檔中。
1 2 3 4 5 6 7 8 9 10 11 12 | # 列出所有可連線的 pptpd vpn function vpnls(){ ls /etc/ppp/peers/ } # 進行連線 function vpn(){ sudo pppd call $1 } # 中斷連線 function vpndis(){ sudo kill $(ps aux | grep pppd | awk '{print $2}') } |
要使用自定方法需先使用啟用指令於 terminal 執行。
1 | source ~/.bash_profile |
接著就可以在針對 列出所有可連線的 pptpd vpn vpnls()、進行連線 vpn()、中斷連線 vpndis() 三個方法下自定指令,針對 VPN PPTP 連線進行操作。