在Win10系统下如何实现内网的穿透

在Win10系统下如何实现内网的穿透,第1张

内网穿透有何用处?

宽带为内网IP的用户即内网用户,以下范围内的IP地址属于内网保留地址,即不是公网IP,而是属于内网IP:

10.0.0.0 - 10.255.255.255;

100.64.0.0 - 100.127.255.255;

172.16.0.0 - 172.31.255.255;

192.168.0.0 - 192.168.255.255。

例如某小区用户均被分配的内网IP,通过一个公共的网关访问外网,小区内每家用户的计算机均可连接外网,但是Internet上的其他用户却无法对内网的计算机发送连接请求,自然也就无法访问内网计算机所搭建的网站,也无法为内网计算机提供仅公网IP才能支持的下载、传输服务,例如BT下载、电驴等。

内网穿透即NAT穿透,通过端口映射将一台主机的内网(LAN)IP地址映射成一个公网(WAN)IP地址,让互联网上的用户可以通过此公网IP地址访问特定的内网主机所提供的网站或者服务器。

内网穿透教程:花生壳DDNS端口映射

1、花生壳客户端,没有护照的用户需要先注册花生壳护照。

2、在Windows10系统内安装花生壳,完成后登陆。

3、点击客户端内网映射,则跳转至花生壳管理的内网映射web页面,可以直接在网页中对域名进行添加映射,即使不在服务器现场,也可以远程管理。

下面介绍内网映射添加步骤:

1、点击【内网映射】——【添加映射】。

2、在添加映射页面,填写好“应用名称”,“内网服务器IP”,“内网服务端口”以及选择“外网端口”形式,点击确定即可。

3、添加成功后,会生成一个外网访问地址。

4、在浏览器地址栏输入外网访问地址,即可成功访问内网主机搭建的服务和应用。

5、搞定端口映射之后,内网用户也能同公网用户一样随心所欲使用强大的互联网服务了。除了搭建网站之外,完成内网穿透的用户还可以轻松实现远程桌面的搭建和访问、远程监控摄像头、自己开服玩游戏、搭建各类办公系统等等。

购买了NAS当然不希望只能局域网访问, 由于目前ipv4地址的紧张, 已经不太可能分配给家庭用户公网ipv4地址了. 目前外网直接访问NAS的办法有两个:

似乎ipv6还是可以申请的. 基本上打电话给客服就说需要ipv6地址就可以了.

只是这时候为了外网访问NAS, 路由器一定要支持ipv6(买前先问好).

其次, 200~300的路由器基本不支持ipv6防火墙设置(500+的软路由可以), 从而需要更改光猫的上网模式为桥接(电信的话, 自己google光猫的型号, 基本都可以得到超级管理员, 然后参考网上教程设置即可), 由路由器拨号上网.

路由器现在有两个拨号, 一个ipv4, 一个ipv6. 但我们其实只有一条线路, 从而需要勾选ipv6的拨号方式为复用ipv4线路.

我用的是水星的X32G路由器, 感觉比较方便.

成功后我们会在NAS的网络里面看到两个ipv6地址, 你可以用手机的移动数据网络访问NAS的ipv6地址: http://[ipv6 addr]:5000

NAS正版的话自带一个内网穿透, 就是你设置的用户名xxx.quickconnect.cn这个内网穿透基本上能够满足日常需要. 但很明显, 不支持自建服务(例如视频Jellyfin等docker应用的穿透).

比较好的穿透方式是frp, 可以用 公共的服务器 (自建也很方便), 按照教程配置即可.

这里, 我给出frp的另一个应用, 远程控制NAS所在局域网路由器, 用到了frp的http代理服务.

fprs配置自己参考网络上的教程, 可以采用公共的. frpc配置如下

这样, 我们就可以通过设置浏览器的代理地址为 http://frps.frp.fun:10800 来通过代理访问NAS局域网了, 例如访问路由器地址 http://192.168.1.1 其实访问的是NAS所在局域网的路由器.

标签(空格分隔): 开发工具 前端

[toc]

前端开发,有时候需要给外网的测试人员浏览,此时若没有专门的测试服务器,那么使用内网穿透就是最简便通用的方式了。一个常见的选择就是 ngrok 。 也有 frp

ngrok官网

本地客户端跑起,搭建内网端口隧道给外网服务器,用户访问外网服务器对应地址,自动映射到本地对应地址。

这个方案很简单,也很慢,超慢,无法忍受的慢。

官网教程参看 https://github.com/inconshreveable/ngrok/blob/master/docs/SELFHOSTING.md

从零搭建参看, https://morongs.github.io/2016/12/28/dajian-ngrok/

已经写好的搭建脚本,参看 https://www.jianshu.com/p/b81bb6a3c0b9

如果脚本安装失败,可能是有些依赖没有,例如 apt-get

如果脚本失败,可能是依赖没装好,一般就是 go 没装,试下下面

安装 go

如果没有 apt-get yum,使用下面

按教程的做法是这样的

开启服务后,服务端报错 Failed to read message: remote error: bad certificate , 客户端端报错 x509: cannot validate certificate for xx.xx.xx.xx because it doesn't contain any IP SANs

搜索客户端报错,按 此文解决 ,在最后一句生成证书的命令前加上以下命令,就解决了

ngrok 客户端会自动生成一个随机子域名或者用户自定义一个,总之无论如何都会有一个域名,这就会导致 ip 域名无效, 例如 http://92832de0.1.1.1.1 ->localhost:80 , 解决办法就是改源码,去掉随机生成的 subdomain

删掉 %x. rand.Int31() , 以及该文件第一行引入的 math/rand ,重新编译出服务端与客户端即可。这样不加 -subdomain 选项就不会有子域名


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/639472.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-20
下一篇2023-07-20

发表评论

登录后才能评论

评论列表(0条)

    保存