动态域名服务 DDNS访问服务器的方法

描述

前面的笔记《如何像访问百度一样访问家里的服务器?(三)》已经通过公网 IP + 桥接,完成了基本功能,已经可以通过公网 IP 在全国各地访问家里的服务器了。

但是有个麻烦的地方是,虽然运营商给我的是公网 IP,但却是动态的,两三天就更换一次,因此我们需要一种服务,实时告诉我们家里宽带的当前 IP 是多少才能访问。

我们可以让家里的服务器主动发邮件的方式告诉我们当前的 IP,但是树莓派操作了一番,还挺麻烦的,没成功,因此我们可以借由第三方免费的 DDNS 服务实时更新 IP。这样我们可以直接通过固定域名访问家里的服务器,我们只要记住域名即可。

手机注册好之后,你就可以申请一个免费域名了。

服务器

可以看到我已经新建了一个域名,如 embedded_osprey.f3322.net,前面的 embedded_osprey 主机名可以自己设定,后面的 .f3322.net 是固定的,毕竟用的是别人的免费服务。

现在我们只是有个域名,但是并没有告诉它这个域名指向的地址是多少,因此我们需要一个客户端告诉公云的服务器我们现在的 IP。

服务器

目前客户端只支持 window,当然Linux 的话不需要客户端,直接用命令即可(需安装 lynx,一般都有)。

服务器

我使用的是树莓派,因此直接使用命令行形式即可。

本来只要执行一次命令即可上传 IP,但是因为我们的 IP 是动态的,因此我们需要定时执行这条命令,让他更新当前公网 IP。

有点类似定时发邮件告诉 公云 服务器自己的 IP,以便更新 IP。

这里我们可以使用 crontab 实现定时功能。

首先写一个非常简单的更新脚本 update_ddns.sh(这里根据需要填写公云网站的用户名和密码,自定义域名等信息,如上图显示):

#!/bin/bash
ipaddr=`lynx -mime_header -auth=username:password "http://members.3322.net/dyndns/update?system=dyndns&hostname=xxxx.f3322.net" | tail  -n 1 | awk '{print $2}'`


date=`date "+%y-%m-%d %H:%M"`
echo $date $ipaddr

将脚本存放到合适位置,如 /usr/local/bin/,并给脚本可执行权限:

sudo chmod +x /usr/local/bin/update_ddns.sh

现在可以尝试一下执行脚本,正常情况下,应该能输出当前公网 IP,可以对比一下 https://www.ip138.com/ 的 ip 查询结果 。

服务器

正常命令执行结果如下:

服务器

确认脚本工作无误后,即可加入定时器中定时执行(可以使用 nano 编辑器,操作更简单),如图:

服务器

*/10 *  * * *   root    /usr/local/bin/update_ddns.sh

这里我们定时 10 分钟更新一次。

总结下来就是,树莓派定时执行登录公云服务器并更新域名 IP 的任务,这样公云的服务器就一直更新着我们最新的 IP 地址,当我们使用域名登录时,会查询到公云的服务器,从而就可以知道最新的 IP,最终登录我们家里的服务器树莓派了。

我们可以使用如下方式查询域名所所对应的 IP 是否正常:

服务器

当我们通过 nslookup 查询设定域名的 IP 地址,和家里的宽带IP是一致的话,证明我们的域名成功了。

此时我们可以在全国任何一个地方通过域名直接访问服务器了。类似访问百度一样,YYDS!!

大家可以尝试使用浏览器访问上面网页,看看是否能访问鱼鹰搭建的简单网页(大佬轻踩,不要攻击咱的服务器哈,不值得)

服务器

注意事项

1、因为我们需要登录公云服务器更新我们的宽带 IP,因此不要轻易更换密码(因为更换了密码,树莓派无法登录公云,也就意味着无法更新 IP,当你使用域名登录时,就无法通过公云查询到 IP 了)

2、因为我们对公云服务器非常依赖,万一公云服务器出现问题,那我们自己的服务器可能就登录不了,因此需要有备选方案。

1)通过邮件之类的方式在 IP 更新后主动将最新 IP 发到我们的邮箱,这样我们可以在域名访问出现问题的情况下,仍然可以通过 IP 访问。

2)使用可以远程查看路由器 IP 的路由器。比如 tp-link 手机客户端,可以随时在手机查看当前的路由器 IP 地址,相当方便。

3、注意更换 SSH 常用登录端口 22 为其他端口号,防止被黑客暴力破解。更保险的方式是,关闭 ssh 密码登录方式,只能通过私钥方式登录,防止被扫描端口号,从而被暴力破解。可以参考连接:https://zhuanlan.zhihu.com/p/89872671

到此,个人服务器算是搭建好了,目前鱼鹰主要当云盘使用,后期可能会为其他联网设备做内网穿透服务,或者搭建调试日志服务器,亦或者个人网页等等,后期有时间也可能会继续更新这个系列,欢迎继续关注。

总之,个人服务器,YYDS!!!

编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分