--- title: 【軟體】VPN 概念及設定 (OpenVPN) tags: TTennis Pickup Robot disqus: hackmd --- <h1 style="text-align: center; color: orange;"> 🛠️ 【軟體】網路、通訊 🛠️ </h1> <h2 style="text-align: center; color: skyblue;">VPN 概念及設定 (OpenVPN)</h2> <h3><font color="magenza"> A. 原理簡介 </font></h3> <center> VPN(Virtual Private Network,虛擬私人網路) 在公共網路(如網際網路)上建立私人、加密通道的技術。 </center> <h4><font color="yellow"> A-1. 架構 </font></h4> ```yaml= # VPN Server-Client 架構 [VPN Client] --(加密隧道)--> [VPN Server] -- (連線至外網或內網) ``` **VPN Server-Client 連線流程** 1. 客戶端發起連線:VPN 用戶端向伺服器請求連線 2. 身份驗證:伺服器驗證用戶憑據(帳號密碼、憑證、MFA 等) 3. 建立加密通道:VPN 伺服器與客戶端協商加密方式並建立安全通道 4. 資料傳輸:客戶端的流量經過 VPN 伺服器加密轉發到目標伺服器或內部網路 5. 斷線或閒置關閉:當客戶端斷開或閒置一段時間,VPN 會自動關閉連線 ::: spoiler VPN Server(伺服器) * 負責驗證用戶身份 * 建立並管理加密的 VPN 通道 * 提供訪問內部網路或安全上網的功能 * 可以部署在公司內部、雲端或專門的 VPN 服務提供商的伺服器上 ::: ::: spoiler VPN Client(客戶端) * 連接 VPN 伺服器 * 驗證身份後建立加密通訊 * 透過 VPN 通道訪問遠端內部網路或加密上網 * 可以是電腦、手機、路由器或其他設備 ::: </br> <h4><font color="yellow"> A-2. 核心技術 </font></h4> * **驗證 (Authentication)** 只有授權的使用者可以連上 VPN 伺服器 * **加密 (Encryption)** 以加密算法如 AES 封裝資料,即使資料中途被攔截也無法被解讀 * **網路隧道 (Tunneling)** 將原本的資料包包裹(Encapsulation)在新的資料包裡,再經由公共網路傳送 * **IP 遮蔽 (IP Maksing)** 遮蔽原本的 IP 位址,讓外界只看到 VPN 伺服器的 IP </br> <h4><font color="yellow"> A-3. 常見的 Tunneling Protocal </font></h4> | 隧道保護協定 | 簡介 | | ------------ |--------------------------------------| | PPTP | 快速,為舊協議,安全性差(幾乎淘汰了) | | L2TP/IPSec | 穩定、好用,但對 NAT 穿越比較敏感 | | OpenVPN | 超穩定、安全、彈性高(最推薦) | | WireGuard | 新世代,極速且簡單,逐漸取代 OpenVPN | | IKEv2/IPSec | 手機專用超穩定(支援快速斷線重連) | </br> <h3><font color="magenza"> B. OpenVPN 設定 </font></h3> > Router: Synology Router RT6600ax <h4><font color="yellow"> B-1. 建立憑證(CA)</font></h4> 進 Synology Web 的「控制台」>「服務」>「憑證」>「建立憑證」。 設定完後「匯出憑證」,並傳給 client 端。 :::spoiler Synology 憑證設定 ![image](https://hackmd.io/_uploads/Byjlxmc1le.png =70%x) ![image](https://hackmd.io/_uploads/BJSOfQqkgl.png =70%x) ::: :::spoiler Synology 更新憑證 ::: </br> | 項目 | 根憑證 (CA) | 用戶端憑證 (Client Certificate) | | ---------------- | --------------------------------------------------- | ------------------------------------------------ | | 作用 | 「簽發」其他憑證的總管理員 | 每台設備(電腦 / 手機)自己持有的身份證明 | | 用途 | 確認所有用戶端憑證是「合法發出」 | 用來驗證「連進來的是授權的使用者」 | | 位置 | 只放在 Server(如 Synology Router)上 | 放在使用者的手機、電腦上 | | 壽命 | 通常壽命很長(5年、10年) | 一般是 1~2年,過期要重發 | | 重要性 | 超重要,遺失就要重建整套 | 遺失只需要重領一份即可 | </br> <h4><font color="yellow"> B-2. 啟用 OpenVPN </font></h4> > VPN Plus Server 為 Synology 自家集成 VPN 的服務。 > 請參閱 [通用 VPN 協定 | Synology 知識中心](https://kb.synology.com/zh-tw/SRM/help/VPNPlusServer/vpnplus_server_standardvpn?version=1_3) 進 Synology Web 的「套件中心」,下載「VPN Plus Server」。 VPN Plus Server 內「通用 VPN 協定」,開啟「OpenVPN」。 設定完成後,「匯出設定檔」給 client 端。 </br> <h4><font color="yellow"> B-3. 啟用 Web VPN </font></h4> > 請參閱 [如何透過 Windows 電腦連線至 VPN Plus Server?](https://kb.synology.com/zh-tw/SRM/tutorial/How_do_I_connect_to_VPN_Plus_Server_via_Windows#x_anchor_id9) VPN Plus Server 內「Synology VPN」>「Web VPN」>「啟用 Web VPN」。 現在應能在任意網域中,透過 Synology Router 外部 IP 加上 port 訪問到登入頁面。 網址如 `https://140.114.57.100:444`。 :::spoiler Synology Wev VPN 設定 ![image](https://hackmd.io/_uploads/HklYKm5kge.png) ::: </br> <h4><font color="yellow"> B-4. Client 端 - 下載 </font></h4> </br> </br> </br> </br> </br>