Centos7使用docker搭建openvpn

Centos7使用docker搭建openvpn



Centos7使用docker搭建openvpn

准备好一台海外的主机,如公网ip为47.213.133.182,并安装好docker(docker官网下载最新的安装包),下载openvpn镜像docker pull kylemanna/openvpn:2.4




1、使用openvpn生成配置文件

mkdir -p /data/openvpn
docker run -v /data/openvpn:/etc/openvpn --rm kylemanna/openvpn:2.4 ovpn_genconfig -u udp://47.213.133.182

执行完命令后可在目录/data/openvpn中看到相应的配置文件;



2、初始化密钥文件

docker run -v /data/openvpn:/etc/openvpn --rm -it kylemanna/openvpn:2.4 ovpn_initpki

执行过程中需要先设置ca密码(如123456),Common Name可不设置直接按回车继续,接着需要输入ca密码更新密钥库以及生成crl文件;



3、生成客户端证书

docker run -v /data/openvpn:/etc/openvpn --rm -it kylemanna/openvpn:2.4 easyrsa build-client-full openvpn-client nopass


其中openvpn-client为自定义名称,生成的过程需要输入ca密码;



4、导出客户端的配置文件openvpn-client.ovpn

docker run -v /data/openvpn:/etc/openvpn --rm kylemanna/openvpn:2.4 ovpn_getclient openvpn-client > /data/openvpn/openvpn-client.ovpn

注意openvpn-client名称需与第三步生成时命名一致,此时生成的配置文件openvpn-client.ovpn即可用于客户端连接;



5、启动openvpn

docker run  -v /data/openvpn:/etc/openvpn -d -p 1194:1194/udp --restart=always --name openvpn --cap-add=NET_ADMIN --sysctl net.ipv6.conf.all.disable_ipv6=0 --sysctl net.ipv6.conf.default.forwarding=1 --sysctl net.ipv6.conf.all.forwarding=1  kylemanna/openvpn:2.4

需要注意防火墙规则,其中1194为udp端口,可在其他机器上通过nc命令测试是否可连接


yum install nc -y
nc -vuz 47.213.133.182 1194
[root@ta6wkp3ir3ybrtef ~]# nc -vuz 47.213.133.182 1194
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 47.213.133.182:1194.
Ncat: UDP packet sent successfully
Ncat: 1 bytes sent, 0 bytes received in 2.01 seconds.
[root@ta6wkp3ir3ybrtef ~]#


6、修改iptables规则

修改配置文件/etc/sysconfig/iptables,在*filter中的COMMIT命令前增加以下配置


-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited


重启iptables,systemctl restart iptables,如未生效需重启docker



7、客户端安装openvpn客户端openvpn-install-2.4.4-I601.exe

安装好客户端后,导入openvpn客户端配置文件即可,ccip.cc检查当前ip;


鼎云博客
  • 最新评论
  • 总共0条评论