OpenVPN部署
简介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