作为网站门牌号的域名,域名是如何创造的?现在企业网站需要配合域名使用,企业邮箱等等系统也要陪配合域名使用,域名与企业办公息息相关,域名不仅仅指一个网址...
2024-11-18 8
搭建背景:从网上了解到openvpn,在win10搭建的资料太少了,找了很久才找到一小部分,所以目前整理一下自己搭建的成功经历,希望可以帮助到别人,也记录一下备忘。家里是动态公网IP,使用了ddns服务,openvpn部署在win10电脑上。
自己使用安卓端的时候,发现不支持Tap模块,所以win10服务端使用了tun模块
名称 | IP |
win10服务端 | 192.168.0.14 |
win10 VPN服务端 |
10.8.0.1 |
安卓客户端 | 10.8.0.2 |
首先,介绍一下openvpn的安装
天翼:
地址:https://cloud.189.cn/t/UFBF3eVF7bAI
(访问码:bv0b)如果已失效,可使用下方云盘
夸克:
链接:https://pan.quark.cn/s/5aea9b16b72e
解压码:159753
不要在线解压,云盘对相关字眼管控严格,下载到本地解压,合法使用即可。
官网安装包下载地址(各系统版本):
第三方安装包下载地址(各系统版本):https://www.techspot.coM/downloads/5182-openvpn.html
清华大学镜像地址(Linux版本) https://mirrors-i.tuna.tsinghua.edu.cn/linuxbrew-bottles/bottles/openvpn-2.4.9.x86_64_linux.bottle.tar.gz
源码地址: https://github.com/OpenVPN/openvpn
选中顶层openvpn
下方会出现安装路径选择,建议D盘,其他盘也可
安装完成,软件位置D:\OpenVPN\open\目录
Cmd管理员运行,然后进入D:\OpenVPN\open\easy-rsa目录下运行EasyRSA-Start.bat 进入EasyRSA Shell命令模式。
复制同目录(D:\OpenVPN\open\easy-rsa)下vars.example并重命名为vars,然后找到并修改部分参数为如下
打开vars,找到并修改如下 set_var EASYRSA_REQ_COUNTRY "CN" #国家 set_var EASYRSA_REQ_PROVINCE "JS" #省 set_var EASYRSA_REQ_CITY "SZ" #城市 set_var EASYRSA_REQ_ORG "TESTORG" #组织名称,比如公司名等 set_var EASYRSA_REQ_EMAIL "TEST@TEST12312.NET" set_var EASYRSA_REQ_OU "TESTVPN" #组织单元 set_var EASYRSA_KEY_SIZE 2048 #密钥长度2048 set_var EASYRSA_CA_EXPIRE 1460 #ca有效期,单位为天 set_var EASYRSA_CERT_EXPIRE 825 #生成的服务端和客户端证书有效期
初始化成功后会在easy-rsa目录下新建文件夹kpi。
./easyrsa init-pki #初始化目录
./easyrsa build-ca nopass #nopass参数为CA不加密码,如果要加密码则去掉nopass
生成过程中会要求输入证书名称,随意输入即可,本次使用CA作为名称,生成结束后会打印出证书所在目录D:\OpenVPN\open\easy-rsa\pki\ca.crt。
输入./easyrsa build-server-full server nopass 生成名称为server的无密码服务端证书,生成后证书文件D:\OpenVPN\open\easy-rsa\pki\issued文件夹。
输入./easyrsa build-client-full client nopass生成名称为client的无密码客户端证书,生成后证书在D:\OpenVPN\open\easy-rsa\pki\issued文件夹。
后续如果想添加其他客户端,只需双击打开EasyRSA-Start.bat批处理文件,直接输入./easyrsa build-client-full client2 nopass,client2为自定义客户端名无需做其他操作。
输入./easyrsa gen-dh生成DH密钥交换协议文件,生成文件在D:\OpenVPN\open\easy-rsa\pki目录下
TLS认证密钥 为抵抗防御DDoS恶意攻击等行为,可生成ta.key ,cmd管理员运行进入到D:\OpenVPN\open\bin执行
openvpn --genkey --secret "D:\OpenVPN\open\config\ta.key" #路径自定义
按照上面命令生成的ta.key就在config目录下
在开启端口映射后的Windows电脑上搭建,端口是openvpn**的端口,可在配置文件中修改,本次示范为电脑上搭建。
将生成的ca.crt、dh.pem、server.crt、server.key ta.key 具体文件名以自己定义为准
服务端配置文件模板为server.ovpn ,在D:\OpenVPN\open\sample-config目录下。复制server.ovpn文件至D:\OpenVPN\open\config目录下,用windows自带的记事本打开修改为如下配置:
相关参数解释:
#server.ovpn文件内容参数解释,注意代码前的; #都是注释掉的意思,该语句不生效
#################################################
# Sample OpenVPN 2.0 config file for #
# open up this port on your firewAll.
port 27118 #**端口,自定义
# TCP or UDP server?
proto tcp #协议,可tcp或者udp
# "dev tun" will create a routed IP tunnel,
# "dev tap" will create an ethernet tunnel.
# the firewall for the TUN/TAP interface.
dev tun # 本文使用tun模式,因为安卓端目前看并不支持Tap
ca ca.crt #ca位置,如果和server.ovpn同目录,直接写文件名即可,如果不是同目录,那么写绝对路径也可以
cert server.crt
key server.key # This file should be kept secret
dh dh.pem
ifconfig-pool-persist ipp.txt; 设置 服务器端 模式,并提供一个 VPN 子网,以便于从中为 客户端 分配IP地址,假设 服务器端 自己占用了 192.168.0.1,所以其他的将提供 客户端 使用;
; 如果你使用的是 以太网桥接 模式,请注释掉该行;
; 当客户端连接到此处的服务端时,为 客户端的以太网适配器分配的IPv4地址从此处指定的网段中指定一个;server 10.8.0.0 255.255.252.0 定义的vpn虚拟ip网段,最好不跟192重复,我使用的是10段
push "route 192.168.0.0 255.255.255.0" #推送路由,即这些目的地走VPN,其实好像tun模式这个语句不生效
push "dhcp-option DNS 114.114.114.114"
push "dhcp-option DNS 223.5.5.5"
#client-config-dir ccd
# 重中之重
route 192.168.0.0 255.255.255.0 10.8.0.2 将客户端的ip与服务端内网ip做路由,这个很重要
# 分配固定ip地址段
client-config-dir ccd
route 10.8.0.0 255.255.255.0
#push "redirect-gateway def1 bypass-dhcp"
client-to-client #允许客户端和客户端连接,默认情况下客户端只能与服务器相连接
duplicate-cn #多客户端使用同一个证书
keepalive 10 120
tls-auth ta.key 0 # This file is secret TLS认证密钥 防止DODS等,UDP淹没等恶意gongji,服务器端配置为0 客户端配置为1
cipher AES-256-CBC
comp-lzo #开启vpn连接压缩,如果服务器端开启,客户端也必须开启
;user openvpn
;group openvpn
persist-key
persist-tun
status openvpn-status.log
;log openvpn.log
;log-APPend openvpn.log; 为日志文件设置适当的冗余级别(0~9)。冗余级别越高,输出的信息越详细。
; 0 表示静默运行,只记录致命错误。
; 4 表示合理的常规用法。
; 5 和 6 可以帮助调试连接错误。
; 9 表示极度冗余,输出非常详细的日志信息。
verb 6
explicit-exit-notify 1
更:
防火墙注意端口放行
注意下方两个配置,靠前个是配置动态ip的配置文件,不需要配置client文件,第二个是配置固定ip时所用,同时需要配置client文件。
这边可能受环境影响,所以你们部署时如果出现问题,那就三个一起加上去准好!!!
哈哈哈 ,我也懵,我这边时之前配置半天穿透不成功,加了上面那条语句就好了,结果现在吧client和上面的都注释了,留下面的竟然还可以,你们测试测试吧,可以多交流
下方两种配置文件直接复制即可,之后再根据自己的ip,想设置的ip去修改即可,注意win10开启openvpn服务使用tun还可以,尤其重要的是打开软件必须使用管理员权限,最后如果链接服务端之后,手机链接vpn发现可以连接上,但是不能打开相关端口的网站,以及ping不通服务端vpn ip,不要乱操作,直接重新管理员权限打开,再次重新连接,一次不行,再连接一次,我发现这win10 链接一次 路由写不进去,所以你多试几次,这回再拿手机查看你会发现端口通了,我这边服务都可以访问,就是不知道为什么ping不同服务端内网ip,但是还可以用这个内网ip去访问,哈哈 ,不管了,已经满足我需要了!!!有什么疑问大家尽管交流!!!!!!
################################################# # Sample OpenVPN 2.0 config file for # # open up this port on your firewall. port 27118 # TCP or UDP server? proto tcp # "dev tun" will create a routed IP tunnel, # "dev tap" will create an ethernet tunnel. # the firewall for the TUN/TAP interface. dev tun ca ca.crt cert server.crt key server.key # This file should be kept secret dh dh.pem ifconfig-pool-persist ipp.txt server 10.8.0.0 255.255.252.0 push "route 192.168.0.0 255.255.255.0" # 检查这两个路由有没有成功写入********* 动态ip push "route 10.8.0.0 255.255.255.0" # 检查这两个路由有没有成功写入 push "dhcp-option DNS 114.114.114.114" push "dhcp-option DNS 223.5.5.5" #client-config-dir ccd # 重中之重 #route 192.168.0.0 255.255.255.0 10.8.0.2 # *********静态固定ip #route 192.168.0.0 255.255.255.0 10.8.0.1 # 动态ip路由 另一种方案 注释即可 # 分配固定ip地址段 #client-config-dir ccd #route 10.8.0.0 255.255.255.0 # *********分配ip地址段 #push "redirect-gateway def1 bypass-dhcp" client-to-client duplicate-cn keepalive 10 120 tls-auth ta.key 0 # This file is secret cipher AES-256-CBC comp-lzo ;user openvpn ;group openvpn persist-key persist-tun status openvpn-status.log ;log openvpn.log ;log-append openvpn.log verb 3 explicit-exit-notify 1
################################################# # Sample OpenVPN 2.0 config file for # # open up this port on your firewall. port 27118 # TCP or UDP server? proto tcp # "dev tun" will create a routed IP tunnel, # "dev tap" will create an ethernet tunnel. # the firewall for the TUN/TAP interface. dev tun ca ca.crt cert server.crt key server.key # This file should be kept secret dh dh.pem ifconfig-pool-persist ipp.txt server 10.8.0.0 255.255.252.0 push "route 192.168.0.0 255.255.255.0" # 关键 路由 push "route 10.8.0.0 255.255.255.0" # 关键 push "dhcp-option DNS 114.114.114.114" push "dhcp-option DNS 223.5.5.5" #client-config-dir ccd # 路由 #route 192.168.0.0 255.255.255.0 10.8.0.2 # *********静态固定ip 这两个可以不再需要 #route 192.168.0.0 255.255.255.0 10.8.0.1 # 动态ip路由 这两个可以不再需要 注释即可 # 分配固定ip地址段 client-config-dir ccd # ccd文件夹下/client文件,无后缀名 route 10.8.0.0 255.255.255.0 # *********分配ip地址段 10.8开头 #push "redirect-gateway def1 bypass-dhcp" client-to-client duplicate-cn keepalive 10 120 tls-auth ta.key 0 # This file is secret cipher AES-256-CBC comp-lzo ;user openvpn ;group openvpn persist-key persist-tun status openvpn-status.log ;log openvpn.log ;log-append openvpn.log verb 3 explicit-exit-notify 1
config目录下创建一个ccd文件夹,在文件夹下创建无后缀文件,文件名与客户端证书名一一对应,文件内输入子网段及指定隧道ip如下图所示:
只配置ifconfig即可
在客户端电脑config目录下创建client.ovpn 名字可自定义 以下为参数 client dev tun proto tcp remote 域名或ip 27118 #服务器端IP或者ddns域名 端口 resoLV-retry infinite nobind #不绑定本机发起端口,配置了即使用随机端口作为源端口 ;user nobody ;group nobody persist-key persist-tun cipher AES-256-CBC ;http-proxy-retry # retry on connection failures ;http-proxy [proxy server] [proxy port #] mute-replay-warnings ca ca.crt #配置ca,如果文件和配置文件在同一个目录,则直接写文件名,不在同目录,则对应改掉。 cert client.crt #客户端证书 如上解释 key client.key #如上解释 auth-nocache #;不缓存用户名密码 ;ns-cert-type server tls-auth ta.key 1 ##TLS认证密钥 防止DODS gongji,UDP淹没等恶意gongji,服务器端配置为0 客户端配置为1 remote-cert-tls server comp-lzo verb 3
开启网络共享,保证可使用服务端ip192进行访问,将网络共享至tap虚拟网卡即可,这样就可以使用电脑的内网ip进行访问端口的服务,同时你也可以管理路由器了。
最后要确认ip路由转发是否成功开启,在cmd里执行ipconfig/all命令确认路由转发是否开启,编辑注册表来开启路由转发。客户端就不仅可以使用openvpn-tap的ip地址访问服务器资源,也可以使用物理网卡的ip进行访问。
举例:服务器的本地ip是192.168.0.11,安装openvpn后虚拟tap网卡出来,openvpn的server-ip是10.11.12.0/24,默认服务器openvpn使用10.8.0.1,客户端比如自动分配的是10.8.0.2,那么在客户端可以使用192.168.0.11访问alist,如果不开启路由转发,是不可以使用192.168.0.11访问的,只可以使用10.8.0.1访问
windows默认是没有开启IP转发的,因此需要编辑注册表来开启
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIp\Parameters
选择下面的项目:IPEnableRouter,默认是0,改为1启用,然后重启系统,在ipconfig/all可以看到否变成了是。
客户端所需证书,下列证书都在easy-rsa目录下,将其打包即可,分发到安卓端,安卓app是选中所有的证书进行安装
安卓端可从官网下载。
最后,最关键的一点,运行openvpn使用管理员方式运行,切记。
总结:本次历程是一个菜鸡新手想要搞一搞这方面的内容,所以初步进行了尝试,踩了很多坑,迷迷糊糊,所以记录一下成功过程,有错误的地方还望大佬们指正,谢谢!
部分内容参考来源 : 如果有什么不懂的,可以再去下面各个博客去学习,最后一个收获也很大。
openvpn2.5.x最新版本在windows下部署服务端支持IPV6(仅技术学习记录)_木子燚的技术博客_51CTO博客OpenVPN Windows 平台安装部署教程 - 枫叶落
openvpn:如何实现双网互通_网易订阅
Windows 10 平台搭建 OpenVPN
TAG:极度vpn
标签: 当前位置: 首页 > 问答
相关文章
作为网站门牌号的域名,域名是如何创造的?现在企业网站需要配合域名使用,企业邮箱等等系统也要陪配合域名使用,域名与企业办公息息相关,域名不仅仅指一个网址...
2024-11-18 8
说起建设网站,不得不提的就是网站绑定的域名,域名作为网站的门牌号,不仅仅要代表网站和企业的形象,更加要让访问者用起来方便快捷。小编就教大家如何为网站注...
2024-11-18 6
做一名企业家是多么匆忙啊! 从零开始创业是一件伤脑筋又有挑战性的事情,但同时也是一件非常有益且令人兴奋的事情。当您创立起您自己的事业,您将充满营销、...
2024-11-18 8
其实很多朋友们认为,注册域名的时候就需要选择自己喜欢的域名在进行注册,但是小编表示这样其实是不对的,域名注册则是被分为域名和域名交易平台两个部分,今天...
2024-11-18 6
我们在建造一个网站前,都会首先先思考挑选一个实用、好记的域名。可是实事是当咱们在查询域名时都会发现,有意义的域名,简直都被抢注一空。这时咱们就要改变一...
2024-11-17 7
作为中国最早的域名投资者之一,58同城的创始人姚劲波很早就把赶集网的同音域名ganjinwang.com收归旗下,现在打开该网址,仍然链接到58同城。...
2024-11-17 8
想必每一个做网站的朋友在注册域名的时候都是费尽脑汁的,好不容易想好了一个域名却发现已经被注册了,这个时候有一个批量域名查询工具是不是很方便,今天小编就...
2024-11-17 8