Ubuntu Server 18.04 與 OpenVPN 2.x

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 ***


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章