Loading... > 硬件:BPI-M1[forum](https://forum.banana-pi.org.cn/c/bpim1) > 软件:Ubuntu14.04[下载地址](http://www.banana-pi.org.cn/m1-download.html) > 其他:动态公网IP,端口转发 <!--more--> ## 一、转入域名管理 首先,需要先去[HE DNS]( https://dns.he.net)上面去注册个账户,这个服务商提供免费好用的DDNS服务,当然把域名日常管理都转到这里,也是OK的,除了首页及其简陋以外,还是非常好用的。 然后添加你购买的域名(add a new domain)到 he.net 里面。再然后,到你的域名供应商(我的是 name.com)处,把你的域名的 name severs(NS 或者叫域名服务器)全部修改成 he的域名服务器。(第二次进去就找不到了,不想吐槽he的官网了) ns1.he.net ns2.he.net ns3.he.net ns4.he.net ns5.he.net 这样你的域名就能被 he 的 dns 解析了。 做完以上步骤,就可以开始 DDNS 的设置。接下来坑不少,多亏了[二叔科技群][1]里的大佬们热心地手把手教我才能完成。 这里也提供一下官方给的介绍页面,[https://dns.he.net/docs.html](https://dns.he.net/docs.html),也是简陋风。 ## 二、DDNS介绍与首次配置 - 开始之前先说说 HE DNS 的动态更新地址的流程: 第一次,需要先登录 HE DNS 的网站,生成或者设置一个密匙。然后就可以使用 HE DNS 提供的 API 使用你喜欢的方式之一(直接访问,post,get都可以,请参照上面的文档)上传或者让他自动识别你的ip即可。然后把这个 API 放入树莓派的定时任务,crontab 里面,让它每隔5分钟,调用一次 API 即可实现 DDNS。再简单点说,API 就是个 url, 相当于让树莓派每隔5分钟访问一次这个地址,服务器便会自动记录下你的新IP。 登录之后,找到`NEW A`点击它, - `NAME`栏填入要解析的域名,可以是顶级域名,也可是子域名,例如我的home.yelvlab.cn,填入即可。 - `IPv4 Address`栏,如果使用DDNS那么,这里随便填,等一会是要自动更新的,如果你有固定IP的服务器,那么直接填入IP地址即可, - `TTL`栏,一般选五分钟,因为后面我们同步IP的时间间隔也是五分钟,这样能尽可能确保因为IP是动态的而没有即使更新记录造成的访问问题。 - `Eanble entry dynamic dns`表示允许动态DNS,是所有的关键,必须勾选。 然后`sumbit`就可以了。 在刚才添加的那条`A记录`的后面有一个循环的小标志,如果没有,就是你上面没有勾选启动动态DNS,回去勾选,有的话点它,接下来就是生成我们身份认证的KEY了。 - `generate a key`点击它生成一个KEY,然后把它复制出来,千万要复制对,不要错,不然还要回来重复这里的。 - `sumbit`只有提交了,才有用,不然你去调用API也没用的。[API文档](https://dns.he.net/docs.html) 然后,就是去你局域网下面的BPI-Board(推荐) or Linux PC 去执行下面的一条指令,当然,执行之前,你需要进行一定的更改,来表明你的身份 curl -4 http://home.yelvlab.cn:[KEY]@dyn.dns.he.net/nic/update?hostname=home.yelvlab.cn - 首先,你需要把所有的home.yelvlab.cn换成你自己的域名,然后把你刚才复制下来的KEY提管到[KEY]位置,然后再去执行。 结果: - 提示没有curl,安装一下就好`sudo apt-get install curl`. - 提示badauth,一定是你的API指令有问题,请仔细检查,或者你的KEY没有提交,一般可以回去再获取一个然后重试。 - 返回修改成功,或者没有更改,并且还有你的IP,那么恭喜,修改成功了。 上面就是整个自动同步IP的过程了,如果一直需要手动操作,那么简直zz一样,下面我们让他定时自动执行。 ## 三、自动化执行 crontab -e 这就是我们需要用到的东西,第一次打开,会让你选择使用什么文本编辑器,我是炒鸡linux新手只会 nano。打开后,按照格式把你的 API 填进去 #for he dns to update ip */5 * * * * curl -4 http://home.yelvlab.cn:[KEY]@dyn.dns.he.net/nic/update?hostname=home.yelvlab.cn /5 代表每五分钟更新一次,详细的设置,请自行百度 crontab 的用法。保存退出后,这个服务就自动运行了。 不出意外的话,你的 DDNS 设置完成了! 你可以这么测试,回到 dns.he.net, 手动设置一下 A 的IP到一个不知名的地方,坐等五分钟,看看是否能变回来。。。。 ## References: 阿嘉博客:[在Raspberry PI 3 使用 HE DNS 的免费动态域名服务](http://aircheese.me/2016/rbp-he-dns.html) [1]: https://yelvlab.cn/%E4%BA%8C%E5%8F%94%E7%A7%91%E6%8A%80.html Last modification:March 26, 2019 © Allow specification reprint Like 0 If you think my article is useful to you, please feel free to appreciate