OpenVPN部署

xiaohai 2021-06-03 10:37:32 3785人围观 标签: VPN 
简介VPN直译就是虚拟专用通道,是提供给企业之间或者个人与公司之间安全数据传输的隧道,OpenVPN无疑是Linux下开源VPN的先锋,提供了良好的性能和友好的用户GUI。

1、安装docker
2、拉取openvpn镜像

docker pull kylemanna/openvpn:2.4

3、创建一个工作目录

mkdir -p /data/openvpn

4、生成配置文件(120.78.170.64这个ip是当前服务器的公网IP)

docker run -v /data/openvpn:/etc/openvpn --rm kylemanna/openvpn:2.4 ovpn_genconfig -u tcp://120.78.170.64

5、生成密钥文件

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

6、生成客户端证书

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

7、导出客户端配置

mkdir -p /data/openvpn/conf
docker run -v /data/openvpn:/etc/openvpn --rm kylemanna/openvpn:2.4 ovpn_getclient admin > /data/openvpn/conf/admin.ovpn

8、启动OpenVPN服务

docker run --name openvpn -v /data/openvpn:/etc/openvpn -d -p 1194:1194/tcp --cap-add=NET_ADMIN kylemanna/openvpn:2.4

9、保存防火墙规则

iptables-save > /etc/sysconfig/iptables

10、设置防火墙
关闭firewalld防火墙,关闭开机自启

systemctl stop firewalld.service
systemctl disable firewalld.service

安装iptables防火墙,设置开机自启

yum -y install iptables-services net-tools
systemctl enable iptables.service

编辑防火墙配置

vim /etc/sysconfig/iptables

在最后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 #可不加

11、重启防火墙

systemctl restart iptables

12、将登录的证书下载到本地
在openvpn的安装目录下,有个config目录,将服务器上的admin.ovpn,放在该目录下,运行OpenVPN GUI,右键admin连接connect