Windows上的OpenVPN服务器和客户端设置
在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发送到服务器。