添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

二、生成证书

1、准备:

# cp /usr/share/doc/openvpn-2.4.5/sample/sample-config-files/server.conf /etc/openvpn # cp -r /usr/share/easy-rsa/ /etc/openvpn # cp /usr/share/doc/easy-rsa-3.0.3/vars.example easy-rsa/3.0/vars

2、初始化pki结构

#cd /etc/openvpn/easy-rsa/3.0 # ./easyrsa init-pki

3、创建ca 密码 (注意:cn那么需要记住*)

# ./easyrsa build-ca

注:此处输入两次密码, 一定要记住^_^, Common Name可以随便填写一个容易区分的信息。

4、创建Diffie-Hellman,确保key穿越不安全网络

`# ./easyrsa gen-dh`

5、生成防攻击key文件

`openvpn --genkey --secret ta.key`

6、创建服务器证书

./easyrsa gen-req vpnserver nopass 注:此处如果不指定nopass参数, 则需要创建服务器证书密码。

7、签约服务端证书:

`# ./easyrsa sign server vpnserver`
注:输入yes签发证书, 然后输入上面设置的ca证书,如果忘了,则只能重新来过了。。。

8、生成客户端证书:

`# ./easyrsa build-client-full client001`
输入两次client密码, 并输入ca密码。此处设置的密码在vpn连接时会用到。

三、服务器端配置

1、将服务器证书整理到一起(此步为了配置方便, 可以不做)

# cd /etc/openvpn/
# mkdir pki
# cd pki
# cp ../easy-rsa/3.0/ta.key ./ 
# cp ../easy-rsa/3.0/pki/ca.crt ./
# cp ../easy-rsa/3.0/pki/dh.pem ./
# cp ../easy-rsa/3.0/pki/issued/vpnserver.crt ./
# cp ../easy-rsa/3.0/pki/private/vpnserver.key ./

2、配置server.conf

local 102.94.xx.xx(填写你的vps IP, 对于阿里云服务器,此项需注释**!!!**)
port 1194
proto udp
dev tun
ca /etc/openvpn/pki/ca.crt
cert /etc/openvpn/pki/server.crt
key /etc/openvpn/pki/server.key # This file should be kept secret
dh /etc/openvpn/pki/dh.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
tls-auth /etc/openvpn/pki/ta.key 0
comp-lzo
max-clients 100
persist-key
persist-tun
status openvpn-status.log
verb 3

注:每个项目都会由介绍,openvpn提供的server.conf包含所配置的所有内容,我们只需要去掉前面的注释#,然后修改我们自己的有关配置。

3、将客户端所需证书整理到一起(可选)

# mkdir /etc/openvpn/client
# cd /etc/openvpn/client
# cp ../easy-rsa/3.0/ta.key ./ 
# cp ../easy-rsa/3.0/pki/ca.crt ./
# cp ../easy-rsa/3.0/pki/issued/client001.crt ./
# cp ../easy-rsa/3.0/pki/private/client001.key ./

4、配置转发功能

# echo 'net.ipv4.ip_forward = 1' >/etc/sysctl.conf
# sysctl -p

5、配置防火墙

systemctl start firewalld.service
firewall-cmd --zone=public --list-all
firewall-cmd --add-service=openvpn --permanent
firewall-cmd --add-port=1194/udp --permanent
firewall-cmd --add-source=10.8.0.0 --permanent
firewall-cmd --query-source=10.8.0.0 --permanent
firewall-cmd --add-masquerade --permanent
firewall-cmd --query-masquerade --permanent
firewall-cmd --reload

6、在阿里云控制台安全组规则中,开放1194端口

7、启动openvpn

systemctl start openvpn@server

四、客户端配置

1、将上面的三个客户端文件下载到本地客户端电脑

ca.crt  client001.crt  client001.key ta.key这四个文件

2、从官网下载openvpn客户端进行安装

在安装目录找到simple-config,将其中的client.ovpn拷贝到simple-config同级的conf文件夹 把刚才下载的四个客户端文件也拷贝到conf文件夹

3、配置client.ovpn

client
dev tun
proto udp
remote 102.94.xx.xx 1194 //这里修改成自己的服务器 ip
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt //这里需要证书
cert client001.crt
key client001.key
tls-auth ta.key 1
comp-lzo
verb 3

1、启动报错(阿里云服务器) 按报错分析, 是找不到外网IP, 因为ECS里没有配置这个IP, 因此在openvpn的server.conf注释掉 ‘local 102.94.xx.xx’这项就可以了