一、OpenVPN是一款功能强大,可跨平台(支持Win2012/WIN2016/WIN2019, Linux, Mac OS X, Solaris, FreeBSD, NetBSD, 和 OpenBSD)使用的SSL VPN服务器软件。
下载地址:https://openvpn.net/community-downloads/
WIN2008R2和WIN2012R2系统下载:https://swupdate.openvpn.org/community/releases/openvpn-install-2.4.8-I602-Win7.exe
WIN2016和WIN2019下载:https://swupdate.openvpn.org/community/releases/openvpn-install-2.4.8-I602-Win10.exe
二、安装与配置
第一步:安装openvpn这一部分是服务端跟客户端都要做的工作,操作完全相同双击 openvpn-install-2.4.8-I602-Win7.exe或openvpn-install-2.4.8-I602-Win10.exe进行安装,点击NEXT,I Agree,NEXT之后开始选择安装路径,建议按默认路径C:Program FilesOpenVPN安装(以免后面生成证书麻烦) 。点击 Install 开始安装,安装过程中,弹出硬件安装窗口,点击仍然继续,安装虚拟网卡。点击 next,Finish 完成安装。
注意安装的时候组件务必全选,注意安装完成后,要设置服务器的外网网卡为共享状态,不然VPN客户端无法上网。
打开安装包进行安装,客户端跟服务器安装方式一样,都需要安装
接受下一步
下面两个选项默认不勾选,我们需要勾选不然安装完无法命令行制作证书操作
选择安装目录
安装完成
安装完成后系统会多出一张网卡TAP的 “本地连接2
要想客户端能够通过服务端上网需要调整服务端本地网卡共享
第二步: VPN服务器配置:
说明:架设OPENVPN服务器,服务器方面做的工作比较多,客户端相对来说就比较简单。
服务器采用RSA证书和密钥验证方式对客户端进行验证,默认情况下证书和用户是一对一的,多个用户使用同一证书会被踢出。所以首先要做的工作就是证书的制作。
在进行操作之前,首先进行初始化工作:
(1)修改C:/Program Files/OPENVPN/easy-rsavars.bat.sample的以下部分
set HOME=%ProgramFiles%OpenVPNeasy-rsa
set KEY_COUNTRY=US
set KEY_PROVINCE=CA
set KEY_CITY=SanFrancisco
set KEY_ORG=FortFunston
set KEY_EMAIL=mail@domain.com
请根据自身情况修改,也可以不修改!下面是解释
set HOME=C:/Program Files/OPENVPN/easy-rsa
set KEY_COUNTRY=CN #(国家)
set KEY_PROVINCE=GuangDong #(省份)
set KEY_CITY=ShenZhen #(城市)
set KEY_ORG=oovc.com #(组织)
set KEY_EMAIL=admin@oovc.com #(邮件地址)
文件中以#开始的是注释,请不要写到文件中。
打开命令提示符:
开始-->运行...-->键入cmd,回车,进入命令提示符
或者 开始-->程序-->附件-->命令提示符
进入C:/Program Files/openvpn/easy-rsa目录下:
命令如下:
(1)cd C:/Program Files/openvpn/easy-rsa
init-config
vars
clean-all
上面是初始化工作,以后,在进行证书制作工作时,仍旧需要进行初始化,但只需要进入openvpneasy-rsa目录,运行vars就可以了,不需要上面那些步骤了。
(2)下面开始证书?制作:
生成根证书:(请输入红字部分)
build-ca
Common Name (eg, your name or your server's hostname) [changeme]:OpenVPN-CA
Name [changeme]:
build-dh
生成服务端密钥:
build-key-server server
下面贴出需要交互的部分,其他地方默认。
Common Name (eg, your name or your server's hostname) [changeme]:server
Name [changeme]:
The Subject's Distinguished Name is as follows
countryName :PRINTABLE:'US'
stateOrProvinceName :PRINTABLE:'CA'
localityName :PRINTABLE:'SanFrancisco'
organizationName :PRINTABLE:'OpenVPN'
organizationalUnitName:PRINTABLE:'changeme'
commonName :PRINTABLE:'server'
name :PRINTABLE:'changeme'
emailAddress :IA5STRING:'mail@host.domain'
Certificate is to be certified until Aug 19 11:12:06 2022 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
生成客户端密钥
build-key client
Common Name (eg, your name or your server's hostname) [changeme]:client
Name [changeme]:
The Subject's Distinguished Name is as follows
countryName :PRINTABLE:'US'
stateOrProvinceName :PRINTABLE:'CA'
localityName :PRINTABLE:'SanFrancisco'
organizationName :PRINTABLE:'OpenVPN'
organizationalUnitName:PRINTABLE:'changeme'
commonName :PRINTABLE:'11111111'
name :PRINTABLE:'changeme'
emailAddress :IA5STRING:'mail@host.domain'
Certificate is to be certified until Aug 19 11:24:35 2022 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
build-key client2 //可以继续配置第二个VPN客户端密钥
//生成的密钥存放于C:Program Filesopenvpneasy sakeys目录下
接下来开始配置服务器和客户端:
(3)将生成的ca.crt,dh1024.pem,server.crt,server.key复制到C:Program FilesOpenVPNconfig目录下,这四个文件是VPN服务端运行所需要的文件。
(4)ca.crt,client.crt,client.key这三个是VPN客户端所需要的文件,复制到客户端机器的C:Program FilesOpenVPNconfig目录下
(5)在C:Program FilesOpenVPNconfig目录下创建服务端配置文件server.ovpn:
服务器端配置文件示例:(server.ovpn)
local 192.168.3.1 //openvpn服务端网卡的IP,也可以不写
port 443 //服务端端口号,根据需要自行修改,如果是用http代理连接请不要修改
proto tcp //通过tcp协议连接
dev tap //路由模式windows下必须设为tap
ca ca.crt //ca证书存放位置我放在了当前目录下面也可以用(ca "C:/Program Files/OPENVPN/config/ca.crt")
cert server.crt //服务器证书存放位置,请根据实际情况自行修改
key server.key //服务器密钥存放位置,请根据实际情况自行修改
dh dh1024.pem //dh1024.pem存放位置,请根据实际情况自行修改
server 172.16.0.0 255.255.255.0 //虚拟局域网网段设置,请根据需要自行修改,不支持和拔号网卡位于同一网段
ifconfig-pool-persist ipp.txt //在openvpn重启时,再次连接的客户端将依然被分配和以前一样的IP地址
push "route 0.0.0.0 0.0.0.0" //表示client通过VPN SERVER上网
push "redirect-gateway def1 bypass-dhcp" //使客户端所有网络通信通过vpn
push "dhcp-option DNS 208.67.222.222" //DNS配置,根据实际情况配置
push "dhcp-option DNS 208.67.220.220" //DNS配置,根据实际情况配置
client-to-client //使客户端能相互访问
duplicate-cn //这条常用于测试用途,注释该条可实现限制一个证书在同一时刻只能有一个客户端接入
keepalive 10 120
;cipher BF-CBC # Blowfish (default) //选择一种加密算法与客户端保持一致
;cipher AES-128-CBC # AES
;cipher DES-EDE3-CBC # Triple-DES
comp-lzo //允许数据压缩与客户端保持一致
;max-clients 100 //最大客户端并发连接数量
;user nobody //定义运行openvpn的用户用于用户认证可以不采用用户认证
;group nobody
persist-key //通过keepalive检测超时后,重新启动VPN,不重新读取keys,保留第一次使用的keys
persist-tap //通过keepalive检测超时后,重新启动VPN,一直保持tun或者tap设备是linkup的,否则网络连接会先linkdown然后linkup
status openvpn-status.log //定期把openvpn的一些状态信息写到文件中,以便自己写程序计费或者进行其他操作
verb 3 //设置日志记录冗长级别
mute 20 //重复日志记录限额
(6)客户端设置:在客户端安装完成之后,需要将 ca.crt client.crt client.key 这三个文件拷贝到C:/Program Files/openvpn/config目录下,这三个文件由服务端生成,所以,连接谁的服务器,就需要跟谁索取这三个文件。
然后,编辑一个 client.ovpn的配置文件存放到C:/Program Files/openvpn/config目录下,客户端就可以进行连接了。
客户端文件示例:(client.ovpn)
client //定义是一个客户端
dev tap //路由模式windows下必须设为tap,与服务端保持一致
proto tcp //通过tcp协议连接,与服务端保持一致
remote 192.168.223.1 443 //指定服务端IP地址和端口,可以用多行指定多台服务器,实现负载均衡(从上往下尝试)
;remote-random //若上面配置了多台服务器,让客户端随机连接
resolv-retry infinite //解析服务器域名
nobind //客户端不需要绑定端口
;user nobody //安全设置。注意:Windows不能设置
;group nobody
persist-key
persist-tun
;http-proxy-retry //代理连接错误时重试
;http-proxy [proxy server] [proxy port] //若客户端通过HTTP Proxy设置,Proxy不能使用UDP为VPN的通讯协议
mute-replay-warnings //无线网?经常会产生很多重复的数据包。将此标志设置为重复的数据包关闭警告。
ca “C:/Program Files/OpenVPN/config/ca.crt” //证书位置根据实际情况添加
cert “C:/Program Files/OpenVPN/config/client.crt” //证书位置根据实际情况添加
key “C:/Program Files/OpenVPN/config/client.key” //证书位置更加实际情况添加
comp-lzo //使用lzo压缩,与服务端一致
verb 3
;mute 20
上面的配置拔号成功后,VPN SERVER的IP:172.16.0.1,VPN client的IP:172.16.0.2。ping 172.16.0.1 //相互之间应能ping通
三、openvpn客户端通过服务端访问网络
(1)设置VPN SERVER上的”internet连接共享“来实现clinet通过VPN SERVER上网:(需要两块网卡)
(2)单网卡分类如下:
1. 打开 Routing and remote access服务
2. HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersIPEnableRouter= 1 重启
2 netsh
routing ip nat
install
add interface name="本地连接 2" mode=full //服务器上用于上外网的连接
add interface name="本地连接 3" mode=private //安?OpenVPN时生成的虚拟连接
add interface name="内部" mode=private
输入show interface命令后显示:
NAT 内部 配置
---------------------------
模式 : 专用接口
NAT 本地连接 2 配置
---------------------------
模式 : 地址和端口转换
NAT 本地连接 3 配置
---------------------------
模式 : 专用接口
即表示NAT配置成功,重启。
以上步骤实现后,则VPN+NAT配置成功。可拨入主机,并可通过主机代理出去访问主机所在的资源。如同处在主机带的局域网中。
Windows2008r2下单网卡实现VPN+NAT代理服务器
Step 1
按Win+R 输入并运行services.msc,在服务里面寻找Routing and Remote Access,右键单击进入属性,将启动类型更改为自动,并点击启动按钮。
Step 2
打开网上邻居,在左侧网络任务里面点击"查看网络连接",可以看到"传入"字样,这表示Step1操作?功.单击右键打开"传入的连接"的属性,在"常规"标签中虚拟专用网中钩选"允许他人通过internet...",在"用户"标签中允许的连接的用户钩选相应用户,确定退出。至此,VPN配置完毕。
Step 3
按Win+R 输入并运行netsh,继续输入routing并回车,继续输入ip并回车,继续输入nat并回车,继续输入install并回车。然后输入add interface name="内部" mode=private并回车,输入add interface "本地连接" full并回车。输入show interface并回车,如果出现
NAT 内部 配置
---------------------------
模式 : 专用接口
NAT 本地连接 配置
---------------------------
模式 : 地址和端口转换
即表示NAT配置成功。
Win2008默认在netsh命令控制台中没有routing接口,需从服务版操作系统中复制ipmontr.dll和ippromon.dll这2个文件到system32文件夹中,Vista与windows server 2008 相对应 ,win7与windows server 2008 R2相对应(2008R2没有32位版,可以用GNS3模拟一个路由器然后一个口连本地物理网卡一个口连openv虚拟出来的网卡,然后再模拟的路由器上做NAT和路由配置就可以绕过netsh routing的配置了,实际测试好像经过模拟设备速度变慢了),复制相应的服务器操作系统文件ipmontr.dll和ippromon.dll即可(服务器只有在脚色配置中配置启动了路由和路由远程控制脚色才会有这两个文件)我从2003的安装镜像里面找到两个文件。add helper ippromon.dll 的时候提示错误,先 delete helper ipmontr.dll, delete helper ippromon.dll,然后再add helper就成功了。
加完这两个文件,就能看?netsh里有routing了,然后就能照着XP下面的配置方法来配置了。
OpenVPN 2.4.8 不支持Windows2008r2 , 本人实测,所以采用 OpenVPN 2.3.16版本
机房名称 | 机房介绍 | 是否推荐 |
---|---|---|
广州较场西路机房 | 中国电信5星级机房,华南骨干出口,广州市中心机房,交通便利,总带宽200G,为华南骨干出口。 | |
广州人民中路机房 | 中国电信3星级机房,超高速的20Gx2主备双线路带宽直接接入ChinaNET骨干层。 | |
广州天河科技园机房 | 天河软件园建中路4号,中国互联网应急中心机房,国家政府机关直属。多线接入骨干BGP线路。 | |
电子商务部广州机房 | 天河软件建业路上(科韵路)的国际电子商务中心大厦甲级写字楼内,机房环境一流。多线接入骨干BGP线路。 | |
广州电信加速器机房 | 位于广州市萝岗区开源大道1号企业加速器B1栋一楼,按照国际T3+及国标B+级标准建造,机房环境一流。多线接入骨干网。 | |
广州移动旗锐机房 | 广州科学城南翔二路1号旗锐数字科技园区内,属于第三方私立机房,现由移动运营,从粤西汇聚节点直连CMNET骨干网。 | |
广州移动南方基地机房 | 中国移动广州南方基地机房位于广州市天河软件园高塘大道333号,用于移动骨干网线路,是移动服务器托管优质机房。 | |
东莞电信道滘机房 | 中国电信4星级机房,总带宽320G,可提供电信和多线BGP线路,华南骨干机房,稳定高速,性价比高。 | |
东莞电信东城机房 | 中国电信4星级机房,总带宽320G,性价比高,可提供电信和多线BGP线路和200G集群硬件防火墙VIP防护。 | |
东莞电信樟木头机房 | 中国电信4星级机房,总带宽320G,可提供电信和多线BGP线路和100G集群硬件防火墙企业级防护。 | |
深圳互联港湾机房 | 深圳南山高新区中区软件大厦四楼,电信3星级机房,20G带宽接入骨干网络。 | |
深圳南山科兴机房 | 位于深圳市南山区科技园科苑路15号科兴科学园,3星级机房,可提供双线接入等业务。 | |
深圳百旺信机房 | 深圳市南山区西丽松白公路百旺信工业区A区(一区)一栋属于第三方机房,可提供双线接入等业务。 | |
佛山电信信息大厦机房 | 佛山市汾江南路35号电信佛山分公司信息大厦8-9层,是中国电信3星级机房,可提供双线接入等业务。 | |
中山电信火炬机房 | 机房位于中山市火炬区康乐大道47号电信3楼,是中国电信3星级机房,可提供双线接入等业务。 | |
江苏徐州电信机房 | 机房位于江苏徐州市新城区镜泊东路4号,徐州市档案馆东侧,是中国电信3星级机房,可提供双线接入等业务。 | |
江苏常州电信机房 | 机房位于江苏省常州市清凉路108号常州信息港,是中国电信4星级机房,可提供双线接入等业务。 | |
香港TKO机房 | 机房靠近香港交易所的数据中心位置和香港商业中心,拥有PCCW、GTT、Cogent、Telia、TATA、CT、CN2、CU线路。 | |
香港将军澳机房 | 机房在香港新界將軍澳工業邨駿昌街22號,与阿里云香港机房同属一栋楼,拥有多种线路接入。 | |
香港新世界机房 | 香港新世界机房的海底电缆系统遍布全球,能直接连接多个国家,免备案,服务器租用、云服务器等业务。 | |
香港NTT机房 | 香港NTT电讯机房,是一座专用数据中心,在香港大埔,免备案,提供服务器租用、VPS云服务器等业务。 | |
美国洛杉矶机房 | 位于美国洛杉矶,直连全球,是全球带宽最集中的地方,是外贸企业首选,该机房只提供服务器租用业务。 | |
美国加州DCS机房 | 位于美国加州,直连全球,是美国的华人机房,是外贸企业首选,该机房只提供服务器租用业务。 | |
美国圣何塞机房 | 位于美国圣何塞,紧邻科技中心-硅谷,直连全球,是外贸企业首选,该机房只提供服务器租用业务。 | |
韩国首尔KT机房 | 韩国首尔的江南区道谷洞数据中心,光纤直连电信(CN2)、移动、PCCW、NTT等网络核心骨干。 | |
台湾中华电信机房 | 台湾中华电信机房位于台湾台北市114内湖区瑞光路68号3楼,是台湾对外最重要的电信枢纽之一。 | |
菲律宾PLDT机房 | 菲律宾PLDT机房拥有PCCW、TATA、CT、CN2等线路接入,优化线路到中国大陆速度快,延迟低,网络稳定。 |
¥99元/年起 网站空间 原价:199元
¥488/月起 物理机 原价:699元
¥580起 企业建站 原价:1999元起
迅恒专注于企业建站,海量精美网站风格模板供您选择!
网络营销推广的第一步就是做一个属于自己的网站
做网站,为什么要选迅恒建站?
专业的设计团队、技术团队,为客户提供专业的技术服务支持
客户查验合格,提供源码交付/FTP信息。网站商业授权,避免产权纠纷
网站能够在CP+平板+手机+小程序 完美响应展示。
所有收费项公开透明,正规签订合同,合同清楚明确
提供网站个性化定制设计,拒绝千篇一律
我司与华为云/腾讯云长期合作,采用安全稳定服务器,保障网站安全稳定运行