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

6 則留言

發佈留言

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