Openvpn搭建及使用方法

前置操作

echo 1 > /proc/sys/net/ipv4/ip_forward
sysctl -p /etc/sysctl.conf

搭建步骤

  1. 拉取镜像

    docker pull kylemanna/openvpn
  2. 创建全局变量

    OVPN_DATA="/data/openvpn"
    mkdir $OVPN_DATA
  3. 配置公网ip

    IP="xxx.xxx.xxx.xxx"
  4. 初始化将保存配置文件和证书的容器。容器将提示输入密码以保护新生成的证书颁发机构使用的私钥

    tcp:

    docker run -v ${OVPN_DATA}:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u tcp://${IP}

    udp:

    docker run -v ${OVPN_DATA}:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://${IP}
  5. 密钥配置

    docker run -v ${OVPN_DATA}:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki

    例子

    Enter PEM pass phrase: 输入123456(你是看不见的)
    Verifying - Enter PEM pass phrase: 输入123456(你是看不见的)
    Common Name (eg: your user, host, or server name) [Easy-RSA CA]:回车一下
    Enter pass phrase for /etc/openvpn/pki/private/ca.key:输入123456
  6. 启动打开VPN服务器进程

    tcp:

    docker run --name openvpn -v ${OVPN_DATA}:/etc/openvpn -d -p 1194:1194 --cap-add=NET_ADMIN --name openvpn kylemanna/openvpn

    udp:

    docker run --name openvpn -v ${OVPN_DATA}:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN --name openvpn kylemanna/openvpn
  7. 生成不带密码的客户端证书

    docker run -v ${OVPN_DATA}:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full CLIENTNAME nopass
  8. 检索带有嵌入式证书的客户端配置

    docker run -v ${OVPN_DATA}:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient example > example.ovpn

客户端下载

Community Downloads | OpenVPN

OpenVPN-2.5.7-I602-amd64.msi

删除

docker run -v ${OVPN_DATA}:/etc/openvpn --rm -it kylemanna/openvpn easyrsa revoke $DNAME
docker run -v ${OVPN_DATA}:/etc/openvpn --rm -it kylemanna/openvpn easyrsa gen-crl
docker run -v ${OVPN_DATA}:/etc/openvpn --rm -it kylemanna/openvpn rm -f /etc/openvpn/pki/reqs/"$DNAME".req
docker run -v ${OVPN_DATA}:/etc/openvpn --rm -it kylemanna/openvpn rm -f /etc/openvpn/pki/private/"$DNAME".key
docker run -v ${OVPN_DATA}:/etc/openvpn --rm -it kylemanna/openvpn rm -f /etc/openvpn/pki/issued/"$DNAME".crt
如果觉得我的文章对你有用,请随意赞赏