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 改成自己容易記憶的方式,除了可以少打一些字,也不用每次要連線都回想老半天!

與 VPN 相關的文章

    6 個回應

    1. allen1314表示:

      您好
      我第一個步驟:wq
      顯示如下
      “/etc/ppp/peers/myvpn” E212: Can’t open file for writing
      求解

      • 黃小蛙表示:

        小蛙等等試試看,那是權限不足的訊息,新版 mac 已經不支援 pptp 了,不要再用這個方法了喔 ~

        • allen1314表示:

          我啟用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/

            • allen1314表示:

              你也是直接開終端機之後,直接編輯 /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 吧 ~

    發佈留言

    發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

    這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料