Windows上的OpenVPN服务器和客户端设置

时间:2020-03-21 11:49:40  来源:igfitidea点击:

在AWS托管的Windows Server 2008上设置OpenVPN服务器。
还在Windows Server 2012 R2上进行了测试。

安装OpenVPN

从此处的官方(OpenVPN 2.3.2)下载该软件包,然后在Windows机器上安装OpenVPN服务器。

确保安装了OpenSSL实用程序和OpenVPN RSA证书管理脚本。

我们已禁用Windows防火墙。
我们将需要在与服务器关联的AWS安全组中打开UDP端口11194.

可选:重命名TAP-Windows适配器V9

查找哪个未连接到Internet且设备名称列为“ TAP-Windows Adapter V9”的网络接口,为澄清起见将TAP适配器重命名为“ tap-vpn”。

生成主证书颁发机构(CA)证书和密钥

以管理员身份打开命令提示符窗口,并将目录更改为“ C:\Program Files \ OpenVPN \ easy-rsa”:

C:\Users\Administrator> cd \Program Files\OpenVPN\easy-rsa

运行以下批处理文件以将配置文件复制到位:

> init-config

现在编辑vars文件(在Windows上称为vars.bat):

> notepad vars.bat

并适当设置以下参数:

KEY_COUNTRY=GB
KEY_PROVINCE=Midlands
KEY_CITY=Birmingham
KEY_ORG=Private
Hyman@theitroad
KEY_CN=changeme
KEY_NAME=changeme
KEY_OU=IT

请勿将任何这些参数留空。
接下来要做的是初始化PKI:

> vars
> clean-all
> build-ca

为服务器生成证书和私钥

> build-key-server server

为客户端生成证书和私钥

生成客户端证书与上一步非常相似。
确保“公用名”值与服务器的值匹配,并指定“名称”值。
我们可以将所有其他设置保留为默认设置。

> vars
> build-key client

为OpenVPN服务器生成Diffie Hellman参数

> build-dh

为服务器和客户端创建配置文件

将模板文件“ C:\Program Files \ OpenVPN \ sample-config \ server.ovpn”复制到“ C:\Program Files \ OpenVPN \ config”:

> copy ..\sample-config\server.ovpn ..\config
        1 file(s) copied.

修改服务器的配置文件

打开配置文件“ server.ovpn”进行编辑:

> notepad ..\config\server.ovpn

使其如下所示:

#listen on IPv4
local 0.0.0.0
#the default port is 1194
#we use a non-default port 11194
port 11194
#UDP protocol chosen for better protection against DoS attacks and port scanning
proto udp
#using routed IP tunnel
dev tun
#relative paths to keys and certificates
ca ..//easy-rsa//keys//ca.crt
cert ..//easy-rsa//keys//server.crt
key ..//easy-rsa//keys//server.key
dh ..//easy-rsa//keys//dh1024.pem
#set OpenVPN subnet
server 10.26.0.0 255.255.255.0
#maintain a record of client-to-virtual-IP-address
ifconfig-pool-persist ipp.txt
#ping every 10 seconds, assume that remote peer is down if no ping received during 60
keepalive 10 60
#cryptographic cipher, must be the same (copied) on the client config file as well
cipher AES-256-CBC
#enable compression on VPN link
comp-lzo
max-clients 20
#try to preserve some state across restarts
persist-key
persist-tun
#log file
status ..//log//openvpn-status.log
#log file verbosity
verb 3

我们不需要进行任何其他更改。

启动OpenVPN服务器

从命令提示符窗口运行:

> openvpn ..\config\server.ovpn

在命令提示符窗口中运行后,可以通过F4键停止OpenVPN。

也可以从开始菜单->管理工具->服务来控制服务。

确保OpenVPN服务器正在运行:

> netstat -na | findstr /L 11194
UDP    0.0.0.0:11194   *.*

设置OpenVPN客户端

在此处下载安装包并安装OpenVPN客户端软件。

我们需要将模板文件“ C:\Program Files \ OpenVPN \ sample-config \ client.ovpn”从服务器复制到客户端PC的文件夹“ C:\Program Files \ OpenVPN”。

还将ca.crt,client.crt和client.key从'C:\Program Files \ OpenVPN \ easy-rsa \ keys'复制到我们的客户端PC文件夹'C:\Program Files \ OpenVPN \ config'中。

修改客户端配置文件

打开配置文件“ client.ovpn”进行编辑,使其如下所示:

client
dev tun
proto udp
remote openvpn.example.com 11194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
cipher AES-256-CBC
comp-lzo
verb 3

连接到OpenVPN服务器

启动OpenVNP客户端,单击“连接配置文件”->“本地文件”,找到“ client.ovpn”,保存文件。
单击连接。

或者,从命令提示符窗口运行:

> cd \Program Files\OpenVPN\config
> openvpn .\client.ovpn

现在,我们应该能够使用其专用IP 10.26.0.X将RDP发送到服务器。