如何在Windows环境下安装并配置OpenVPN

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Windows环境下安装并配置OpenVPN相关的知识,希望对你有一定的参考价值。

Step 1 OpenVPN安装配置
1.1 下载openvpn 并安装
· 下载openvpn-2.0.5-gui-1.0.3版,地址 http://openvpn.se/files/install_packages/openvpn-2.0.5-gui-1.0.3-install.exe,安装。(例如:安装到F:\\OPENVPN目录下,下文举例都用此目录)
· 安装完成后生成一个新网卡,并在网络连接里出现本地连接[X],把tcp/ip属性改成手动配置,192.168.10.1(根据实际情况更改) ,255.255.255.0,其余不填。
1.2 生成证书
· 修改F:\\OpenVPN\\easy-rsa\\vars.bat.sample的以下部分
CODE:
set HOME=%ProgramFiles%\\OpenVPN\\easy-rsa
set KEY_COUNTRY=US
set KEY_PROVINCE=CA
set KEY_CITY=SanFrancisco
set KEY_ORG=FortFunston
set KEY_EMAIL=mail@host.domain
(请根据自身情况修改)改为
CODE:
set HOME=F:\\OpenVPN\\easy-rsa
set KEY_COUNTRY=CN
set KEY_PROVINCE=Hubei
set KEY_CITY=Wuhan
set KEY_ORG=51NB
set KEY_EMAIL=MATONG_01@163.COM
· 生成证书
o OpenVPN 有两种安全模式,一种基于使用 RSA 证书和密钥的 SSL/TLS,一种使用预先分享的静态密钥。本文采用SSL/TLS 模式。TLS模式的优点是安全,而且便于管理用户。默认情况下证书和用户是一对一的,多个用户使用同一证书会被踢出。
o 开始-->运行-->键入cmd,回车,进入命令提示符-->进入F:\\OpenVPN\\easy-rsa目录
QUOTE:
F:\\OpenVPN\\easy-rsa>
o 执行如下命令
CODE:
init-config

QUOTE:
F:\\OpenVPN\\easy-rsa>init-config
F:\\OpenVPN\\easy-rsa>copy vars.bat.sample vars.bat
已复制 1 个文件。
F:\\OpenVPN\\easy-rsa>copy openssl.cnf.sample openssl.cnf
已复制 1 个文件。
CODE:
vars

CODE:
clean-all

QUOTE:
F:\\OpenVPN\\easy-rsa>vars
F:\\OpenVPN\\easy-rsa>clean-all
系统找不到指定的文件。
已复制 1 个文件。
已复制 1 个文件。

CODE:

vars
build-ca
build-dh

QUOTE:
F:\\OpenVPN\\easy-rsa>vars
F:\\OpenVPN\\easy-rsa>build-ca #生成根证书
Loading \'screen\' into random state - done
Generating a 1024 bit RSA private key
writing new private key to \'keys\\ca.key\'
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter \'.\', the field will be left blank.

Country Name (2 letter code) [CN]:
State or Province Name (full name) [Hubei]:
Locality Name (eg, city) [Wuhan]:
Organization Name (eg, company) [51NB]:
Organizational Unit Name (eg, section) []:CMWAP
Common Name (eg, your name or your server\'s hostname) []:fangzy #填自己的名字
Email Address [mail@host.domain]:
F:\\OpenVPN\\easy-rsa>build-dh #这个有点慢,估计要半分钟
Loading \'screen\' into random state - done
Generating DH parameters, 1024 bit long safe prime, generator 2
This is going to take a long time

CODE:
build-key-server server

QUOTE:
F:\\OpenVPN\\easy-rsa>build-key-server server #生成服务器端的密钥,server为服务器名
Loading \'screen\' into random state - done
Generating a 1024 bit RSA private key
writing new private key to \'keys\\server.key\'
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter \'.\', the field will be left blank.
Country Name (2 letter code) [CN]:
State or Province Name (full name) [Hubei]:
Locality Name (eg, city) [Wuhan]:
Organization Name (eg, company) [51NB]:
Organizational Unit Name (eg, section) []:CMWAP
Common Name (eg, your name or your server\'s hostname) []:server #填自己的名字
Email Address [mail@host.domain]:
Please enter the following \'extra\' attributes
to be sent with your certificate request
A challenge password []:xxxx #输入4位以上的密码
An optional company name []:
Using configuration from openssl.cnf
Loading \'screen\' into random state - done
Check that the request matches the signature
Signature ok
The Subject\'s Distinguished Name is as follows
countryName :PRINTABLE:\'CN\'
stateOrProvinceName :PRINTABLE:\'Hubei\'
localityName :PRINTABLE:\'Wuhan\'
organizationName :PRINTABLE:\'51NB\'
organizationalUnitName:PRINTABLE:\'CMWAP\'
commonName :PRINTABLE:\'server\'
emailAddress :IA5STRING:\'mail@host.domain\'
Certificate is to be certified until Feb 1 05:30:29 2016 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

CODE:
build-key client
QUOTE:
F:\\OpenVPN\\easy-rsa>build-key client #生成客户端的密钥,client为用户名
Loading \'screen\' into random state - done
Generating a 1024 bit RSA private key
writing new private key to \'keys\\client.key\'
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter \'.\', the field will be left blank.
Country Name (2 letter code) [CN]:
State or Province Name (full name) [Hubei]:
Locality Name (eg, city) [Wuhan]:
Organization Name (eg, company) [51NB]:
Organizational Unit Name (eg, section) []:CMWAP
Common Name (eg, your name or your server\'s hostname) []:client
Email Address [mail@host.domain]:
Please enter the following \'extra\' attributes
to be sent with your certificate request
A challenge password []:xxxx
An optional company name []:
Using configuration from openssl.cnf
Loading \'screen\' into random state - done
DEBUG[load_index]: unique_subject = "yes"
Check that the request matches the signature
Signature ok
The Subject\'s Distinguished Name is as follows
countryName :PRINTABLE:\'CN\'
stateOrProvinceName :PRINTABLE:\'Hubei\'
localityName :PRINTABLE:\'Wuhan\'
organizationName :PRINTABLE:\'51NB\'
organizationalUnitName:PRINTABLE:\'CMWAP\'
commonName :PRINTABLE:\'client\'
emailAddress :IA5STRING:\'mail@host.domain\'
Certificate is to be certified until Feb 1 05:31:40 2016 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
生成多个客户端密钥,执行build-key client1 …… build-key xyz。

复制证书文件
刚才生成的证书文件在F:\\OpenVPN\\easy-rsa\\keys下,服务器端需要的文件为ca.crt,dh1024.pem,server.crt,server.key ,客户端需要的文件为:ca.crt client.crt client.key(xxx.crt xxx.key),配置.ovpn文件时需要用到。
1.3 配置server.ovpn文件
· 在\\OpenVPN\\config目录下创建server.ovpn文件将ca.crt,dh1024.pem,server.crt,server.key复制到F:\\OpenVPN\\config目录下
· 服务器端文件示例:
server.ovpn
CODE:

port 1198
proto tcp-server
dev tun
server 192.168.10.0 255.255.255.0
keepalive 20 180
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
push "redirect-gateway def1"
push "dhcp-option DNS 192.168.10.1"
mode server
tls-server
status openvpn-status.log
comp-lzo
verb 4
1.4 客户端安装与配置
o 安装OpenVPN,同1.1,但是不用更改本地连接设置。
o 配置OpenVPN
§ 在\\OpenVPN\\config目录下创建client.ovpn文件,将ca.crt client.crt client.key 复制到 \\OpenVPN\\config
目录下,这3个文件由服务器端生成并发放。
§ 客户端文件示例:
client.ovpn
CODE:
client
dev tun
proto tcp-client
remote jacky.10dig.com 1198 #这里填入remote server add,可用IP或者域名,
#若Server是动态IP,可到http://www.wingdns.com/注册动态域名绑定动态IP。
#如Client所连接Server使用路由上网,则需要使用NAT将地址映射到Server端。
resolv-retry infinite
nobind
http-proxy 10.0.0.172 80 #这里填入你的代理服务器地址和端口,没有代理则不用这行
mute-replay-warnings
ca ca.crt
cert client.crt #这里改成每个客户端相应的证书
key client.key #这里改成每个客户端相应的证书
comp-lzo
verb 4
status openvpn-status.log
右击openvpn-gui图标,点connect,即可连接。

The End
Thank you for your reading...
参考技术A 1.安装使用PyInstaller需要安装PyWin32。下载与Python对应的PyInstaller版本, 解压后就算安装好了 。
2.生成exe文件
Python程序的目录为 F:\hello.py

在命令行 中进入pyinstaller所在的目录,运行python pyinstaller.py F:\hello.py

在PyInstaller-2.1目录下,生成文件夹hello

hello目录下有文件

exe文件在dist目录下

如果将python文件复制到 pyinstaller.py 所在目录下,则运行 python pyinstaller.py hello.py本回答被提问者采纳

以上是关于如何在Windows环境下安装并配置OpenVPN的主要内容,如果未能解决你的问题,请参考以下文章

UEFI实战Windows版本QEMU网络配置

如何在 Windows Azure 的虚拟机 ubuntu 上面安装和配置 openVPN

如何在 Windows Azure 的虚拟机 ubuntu 上面安装和配置 openVPN

Windows 7上OpenVPN怎么设置使用

openvpngui安装后需要重启吗

centos 7 安装openvpn client