Mac OSX 使用 VPN 連線 (pptp)
如果你是 Mac 或是 iPhone 的使用者,會發現設定 VPN 連線中沒有 PPTP 的選項可以選,這篇記錄一下怎麼讓 Mac OSX 可以透過一些設定來使用 PPTP 類型的 VPN。(2019-11-12 更新)Catalina 版本已經移除 pptp 了,會出現錯誤 pppd: Couldn’t load plugin PPTP.ppp,小蛙目前 google 到的結果顯示貌似只有看到 VPN Tracker 365 支援,但實在太貴下不了手 … 價格表
小蛙很久以前寫過一篇架設 PPTP VPN 的文章 – 透過 pptpd 架設 VPN,但後來發現沒辦法設定 VPN 連線了,可參考 PPTP VPNs no longer supported by Apple’s built-in VPN client on macOS Sierra and iOS 10,上網查了一些文章之後發現其實是可以透過內建的 pppd 服務來進行 PPTP VPN 連線的。
要做到這件事情比想像中的簡單,只要先設定好腳本,再透過 terminal 指令來啟動連線就可以了,立刻開始吧!(原文:PPTP VPN on macOS Sierra)
建立連線設定檔
要使用 VPN 連線必須要先做連線檔設定
sudo vim /etc/ppp/peers/myvpn (改成自己方便記憶的名字)
接著可以直接把下面的內容複製起來貼進去
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
:wq 存檔出來後,設定就完成了,來連線吧!
連線
回到 terminal 之後,透過
sudo pppd call myvpn # myvpn 是剛剛設定檔的名字
就會開始進行連線了。
設定 aliases(選用)
因為小蛙很懶而且很容易忘記,有時候太久沒用就不太記得要怎麼連 VPN,這邊小蛙直接設定成自己容易記憶的方式來連線,將下面內容貼到 ~/.bash_profile 最下面,接著 source ~/.bash_profile。
# 列出所有可連線的 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}') }
以後只要這樣做就可以了
# 查看有哪些連線 $ vpnls 177 myvpn ssf # 進行連線 $ vpn myvpn # 中斷連線 $ vpndis
是不是很簡單呢?只要把 vpnls, vpn xxx, vpndis 改成自己容易記憶的方式,除了可以少打一些字,也不用每次要連線都回想老半天!
您好
我第一個步驟:wq
顯示如下
“/etc/ppp/peers/myvpn” E212: Can’t open file for writing
求解
小蛙等等試試看,那是權限不足的訊息,新版 mac 已經不支援 pptp 了,不要再用這個方法了喔 ~
我啟用root登入還是不能寫入 QAQ
我MAC OS版本是 10.13.6
怪了,小蛙在 /etc/ppp/peers 這層下面是可以隨意建新檔案的 @@
這層的權限小蛙這邊顯示 root:wheel 777
你也是直接開終端機之後,直接編輯 /etc/ppp/peers 下的檔案嗎?
小蛙是參考這篇,照著做就成功了 … Orz …
https://malucelli.net/2017/05/16/pptp-vpn-on-macos-sierra/
你也是直接開終端機之後,直接編輯 /etc/ppp/peers 下的檔案嗎?<< 對阿 原封不動複製貼上
但說也奇怪 就在剛剛成功存檔寫入了
但照你 連線步驟第一項
「sudo pppd call myvpn # myvpn」
出現了
「Wed Dec 30 14:23:40 2020 : PPTP connect errno = 60 Operation timed out」
QAQ
小蛙現在沒有可以用 pppd 版本的 mac 可以測試了 ~ 如果 VPN server 也是自己架的,改用 softether 吧 ~