背景说明

        想用zerotier实现内网穿透及访问异地互联网,但是网上服务端都是基于linux系统的nat转发实现,现在环境并没有linux服务器,也不想安装linux虚拟机,故基于openwrt软路由实现(也是虚拟机,占用资源少)。折腾了几天,记录一下备用。

1.相关环境

  1. 客户端:win10专业版
  2. 服务端:win10家庭版
  3. hyper-v:10.0
  4. openwrt:21.02.1 
  5. zerotier:1.8.1

2.安装配置

    1.启用hyper-v

        想安装虚拟机的win10为家庭版,没办法直接启用虚拟机,参考网上文章通过脚本手动打开了hyper虚拟机,不需要升级win10为高级版本了。具体参考网站:Win10家庭版中使用Hyper-V - 知乎icon-default.png?t=L9C2https://zhuanlan.zhihu.com/p/51939654注意:安装完之后还需要在windows功能中打开虚拟机监控平台与虚拟机平台两项,如下图,以及在bios中打开vt(此处具体操作根据电脑型号自行百度)

    2.建立openwrt虚拟机

        1.下载openwrt镜像

 参考地址:win10通过Hyper-v虚拟机安装Openwrthttps://www.ccnm.cc/archives/1189/2020/12/icon-default.png?t=L9C2https://www.ccnm.cc/archives/1189/2020/12/

        我本人用的官网下载的镜像x86 64下的efi-img,如下图所示,其他改过的镜像不知道会不会有问题:官网下载地址

        自行根据自己版本下载对应的就行了

 

2.下载StarWind V2V Image Converter软件,把镜像转换成win10虚拟机识别的格式vhdx虚拟硬盘文件

3.创建虚拟机

参照网站创建虚拟机,这里并不需要再重新创建新的虚拟交换机,直接使用自带的Default Switch就可以,其它不再详细说明。

4.启动虚拟机

直接右键启动虚拟机就可以,然后右键连接,进入虚拟机,把/etc/config/network下的lan修改为dhcp,其它网关等选项可以删掉,如下图

然后重启虚拟机。启动完之后通过ifconfig查看是否自动获取了ip。并执行ping www.baidu.com来验证是否可以上网,同时可以ping一下局域网里其它服务器的ip是否可以。都可以则虚拟机创建启动完成。

    3.注册安装zerotier

           1.zerotier注册及安装

               注册及创建等自行百度

            2.客户端安装zerotier并加入网络,然后鉴权

            注:1.win10安装zerotier之后需要开启路由转发功能,可以通过route -print -4命令查看路由是否转发成功。

                2.win7等客户端可以在官网的下载页面往下拉,选择早期版本安装

 

 

            3.服务端(上面的虚拟机)安装openwrt并加入网络,鉴权

参考文章:OpenWRT安装Zerotiericon-default.png?t=L9C2https://www.jianshu.com/p/3b4e45add41f

zerotier的网络配置及客户端ip转发生效的结果,见下图

     4.配置openwrt路由进行nat转发

此处卡了很久,网站上都是写了创建接口,防火墙,然后配置防火墙进行转发,但是我这里一直不好用。记录下我的操作

1、2、进入在openwrt管理页面,在网络-接口,创建一个接口,名称随便写,我这里用的zerotier,设备选择安装完zerotier之后自动创建的那个,如下图。创建接口

 

 2、创建完成之后编辑此接口,在dhcp标签卡下,点击创建dhcp规则,之后会变成如下图这样。这步很重要,我测试的时候不创建dhcp规则 之后的转发都不生效,不知道为什么。保存。之后点击保存并应用。

3、进去网络-防火墙下,修改成如下配置。红框中为需要修改的地方,如果默认这样就不用改了,其它都是默认的,并没有改动。

 

 在此页面继续打开NAT RULES标签卡,点击新增,名称随便写,outboundzone选lan,默认是lan就不用动了,Action选择masquerade,其它默认不用改。 如下图。保存。点击保存并应用

 

最后点击 系统-重启 重启下路由器。就可以了。

你在客户端就可以直接访问你设置了转发之后所有局域网可以访问的ip了。如我这里配置的10.174.236.xxx。

需要访问此网络的新用户可以直接安装zerotier客户端然后加入此网络,本机打开路由转发功能,不需要进行其它操作就可以直接访问了。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐