openvpn

1. 安装

apt-get update
apt-get install openvpn easy-rsa

2. 生成服务器端证书,秘钥

  • 复制秘钥生成工具到/etc/openvpn目录:

    cp -r /usr/share/easy-rsa/ /etc/openvpn
    
  • 生成 Diffie-Hellman parameters:

    openssl dhparam -out /etc/openvpn/dh2048.pem 2048
    
  • 设置/etc/openvpn/easy-rsa/vars:
    根据需要设置变量名,其中KEY_NAME是用来控制输出秘钥的文件名的,这里可以设置成:

    # /etc/openvpn/easy-rsa/vars
    ...
    export KEY_NAME="server"
    ...
    

    配置完/etc/openvpn/easy-rsa/vars后source一下

    cd /etc/openvpn/easy-rsa
    source ./vars
    ./clean-all
    
  • 生成ca:

    ./build-ca
    
  • 生成certificatekey:
    ./build-key-server $KEY_NAME
    
    中途询问输入密码,可以留空,直接按ENTER继续

这一步产生了服务器端需要的3个文件,把他们复制到/etc/openvpn目录下:

cp /etc/openvpn/easy-rsa/keys/{server.crt,server.key,ca.crt} /etc/openvpn

3. 生成客户端证书,秘钥

以下会产生名为client1的证书以及秘钥文件,用相同的方法为多个客户端产生不同的证书及秘钥

cd /etc/openvpn/easy-rsa
./build-key client1

4. 网络配置

参考: