这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 物联网技术 » 【Joytag 学IOT】使用HE.NET的Dynamic DNS &NAT

共7条 1/1 1 跳转至

【Joytag 学IOT】使用HE.NET的Dynamic DNS &NAT

专家
2016-06-11 08:52:57     打赏
简介

原则上,这个应该算纯网络部分,貌似和IOT没啥关联。
但是我计划用放置在家中的香蕉派(Banana PI M2+)来作为IOT系统中的网络服务器,因此如何访问到家中Bananpi M2+就成为一个首先要解决的问题。
而Dynamic DNS 无疑是解决这个问题的最佳方案(至少我这么认为)。
所以,把这部分记录下来,算是我学习IOT的一部分吧。


关于Dynamic DNS

简单说一下我对Dynamic DNS 的理解。

要说Dynamic DNS,就不得不提DNS(域名解析服务);要提DNS,就不得不提域名。
简单的讲,互联网的主机靠IP来区分,要访问一台主机上的服务(HTTP、 FTP、EMAIL、DATABASE等)我们首先要知道对方的IP地址。
但是互联网的主机千千万,抽象的IP地址根本无法记忆,而域名就是给这个地址起一个好记的名字
所以,我们就可以通过www.baidu.com这样的域名来访问到百度,通过www.godpub.com这样的域名来访问到狗趴论坛。

而从域名到IP的过程,就是域名解析,是由域名解析服务器(Name Server)来完成的

而另外一种场景就是分配给主机的IP不时的变化
这时如果使用普通的域名解析服务,我们需要不时的修改解析记录,来将域名指向更新后的IP。
这时会有一些问题存在,比如变化频繁,修改工作量大;变化时机不定,无法确定何时修改。
Dynamic DNS 很好的解决如上问题,它的基本原理就是,当主机关联的IP变化时,自动更新解析记录。

所以,屏蔽掉一些技术细节。
通俗的讲:
  • 互联网上的主机靠IP区分和访问。
  • 域名给IP地址起了个好记的名,从域名到IP的过程就是域名解析。
  • Dynamic DNS自动更新解析记录,适合关联到主机的IP不时变化的场景。


Free DNS service  by he.net

he.net是老牌网络服务商啦,十几年前就使用过他们的域名解析服务。
现在他们的DNS服务支持Dynamic DNS啦。
关于他们的DNS服务以及Dynamic DNS的使用细节,请参考:https://dns.he.net/

使用Dynamic DNS大致需要如下步骤:
  • 将要解析的域名DNS设置为he.net的DNS
  • 在he.net的DNS面板中添加域名
  • 添加对应的解析记录(比如A记录),并选取“Enable entry for dynamic dns”
  • 生成用于DDNS客户端的密码(Generate the key used for dynamic DNS updates)
  • 在主机上使用DDNS client。(设置定时任务)


操作实例

1)将域名DNS设置为he.net的DNS
 

2)在he.net的DNS面板中添加域名
 

3)添加对应的解析记录
 

4)生成用于DDNS client的密码
 

5)设置DDNS client
  1. sudo crontab -e
复制代码 添加:
  1. */5 * * * * curl "https://dyn.dns.he.net/nic/update" -d "hostname=iot.godpub.com" -d "password=XXXXXX" -k

复制代码

设置NAT

对于家庭局域网内的设备而言,都通过一个公网IP(由ISP分配)出去的。
我们上述DDNS设置最终解析到的就是这个公网IP。
通过这个IP是无法直接访问到局域网内的设备的,所以我们需要使用NAT(网络地址转换)来将对应的服务映射到局域网的设备。
比如,将HTTP服务、MQTT Broker服务等映射到我的局域网香蕉派上。
这个很简单的啦,进路由器设置一下就可以啦。这里不多讲啦。


当前战果

经过DDNS以及NAT设置,
并且在我的香蕉派上装了个apache2 web server
详情参考: 【JoyTag M1+学习】M1+ 安装Apache2、PHP5、MYSQL (同样适用于其它香蕉派、树莓派设备)
现在访问http://iot.godpub.com/ 就会打开我香蕉派上的web server 欢迎页面哦
当然,如果您访问不到,可能是我拔电源了


总结

本文简单介绍了域名、DNS、Dynamic DNS的原理。
并已he.net的DNS服务为例,为iot.godpub.com添加了一个Dynamic DNS的A Record。
并通过NAT,将http服务映射到局域网内香蕉派上的80端口。
限于篇幅,对一些技术细节只做通俗的解释,想了解对应知识的,请参阅相应的技术文档。

谨以本文抛砖引玉,希望大家可以尝试在局域网设备上折腾出更多好玩的功能,而不用购买昂贵的云服务或者独立主机哦


助工
2016-06-12 09:12:18     打赏
2楼
不明觉厉

专家
2016-06-12 09:28:01     打赏
3楼
不明觉厉2

专家
2016-06-12 16:49:19     打赏
4楼
不明觉厉3

高工
2016-06-18 11:56:10     打赏
5楼
多分享些,让尔等菜鸟多学习

专家
2016-06-20 12:58:34     打赏
6楼
学习一下,如何域名解析。

专家
2016-06-21 15:06:05     打赏
7楼
学习一下,如何域名解析。

共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]