--- title: 在 Linux 系統安裝 Openconnect date: 2020-08-10 is_modified: false disqus: cynthiahackmd categories: - "資訊科技 › 開發與輔助工具" tags: - "VPN" - "Openconnect" - "Linux/Unix" - "工具安裝與部署" --- {%hackmd @CynthiaChuang/Github-Page-Theme %} <br> 從草稿夾清出了草稿,拖了有點久,都去年的事情了 XD 起因是這樣的,去年去支援了 UI team 的工作,需要用到 postman 做些 API 資料的測試,順便接回前端。但這個案子的開發環境有點麻煩,我又是在外點工作,所以會用到好幾個不同的 VPN 連到不同環境。而這次的 API 又需要用另外一個 VPN 連到其他地方去...真是有夠麻煩的 :broken_heart: 厄...我先承認,我全部丟給我搭檔去處理 VPN 的部份,我先去前端刻 UI 了,所以細節處記錄的不是很清楚 XD <!--more--> <p class="illustration"> <img src="https://i.imgur.com/GcpptAh.jpg?1" alt="VPN"> VPN(圖片來源: <a href="https://www.pexels.com/zh-tw/photo/nordvpn-vpn-vpn-2063636/">Gem Fortune - pexels</a>) </p> ## VPN 踩坑流程 在安裝 Openconnect 之前,搭檔還先嘗試了好幾套 VPN 軟體,不過都悲劇了。 ### GlobalProtect 第一個是台北同仁給的則是 **GlobalProtect**,還很好心的給了安裝文件,可以手把手教你連上需要的機台,但依舊悲劇的是 - ==沒有 Linux==。...奇怪了,台北同仁都不用 Linux 嗎? 我搭檔只好開始啃 [GlobalProtect Linux 的安裝文檔](https://docs.paloaltonetworks.com/globalprotect/4-1/globalprotect-app-user-guide/globalprotect-app-for-linux.html),只是他裝好後,試圖進行連接, ```bash= $ globalprotect >> connect --portal IP Retrieving configuration... ``` 但一直處在 Retrieving configuration...,即使整個完整卸除安裝後,再重新安裝,還是一樣問題,他只好改試用 SoftEther VPN 試試。 ### SoftEther 他們說要來試試看,在 [Linux 上的安裝](https://linuxconfig.org/setting-up-softether-vpn-server-on-ubuntu-16-04-xenial-xerus-linux),沒有看到他們說成功的消息,反而開始討論起其他的,應該是失敗了? ### network-manager-l2tp 後來看到他們在嘗試使用 l2tp,參考了這兩個連結: - [Setup L2TP over IPsec VPN client on Ubuntu 18.04 using GNOME](https://20notes.net/linux/setup-l2tp-over-ipsec-client-on-ubuntu-18-04-using-gnome/) - [Configure IPsec/L2TP VPN Clients:Linux](https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/clients.md#linux) 搭檔回報 failed,有一個 Enter `Your VPN IPsec PSK` for the **Pre-shared key**,看起來是必要欄位,但他沒法填。 ## Openconnect 後來搭檔參考了,[這篇](https://askubuntu.com/questions/686186/how-to-connect-my-ubuntu-to-my-workplace-globalprotect-vpn-using-win-7-vm)使用 IPsec/ESP modes 來連 GlobalProtect,看來是成功了。 總結一下安裝步驟: 1. **安裝 CA** ```bash= $ sudo cp ca.crt /usr/local/share/ca-certificates $ sudo update-ca-certificates ``` 2. **安裝 openconnect** ```bash= $ sudo apt-get install \ build-essential gettext autoconf automake libproxy-dev \ libxml2-dev libtool vpnc-scripts pkg-config \ libgnutls-dev $ git clone https://github.com/dlenski/openconnect.git $ cd openconnect $ ./autogen.sh $ ./configure $ make $ sudo make install && sudo ldconfig ``` or ```bash= $ sudo apt-get update $ sudo apt-get install openconnect ``` 3. **連線到目標 VPN** ```bash= $ sudo ./openconnect --protocol=gp IP ``` ## 後記 說實話,我從頭到尾搞不清楚他們搞什麼 XDDD 不過按照他們總結給我的流程進行安裝,可以順利從 postman 要到資料了。剛好前端刻的差不多了,可以直接接下去繼續串資料流程了 XD ## 更新紀錄 :::spoiler 最後更新日期:2020-08-10 - 2020-08-10 發布 - 2020-06-04 完稿 - 2019-09-24 起稿 ::: <br><br> > **本文作者**: 辛西亞.Cynthia > **本文連結**: [辛西亞的技能樹](https://cynthiachuang.github.io/Installing-Openconnect-on-Linux) / [hackmd 版本](https://hackmd.io/@CynthiaChuang/Installing-Openconnect-on-Linux) > **版權聲明**: 部落格中所有文章,均採用 [姓名標示-非商業性-相同方式分享 4.0 國際](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en) (CC BY-NC-SA 4.0) 許可協議。轉載請標明作者、連結與出處!
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.