
然後使用 SSH 登入操作,產生相關金鑰
- 設定檔

- PKI

- CA

- Server

- Client

- 產生檔案

- tls-crypt

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 設定檔
- 上傳

- 啟動

- 設定檔

- ccd

- 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

- 圖2

- 圖3

- Optional

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 錯誤

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




























































































