内网穿透 + Sunny-Ngrok + 自定义域名
1、内网穿透
1.1 内网IP:内网IP,过多官方的解释这里不再细说。通俗的说,就是我们分配给自己电脑的一张“身份证”,这个身份证只在我们自己的家中有效,如果出了门,也即经路由器转发后,别人(其它电脑)将无法识别。最直观的例子就是网吧、校园网、企业所单独形成的局域网。如若身处该局域网范围之外,在内网机器上搭建的服务器,外网用户将无法访问。
1.2 外网IP:外网IP,通过与内网IP的比较,自然而然的可以想到它就是Internet国际互联网分配给自己电脑的“身份证”,而这个证件在全球都有效,也即经路由转发后,其他电脑也可以进行正常的访问。举个例子就是当你离开学校的局域网范围之后,仍然可通过浏览器访问该IP地址搭建的服务器。
那么问题来了,如果我们想让外网用户访问我们用内网搭建的服务器,该怎么做呢?
自然而然,我们便需使用到内网穿透,将我们的内网地址转换为外网地址进行传输。
2、Sunny-Ngrok
Sunny-Ngrok是我目前在免费内网穿透工具中体验较好的一款软件,特此我制作一份详细使用教程。
2.1 注册会员:进入Sunny-Ngrok的官网:官网地址 点击右上角注册,进入注册页面。填写相关信息后点击注册,页面自动跳转至登录界面,点击登录即可进入Sunny-Ngrok的首页
2.2 开通隧道:在Sunny-Ngrok首页的左部点击隧道管理,在展开的选项中点击开通隧道。随后在弹出的页面中选择右下最后一个香港Ngrok免费服务器,点击立即购买
2.3:隧道设置:在开通隧道页面选择http服务协议,依次填写服务名称、前置域名以及本地端口信息。确认信息无误后点击确定添加,在弹出的确定信息页面点击确定开通。
附上官方对于各个参数的解释说明:(官方说明文档)
隧道名称:可以随便填写,只是为了使用者在往后之后这个隧道是干什么的
前置域名:服务器免费赠送的域名,请不要带上后缀,如果要sunny.ngrok.cc 只需要填写 sunny 即可 ,千万不要填写成sunny.ngrok.cc否则域名会是sunny.ngrok.cc.ngrok.cc
本地端口:可以为同一个局域网内任意一台机器进行映射,只需要填对ip和端口就行,例如:192.168.1.1:80
http验证用户名:非必填项,在需要的时候填写,否则可以不填
http验证密码:非必填项,在需要的时候填写,否则可以不填
2.4 下载客户端:在隧道创建成功后,可通过查看状态获取当前隧道的活动状态,只有在成功启动Ngrok服务器之后才为在线状态。在此页面下复制隧道id,点击客户端下载,进入下载页面选择对应于自己电脑版本的客户端进行下载
2.5 启动服务:将下载完成的压缩包进行解压得到 sunny.exe 以及 Sunny-Ngrok启动工具.bat 两个文件,点击 Sunny-Ngrok启动工具.bat,在窗口下粘贴之前复制的隧道id,点击回车
2.6 查看效果:Sunny-Ngrok服务启动之后,可看到本地ip地址已经映射在ngrok服务器之下。至此,不论是内网用户还是外网用户,都可通过Sunny-Ngrok分配的域名进行内网服务器的访问
大家应该发现了,由Sunny-Ngrok生成的域名仅有前置域名才可自定义,我们无法完全自定义域名,并且该域名不便于我们记忆。故在此说明一下Sunny-Ngrok的自定义域名方法。
3、自定义域名
3.1 注册域名:如果我们想完全自定义域名,则需在阿里云、腾讯云等网站进行域名的注册与购买。我是在阿里云购买的一年的域名,也不贵,几元钱,但可以供自己随意折腾。这里就不再赘述域名的注册过程了,直接百度进入阿里云或者腾讯云的官方网站就可以进行注册。这里我们进入到阿里云域名解析管理页面
3.2 域名解析:点击操作下的解析设置,即可对域名记录值的进行相关的设置。在此页面下,可看到我已经添加了一条CNAME记录,记录值是Sunny-Ngrok的服务器。如果是第一次打开此页面,则选择添加记录,进行相关参数的设置
3.3 参数设置:记录类型选择CNAME,依次填写主机记录,记录值。其中记录类型和记录值需和图片保存一致,而主机记录可以自定义。点击确定则成功的添加了一条CNAME记录
3.4 设置ngrok:再次打开Sunny-Ngrok后台管理界面,点击隧道管理下的编辑操作
3.5 至关重要的一步:将之前所选的使用前置域名修改为使用自定义域名,需注意自定义域名的填写规则。charontan.top为我注册的域名,而www.为CNAME记录中的主机记录。当然也可填写其他主机记录,只要域名管理中的CNAME记录与ngrok的隧道信息中的自定义域名相对应即可。本地端口填写本机ip地址加:80,点击确定修改(官方操作文档)
3.6 查看效果:从Sunny-Ngrok服务器启动的情况来看,已成功的将本机的内网IP映射到自定义的域名之下。再从cmd的ping命令可看出,自定义的域名映射在了Sunny-Ngrok服务器所在的域名之下。即我们成功的将自己的内网IP地址映射到了公网IP之下。现在无论是局域网用户还是外网用户,都可通过我们自定义的域名访问由内网搭建的服务器了(前提是Ngrok服务器一直处于运行状态)
至此,所有教程都已书写完毕
声明:本教程旨在帮助大家更好的理解内网穿透这一概念以及免费体验内网穿透的乐趣。其中参考了Sunny-Ngrok提供的官方操作手册,做了一些细节的完善与优化,若有不足之处,还请各位海涵。
网友评论