当前位置: 代码网 > 科技>操作系统>Windows > win10openvpn搭建与安卓客户端使用(仅用于内网穿透,不可非法使用)

win10openvpn搭建与安卓客户端使用(仅用于内网穿透,不可非法使用)

2024年07月28日 Windows 我要评论
在有公网动态ip,域名,和端口映射的电脑上进行搭建openvpn服务端,安卓作为客户端

        搭建背景:从网上了解到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

不要在线解压,云盘对相关字眼管控严格,下载到本地解压,合法使用即可。

官网安装包下载地址(各系统版本):

一、服务端部署前准备:

1、打开安装包进行安装:

2、选中第二个,自定义

3、选择全部的服务,都选择为安装很必要,都点一下

4、安装路径更改

选中顶层openvpn

 下方会出现安装路径选择,建议d盘,其他盘也可

安装完成,软件位置d:\openvpn\open\目录

二、ca 服务端证书和密钥 客户端证书和密钥制作

1、进入easyrsa shell模式下

cmd管理员运行,然后进入d:\openvpn\open\easy-rsa目录下运行easyrsa-start.bat 进入easyrsa shell命令模式。

2、修改vars配置文件

复制同目录(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        #生成的服务端和客户端证书有效期

3、初始化和创建ca

3.1 初始化 

    初始化成功后会在easy-rsa目录下新建文件夹kpi。

./easyrsa init-pki      #初始化目录

 3.2 生成ca公共证书
./easyrsa build-ca nopass    #nopass参数为ca不加密码,如果要加密码则去掉nopass

        生成过程中会要求输入证书名称,随意输入即可,本次使用ca作为名称,生成结束后会打印出证书所在目录d:\openvpn\open\easy-rsa\pki\ca.crt。

3.3 生成服务端证书密钥

        输入./easyrsa build-server-full server nopass 生成名称为server的无密码服务端证书,生成后证书文件d:\openvpn\open\easy-rsa\pki\issued文件夹。

3.4 生成客户端证书密钥

        输入./easyrsa build-client-full client nopass生成名称为client的无密码客户端证书,生成后证书在d:\openvpn\open\easy-rsa\pki\issued文件夹。

        后续如果想添加其他客户端,只需双击打开easyrsa-start.bat批处理文件,直接输入./easyrsa build-client-full client2 nopass,client2为自定义客户端名无需做其他操作。

3.5 生成dh密钥交换协议

        输入./easyrsa gen-dh生成dh密钥交换协议文件,生成文件在d:\openvpn\open\easy-rsa\pki目录下

3.6 生成ta.key

        tls认证密钥 为抵抗防御ddos恶意攻击等行为,可生成ta.key ,cmd管理员运行进入到d:\openvpn\open\bin执行

openvpn --genkey --secret "d:\openvpn\open\config\ta.key" #路径自定义

按照上面命令生成的ta.key就在config目录下

三、搭建

在开启端口映射后的windows电脑上搭建,端口是openvpn监听的端口,可在配置文件中修改,本次示范为电脑上搭建。 

1、修改服务端配置文件

将生成的ca.crt、dh.pem、server.crt、server.key ta.key 具体文件名以自己定义为准

服务端配置文件模板为server.ovpn ,在d:\openvpn\open\sample-config目录下。复制server.ovpn文件至d:\openvpn\open\config目录下,用windows自带的记事本打开修改为如下配置:

相关参数解释: 



1.1动态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

1.2 静态指定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" # 关键 路由
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

2、ccd目录下client配置

config目录下创建一个ccd文件夹,在文件夹下创建无后缀文件,文件名与客户端证书名一一对应,文件内输入子网段及指定隧道ip如下图所示: 

只配置ifconfig即可

3、客户端配置

在客户端电脑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

4、开启网络共享

开启网络共享,保证可使用服务端ip192进行访问,将网络共享至tap虚拟网卡即可,这样就可以使用电脑的内网ip进行访问端口的服务,同时你也可以管理路由器了。

windows默认是没有开启ip转发的,因此需要编辑注册表来开启

hkey_local_machine\system\currentcontrolset\services\tcpip\parameters

选择下面的项目:ipenablerouter,默认是0,改为1启用,然后重启系统,在ipconfig/all可以看到否变成了是。

客户端所需证书,下列证书都在easy-rsa目录下,将其打包即可,分发到安卓端,安卓app是选中所有的证书进行安装

 安卓端可从官网下载。

最后,最关键的一点,运行openvpn使用管理员方式运行,切记。

部分内容参考来源 : 如果有什么不懂的,可以再去下面各个博客去学习,最后一个收获也很大。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com