sudo apt install openVPN easy-rsa
拷貝 easy-rsa 目錄
cp -r /usr/share/easy-rsa/ /etc/openVPN/
查看 openssl 版本
openssl version
生成 ca 證書(ca.crt)和私鑰(ca.key)
cd /etc/openVPN/easy-rsa/ cp openssl-1.0.0.cnf openssl.cnf . ./vars # source ./vars ./clean-all # 只是增加客戶端證書和私鑰的時候不要執行這一句 ./build-ca # 注意 Common Name
生成服務端的證書和私鑰(server.crt/server.key)
./build-key-server server
生成客戶端的證書和私鑰
./build-key client1 ./build-key client2 ./build-key client3
生成 dh 文件
./build-dh
讓服務端文件就位
cp /etc/openVPN/easy-rsa/keys/ca.crt /etc/open***/ cp /etc/openVPN/easy-rsa/keys/server.crt /etc/open***/server/ cp /etc/openVPN/easy-rsa/keys/server.key /etc/open***/server/ cp /etc/openVPN/easy-rsa/keys/dh2048.pem /etc/open***/server/
創建 ccd 目錄,裏面存放推送信息(如固定 ip)到客戶端的文件
mkdir /etc/open***/server/ccd cd /etc/open***/server/ccd vim client # 文件名對應 Common Name # client 內容示例(推送固定 ip) ifconfig-push 192.168.77.46 255.255.255.0
創建 server.conf,並按照樣例寫入配置
cd /etc/openVPN/server/ /etc/openVPN/server# vim server.con
啓動服務端
nohup openVPN /etc/openVPN/server/server.conf &
服務端配置文件示例
local 192.168.0.110 port 10101 proto tcp dev tap float ca /etc/openVPN/server/ca.crt cert /etc/openVPN/server/server.crt key /etc/openVPN/server/server.key dh /etc/openVPN/server/dh2048.pem server 192.168.77.0 255.255.255.0 client-config-dir /etc/open***/server/ccd/ client-to-client keepalive 10 120 comp-lzo persist-key status openVPN-status.log log /var/log/openVPN.log verb 4 mute 20
客戶端配置文件示例
client dev tap0 remote 123.456.789.154 port 10101 proto tcp float ca ./ca.crt cert ./client1.crt key ./client1.key comp-lzo verb 6 mute 20
【FAQ】
Q:客戶端連不上服務端,報錯:WARNING: No server certificate verification method has been enabled.
A:檢查私鑰和公鑰當中是否有 0B 的文件。
Q:客戶端連不上服務端,報錯:TCP: connect to [AF_INET]223.18.95.157:7872 failed: Unknown error
A:檢查客戶端外圍防火牆。
*** walker ***