IT Knowledge Base

~ Without sacrifice, there can be no victory ~

發佈日期:

分類:

, ,

如何在Ubuntu 20.04中‧設定IPSec VPN伺服器

01. 之前設定了OpenVPN伺服器,不過唯一問題就是需要下載另外的程式,以便連接VPN伺服器。但IPSec VPN伺服器就不用了,Windows、iPhone也內建了預設選項,只要輸入相關資料就可以連接。

02. 網上很多介紹,如何在Ubuntu設定IPSec VPN伺服器,今天這個『IPsec VPN Server Auto Setup Scripts』,就可以幾分鐘設定好IPSec VPN伺服器。

03. IPSec VPN伺服器會設定在Google Cloud上面。首先先建立伺服器,地點選擇當然是選一個安全的地理位置。

04. 測試是用Ubuntu 20.04 LTS版本。

05. 建立好Ubuntu伺服器後,便會看到伺服器對外的IP地址。

06. 因應IPSec VPN會用到UDP 500及4500埠位,所以先在Google Cloud中設定好防火牆。

07. 利用PuTTY登入Ubuntu伺服器,打開終端機。先做一次系統更新。

sudo apt-get update
sudo apt-get upgrade


08. 下載及安裝有關程式。

sudo wget https://git.io/vpnsetup -O vpnsetup.sh && sudo sh vpnsetup.sh

09. 完成後會看到IPSec VPN連線的資料。

10. 直接在iPhone作VPN設定。

11. 便可以連接到IPSec VPN伺服器。

12. 利用CanYouSeeMe.org作檢查,便會看到對外連接IP地址,是IPSec VPN伺服器的IP地址。

13. 但當用Windows 10設定好及連接到IPSec VPN伺服器,便有可能出現錯誤809訊息,『因為遠端伺服器沒有回應,所以無法建立電腦與 VPN 伺服器之間的網路連線』。


14. 這是因為Windows 10電腦,連接在路由器上。根據Microsoft資料,可以行用『設定 NAT-T 裝置背後的 L2TP/IPsec 伺服器』方法解決。

15. 而IPSec VPN伺服器作者也介紹一個簡單一次性的方法。利用系統管理員身份,打開Windows 10電腦終端機,輸入以下命令,完成後重新啟動電腦一次。

REG ADD HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 0x2 /f

16. 又或者自己直接到『登線編輯程式』(Registry Editor),加入相關設定。

17. 重新啟動電腦一次,再次連接IPSec VPN伺服器,就會看到連線成功。

18. 利用CanYouSeeMe.org作檢查,便會看到對外連接IP地址,是IPSec VPN伺服器的IP地址。

19. 最後,如果需要『更改IP Sec PSK密碼或新增用戶/更改密碼』,可參以下方法。

20. 更改L2TP密碼檔案。

cd /etc/ppp
sudo nano chap-secrets

21. 更改現有用戶L2TP密碼或新增用戶及其L2TP密碼。格式是:

"<username>" l2tp "<password>" *

22. 切換到IP Sec密碼檔案資料夾位置。這動作一定需要Ubuntu伺服器管理員權限,否則會出現Permission denied錯誤。

sudo su
cd /etc/ipsec.d

23. IP Sec密碼,需要用OpenSSL程式來產生。

sudo openssl passwd -1 '<new_password>'

24. 更改IP Sec密碼檔案。

nano passwd

25. 將上面OpenSSL產生的密碼,複製到這裡。

<username>:<ip_sec_password_generated_by_openssl>:xauth-psk

26. 如需要更改IP Sec PSK密碼,更改ipsec.secrets檔案。

cd /etc
nano ipsec.secrets

27. ipsec.secrets檔案格式。

%any %any : PSK "<PSK_password>"

28. 完成更改後,重新啟動IP Sec及L2TP服務。

sudo service ipsec restart
sudo service xl2tpd restart

發佈留言

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