利用NAS免费部署动态解析实现内网穿透

news2024/11/25 1:01:27

想要从外网访问家中的NAS等设备,一般来说我们需要知道家中路由器的公网IP。

现在固定的公网IP基本上很难免费申请到了,但是一般来说运营商可以免费提供一个动态变化的公网IP:当路由设备重启时,运营商会给你重新分配一个新的IP地址。那么问题就来了,当遇到家中停电、路由设备重启等情况时,如果我是使用IP地址来访问家中设备,那么在这种情况下我需要先搞清楚运营商给我分配的新的IP地址是多少,然后使用新的IP地址才能继续访问;如果我是用域名来访问家中设备并且使用传统的DNS解析方式来对域名指定IP地址,我就需要在域名解析服务商那里修改配置并将域名解析到新的IP地址,才能继续使用域名访问家中的设备。

那么有没有办法把这个过程自动化呢?答案就是使用动态解析。目前提供动态解析服务的平台有花生壳、公云等,我们需要在这些平台购买一级或二级域名,才能享受平台提供的动态解析服务。然而相对来说,这种方式并不够经济实惠。这些网站售卖的域名明显比别的一些平台贵,续费的价格也要高出其他平台一截。

如果我们已经有了一台支持Docker的NAS主机,那么我们就可以通过更经济的方式来解决这一问题。下面我就以绿联DX4600为例,来示范一下如何完成实惠版的动态解析。

一、Docker安装DDNS-GO

打开Docker服务,进入镜像管理,点击镜像仓库,搜索ddns-go。

下载完成后,点击本地镜像,找到刚才下载的镜像。点击创建容器。

按如下步骤进行配置。

提前在NAS中创建好DDNS的目录,用于保存DDNS-GO的配置信息。这样可以避免在重启服务后配置丢失。

这里本地端口可以自己按照喜好或者实际的端口占用情况自行调整,没有特殊需求的话不用特意修改。

创建后会自动启动容器。

二、配置路由器端口转发

为了能够外网访问到我们的NAS设备,我们还需要在路由器上配置端口转发。比如我们想要通过路由器的9876端口访问DDNS-GO的默认配置页面,我们需要配置将访问路由器9876端口的所有请求,转发到NAS设备的9876端口。以小米路由器为例,操作步骤如下:

  • 访问路由器管理后台:192.168.31.1

  • 登陆后进入高级设置,点击端口转发

  • 点击添加规则,按图示进行配置。其中外部端口指的是路由器的端口,内部端口指的是我们的NAS主机的端口。这里192.168.31.46是我的NAS设备的内网IP。

    • 这里补充一点,为了确保端口转发不会失效,最好将我们的NAS设备的内网IP配置为静态IP。这一步骤比较简单,不清楚的可以百度一下。
  • 添加之后,我们就可以通过家中路由器IP:外部端口,来直接访问我们的DDNS-GO服务了。

三、申请域名和密钥信息

以DNSPod为例,我们进入DNSPod官网并登陆,选购心仪的域名(这里没什么好讲的,但凡卖东西的,基本上不会让你不知道怎么买)。

接下来申请域名和秘钥,可以参考如下流程:

  • 点击右上角头像
  • 点击API秘钥
  • 点击DNSPod Token
  • 点击创建密钥
  • 记住创建的密钥的ID和Token信息,后边要用。一定要保存好,因为关掉这个页面以后就再也查不了我们的Token了。

四、DDNS-GO配置

在内网环境中,我们可以直接访问NAS所在IP+上一步我们配置的本地端口,进入DDNS-GO的网页配置页面。如果是外网环境,且我们已经配置好了端口转发,那么我们可以通过路由器IP+外网端口来访问DDNS-GO的配置页面。

  • 点击Dnspod(腾讯云)
  • 填入刚才我们保存好的ID和Token
  • 点击启用IPv4(IPv6可选)
  • 在其他配置中,配置登陆用户名和登录密码,并取消禁止公网访问(这样我们以后可以在外网调整我们的配置)
  • 点击Save

五、检验配置

这时,我们在DNSPod的后台,应该就可以看到多了两条A类解析记录,指向了我们的xxxx.com和www.xxxx.com域名。

那么,我们就可以直接通过域名来访问我们家中的设备了。比如我们刚刚部署的DDNS-GO服务,我们就可以通过访问www.xxxx.com地址来进行外网访问。其他服务也类似,记得要在路由器上配置好端口转发哦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/346354.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PHP加载3D模型【WebGL】

这是另一篇关于如何使用 PHP加载 3D 模型的文章。 在这里,我使用 Laravel 作为后端及其存储。 我在前端使用 Three.Js 库来渲染和显示 3D 模型。 我将向您展示如何上传 3D 模型以及如何从 Laravel 存储加载 3D 模型。 请仔细完成以下步骤。 大家可以在评论区提出任何…

8Manage PPM项目管理系统独特的功能:项目完整性保护

项目有其内在复杂性(项目管理的科学部分),这种复杂性可以进行划分和克服。项目也有人为的或偶然的复杂性(项目管理的艺术部分),这种复杂性无法进行划分和克服。偶然的高复杂性会影响并使内在复杂性难以管理…

【系统架构设计师】计算机组成与体系结构 ① ( 计算机组成 | CPU | 存储器 | 总线 | IO 外设 | CPU 组成 | 运算器 | 控制器 )

文章目录一、计算机组成与体系结构二、计算机组成结构三、CPU 组成1、运算器2、控制器一、计算机组成与体系结构 计算机组成与体系结构 对应 大学的 计算机组成原理 课程 , 主要分为 : 计算机组成体系结构划分 两大知识板块 ; 在架构师考试时 , 平均分值是 3 分 ; 计算机组成…

三相可控全桥整流与DC Buck变换电路设计仿真问题汇总

目 录 问题 一、开关管没有打开的情况下,DC Buck输出负电压? 二、问题分析 1.输出端存在与母线电压反相的电压,因此可以确定为差模感应电压,如果输出端与母线端产生的是大小相等,方向相同的同相电压,则为共…

大数据框架之Hadoop:HDFS(六)DataNode(面试开发重点)

6.1DataNode工作机制 DataNode工作机制,如下图所示。 1)一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳…

ROS笔记(4)——发布者Publisher与订阅者Subscribe的编程实现

发布者 以小海龟的话题消息为例,编程实现发布者通过/turtle1/cmd_vel 话题向 turtlesim节点发送消息,流程如图 步骤一 创建功能包(工作空间为~/catkin_ws/src) $ cd ~/catkin_ws/src $ catkin_create_pkg learning_topic roscpp rospy s…

FLStudio水果最新版本V21支持中文语言

FL Studio简称FL,全称:Fruity Loops Studio习惯叫它水果。软件现有版本是FLStudio21,已全面升级支持简体中文语言界面 。FL Studio 能让你的计算机就像是全功能的录音室一样,完成编曲、剪辑、录音、混音等工作,帮助爱好…

2023大厂高频软件测试面试真题(附答案)

一、接口测试面试题:1.接口测试是怎么做的,如何分析数据?接口测试实际跟一般测试不同就是测试用例的设计部分。获取接口规范。设计接口测试功能用例(主要从用户角度出发看接口能否实现业务需求,用例设计就是黑盒用例那…

2022财年净新增1159家门店,百胜中国门店高速扩张背后有何阳谋?

中国最大餐饮企业百胜中国控股有限公司(下称“百胜中国”),2月8日发布了2022年度第四季度及全年未经审核的财务业绩。 从财报数据来看,这家拥有肯德基、必胜客、黄记煌等诸多餐饮品牌的巨头,已经顺利渡过了疫情笼罩下…

计算机网络(第7版)第五章(物理层)知识点整理

计算机网络 参考书目:《计算机网络(第7版)》:谢希仁——电子工业出版社 《精通Windows Sockets网络开发--基于Visual C实现》:孙海民——人民邮电出版社 第五章:物理层计算机网络一、基本概念二、传输媒体…

和数集团打造《神念无界:源起山海》,诠释链游领域创新与责任

首先,根据网上资料显示,一部《传奇》,二十年热血依旧。 《传奇》所缔造的成绩,承载的是多少人的青春回忆,《传奇》无疑已经在游戏史上写下了浓墨重彩的一笔。 相比《传奇》及背后的研发运营公司娱美德名声大噪&#x…

uniapp上高德(百度)地图API的使用(APP安卓)

前言由于在app中没有document,window等对象,所以使用在pc端传统方法引入的方式,将会发现无法引用成功,会出现白屏现象。目前有两种解决方式:使用uniapp的web-view方式(百度地图)使用renderjs来调用document…

【51媒体网】媒体邀约行业诞生及其前景预测

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。一,媒体邀约行业的诞生媒体邀约行业是随着现代社会媒体的普及而逐渐形成的。随着互联网和社交媒体的快速发展,媒体作为信息传播的重要渠道之一,越来越成…

PPP协议实验及配置

PPP协议实验拓扑图PPP认证配置PAP认证CHAP认证接口地址不在一个网段?地址自动协商通过IPCP方式获取到默认路由拓扑图 首先在设备上增添两个Serial接口: PPP认证配置 PAP认证 AR1作为认证方,AR2作为被认证方: AR1&#xff1a…

Flask-SQLAlchemy的安装使用 一对多 多对多join查询

Flask-SQLAlchemy安装及设置 SQLALchemy 实际上是对数据库的抽象,让开发者不用直接和 SQL 语句打交道,而是通过 Python 对象来操作数据库,在舍弃一些性能开销的同时,换来的是开发效率的较大提升SQLAlchemy是一个关系型数据库框架…

yaml配置文件

最近在写代码,发现随着网络的增加,代码变得越来越冗余,所以就想着写一个网络的配置文件,把网络的配置放到一个文件中,而不再主函数中,这样代码开起来就好看了,调试的时候也方便了。之前写过一篇…

rollback-only异常令我对事务有了新的认识

背景 环境 相关环境配置: SpringBootPostGreSQL Spring Data JPA 问题 两个使用 Transaction 注解的 ServiceA 和 ServiceB,在 A 中引入了 B 的方法用于更新数据 ,当 A 中捕捉到 B 中有异常时,回滚动作正常执行,但…

大数据01-Hadoop3.3.1伪分布式安装

目录Hadoop简介特性先决环境配置下载地址安装VMware创建虚拟机安装VMware Tools共享文件夹安装JavaSSH登录权限设置Hadoop伪分布式安装安装单机版HadoopHadoop伪分布式安装Hadoop WebUI管理界面测试HDFS集群以及MapReduce任务程序学习参考Hadoop 简介 Hadoop是Apache软件基金会…

【软件测试】资深8年测试,总结的测试经验。职场如战场......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 精力有限&#xff0…

[CVPR‘22] EG3D: Efficient Geometry-aware 3D Generative Adversarial Networks

paper: https://nvlabs.github.io/eg3d/media/eg3d.pdfproject: EG3D: Efficient Geometry-aware 3D GANscode: GitHub - NVlabs/eg3d总结: 本文提出一种hybrid explicit-implicit 3D representation: tri-plane hybrid 3D representation,该方法不仅有…