[Openwrt 项目开发笔记]:DDNS设置(五)

正文:

在上一节中,我主要讲述了如何在Openwrt上安装Samba服务器以及Ftp服务器。在本节中,我将介绍一下,一个比较实用的功能:DDNS。为远程物联网控制打下基础。

题外话:DDNS设置原本是极为简单的。可是由于我的路由所在现实环境的原因,以及我个人能力有限,一直无法达到我预期的目的,真是有点累觉不爱了。

ok,言归正传,开始抛干货!

一、安装DDNS服务

opkg update
opkg install ddns-scripts luci-app-ddns

 

二、注册一个动态域名

关于动态域名服务商,有太多的选择。到底选择哪个,全凭随个人喜好,我就具体不推荐了。在本文中,仅以我个人使用的changeip.com的域名作为说明。changeip的官网如下:

https://www.changeip.com/

 

点击Create Account 进行注册一个账号:

 

点击login,进入如下界面:

 

选择一个free ddns:

选好之后就会进入如下界面:

之后填一下个人信息即可。

 

最后可以通过管理界面,对动态域名进行管理:例如在Home界面下,点击图中“DNS Manager”:

进入管理页面:

 

分别点击下图中的两个连接:

分别可以得到如下结果:

           

三、使用DDNS并设置 

1. 设置/etc/config/ddns

config 'service' 'myddns'
        option 'interface' 'wan'   #选择接口,wan,lan
        option 'check_interval' '10'  #检查ip变动的时间间隔
        option 'check_unit' 'minutes' #检查ip变动的时间单位
        option 'enabled' '1'    #是否启用
        option 'ip_source' 'web'  #ip来源(网络,接口,URL)
        option 'service_name' 'changeip.com' #选择服务商
        option 'domain' 'XXXXXXXXX' # XXXXXXXX动态域名
        option 'username' 'YYYYYY'  # YYYYYY 用户名
        option 'password' 'ZZZZZZ'  # ZZZZZZ 密码
        option 'ip_url' ' http://[USERNAME]:[PASSWORD]@nic.changeip.com/nic/update?u=[USERNAME]&p=[PASSWORD]&cmd=update&hostname=[DOMAIN]&ip=[IP]"'  #IP的更新URL
        option 'force_interval' '2' #强制更新间隔时间
        option 'force_unit' 'minutes' #强制更新间隔时间单位

2. 添加ddns的IP变动的触发事件

进入/etc/hotplug.d/iface/ 增加一个 30-ifup.sh,一旦网络发生变化,检查IP设置

#!/bin/sh
# wan ifup
password=XXXXXXXX
username=YYYYYYYY
ddns=ZZZZZZZZZZZ

[ $ACTION = "ifup" -a $INTERFACE = "wan" ] && {
        ifconfig wan >> /tmp/mail.txt
        cat /tmp/mail.txt | ssmtp -v examples@maildomian.com   # mail address
        sleep 60
        cat /tmp/mail.txt | ssmtp -v examples@maildomian.com
 } wget -q -0- 'http://nic.changeip.com/nic/update?u=$username&p=${password}&hostname=${ddns}&iffline=1' wget -q -0- 'http://ip.changeip.com/'
 

四、遇到的问题及解决方案

1. 我的路由器所在的工作环境:

    a. 最外层上网机: 具备双网卡,外网采用inode拨号,利用网络共享,将Windows网卡设置网络共享,共享给内网网卡。内网网卡没有开启dhcp功能。

    b. 内网使用静态路由,有多台机器通过交换机连接到外层上网机的内网网卡。

    c. 路由器wan连接到交换机的一个口上,使用静态ip。路由器的内网则采用DHCP。

    在设置ddns之后,只能解析到最外层上网机的IP。

   备注,可以申请一个外网拨号接口,路由器可以连接到拨号网口上。

    解决办法:

    方法一:将inode拨号移植到Openwrt上,直接通过inode进行拨号上网。

         在恩山上看到大神有移植过inode的帖子,可惜在我移植的过程中出现好多问题。。

    方法二:设置端口映射。这个方法,我还没有弄清楚。。。。太水了 -.-!!

    如果哪位大神有比较好的方法,欢迎讨论啊~~

 

ok,DDNS的设置就暂时讲到这里了,木有解决问题,好不甘心!!!!

后面如果解决了问题,那么就开个单章将解决方法详细的描述一下。

本文章由作者:佐须之男 整理编辑,原文地址: [Openwrt 项目开发笔记]:DDNS设置(五)
本站的文章和资源来自互联网或者站长的原创,按照 CC BY -NC -SA 3.0 CN协议发布和共享,转载或引用本站文章应遵循相同协议。如果有侵犯版权的资 源请尽快联系站长,我们会在24h内删除有争议的资源。欢迎大家多多交流,期待共同学习进步。

相关推荐