首先安裝套件 System -> Software

OpenWrt 建置 OpenVPN


然後使用 SSH 登入操作,產生相關金鑰
設定檔
OpenWrt 建置 OpenVPN
PKI
OpenWrt 建置 OpenVPN
CA
OpenWrt 建置 OpenVPN
Server
OpenWrt 建置 OpenVPN
Client
OpenWrt 建置 OpenVPN
產生檔案
OpenWrt 建置 OpenVPN
tls-crypt
OpenWrt 建置 OpenVPN


1. 設定檔取消註解 /etc/easy-rsa/pki
2. easyrsa init-pki 初始化公鑰基礎設施
3. easyrsa build-ca nopass 建立根憑證
4. easyrsa build-server-full server nopass 建立伺服器憑證
5. easyrsa build-client-full client nopass 建立客戶端憑證
6. openvpn --genkey tls-crypt shared.key 產生控制通道加密金鑰


上傳 openvpn 設定檔
上傳
OpenWrt 建置 OpenVPN
啟動
OpenWrt 建置 OpenVPN
設定檔
OpenWrt 建置 OpenVPN
ccd
OpenWrt 建置 OpenVPN


  • local 指定多行可以同時監聽 udp/tcp
  • dh none 會使用橢圓曲線演算法 ECDH,不需要產生 dh.pem
  • tls-cipher 指定 TLS1.2 金鑰交換演算法,對稱加密演算法,雜湊演算法
  • tls-ciphersuites 指定 TLS1.3 認證加密演算法 AEAD,預設自動協商決定
  • data-ciphers 指定資料通道的加密演算法,選擇 AEAD 認證加密比較安全
  • ccd 目錄放置客戶端 CN 為檔名的檔案,可以固定客戶端 IP,路由到客戶端區網
  • ifconfig-pool-persist /etc/openvpn/ipp.txt 也可以固定客戶端 IP


設定防火牆
圖1
OpenWrt 建置 OpenVPN
圖2
OpenWrt 建置 OpenVPN
圖3
OpenWrt 建置 OpenVPN
Optional
OpenWrt 建置 OpenVPN


1. 新增防火牆區域 openvpn
進階設定,Covered devices 選擇啟動的裝置名稱,如 tun10
一般設定,Allowed forward to destination zones 選擇 wan,即可透過 vpn 上網,如果要訪問區網,就再增加 lan

2. Traffic Rules 設定允許外網連入,要設定前面監聽的 port,才能成功建立連線

3. 如果客戶端是在區網連線,TCP 通常能正常連線,但 UDP 可能會有問題

因為 UDP 會查路由表選擇回應位址,此例是區網 IP,連入時是外網 IP,客戶端會拒絕連線

解決方法:
1) 設定 Server 參數 multihome
2) 設定 Port Forwards,改寫連線目標位址為區網 IP
3) 使用 DNS Rewrite,DNS/一般/位址,設定 /x.x.x.x/192.168.2.1,然後在子路由器 DNS/篩選/網域白名單,設定 x.x.x.x,避免 DNS-rebind 錯誤

OpenWrt 建置 OpenVPN

最後客戶端把前面的金鑰貼入設定檔,就可以連線成功
感謝分享。

OpenVPN 的技術架構已經跟不上時代。

OpenVPN 的核心問題在於效率與 CPU 開銷。


建議將軟路由 VPN 協議轉向 WireGuard或是tailscale,能讓網路環境體驗達到真正的極致。
openVPN已經有套裝軟體了,通常是不需要從頭開始建置才對。
不過因為公司有網路封鎖的問題,加上只開放443埠口,openVPN試了很久一直跟我架站衝突,最後放棄改用x-ui,翻牆上網
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!