[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 ifuppassword=XXXXXXXXusername=YYYYYYYYddns=ZZZZZZZZZZZ
[ $ACTION = "ifup" -a $INTERFACE = "wan" ] && {
        ifconfig wan >> /tmp/mail.txt
        cat /tmp/mail.txt | ssmtp -v [email protected]com   # mail address
        sleep 60
        cat /tmp/mail.txt | ssmtp -v [email protected]
 } 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的设置就暂时讲到这里了,木有解决问题,好不甘心!!!!

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

---------------------------------------------------------------

预告:在下一节中,我将介绍MySQL数据库的安装与使用。

转载请注明出处: http://www.cnblogs.com/double-win/谢谢!

[Openwrt 项目开发笔记]:DDNS设置(五),布布扣,bubuko.com

时间: 2024-10-03 16:34:53

[Openwrt 项目开发笔记]:DDNS设置(五)的相关文章

[Openwrt 项目开发笔记]:Openwrt必要设置(二)

前面的两篇blog中,我将如何搭建Openwrt的开发.编译.调试以及烧写环境的方法一一列出了.从本文开始, 我将介绍如何一步一步进行Openwrt设置,以满足路由器作为智能家居网关的功能. ok,闲话休提,开始上干货. 一.Openwrt初始配置 1. 密码设置 当我们成功地将Openwrt刷入路由器后,路由器会经过大约4~5分钟的时间重启(以Netgear Wndr3700为例).待路由器启动之后,用一根网线与路由器LAN口直连,并将PC的IP设置到192.168.1.*网段. 提示:不同的

[openwrt 项目开发笔记]: 传送门

“Openwrt 项目开发笔记”系列传送门: [Openwrt 项目开发笔记]:Openwrt平台搭建(一) (2014-07-11 00:11) [Openwrt 项目开发笔记]:Openwrt平台搭建(一)补遗 (2014-07-11 20:32) [Openwrt 项目开发笔记]:Openwrt必要设置(二) (2014-07-13 15:03) [Openwrt 项目开发笔记]:USB挂载& U盘启动(三) (2014-07-13 23:42) [Openwrt 项目开发笔记]:Samb

[Openwrt 项目开发笔记]:Samba服务&vsFTP服务(四)

在上一节中,我们讲述了如何在路由器上挂载U盘,以及如何通过改造U盘提升路由器的存储和数据处理能力.通过增加USB挂载,为我们后续进行智能家居构建提供了保障. 在本节中,我将简单介绍如何在路由器上建立网络文件共享服务. 一.为何要建立文件共享服务: 在智能家居网络中,一个很重要的需求就是安全.当一个智能家居方案部署之后,用户往往最先考虑的也是安全问题.那么怎样进行安全管理呢?一种常用的解决方法是实时的监控传感器以及家电的状态,一旦发生异常,通过邮件.短信甚至打电话的方式通知用户.当用户接收到异常之

【转】【系列】Openwrt 项目开发笔记

这个系列来自隔壁的坛友@Double_win,已自觉主动聚合,看起来很方便. “Openwrt 项目开发笔记”系列传送门: [Openwrt 项目开发笔记]:Openwrt平台搭建(一) (2014-07-11 00:11) [Openwrt 项目开发笔记]:Openwrt平台搭建(一)补遗 (2014-07-11 20:32) [Openwrt 项目开发笔记]:Openwrt必要设置(二) (2014-07-13 15:03) [Openwrt 项目开发笔记]:USB挂载& U盘启动(三) (

[Openwrt 项目开发笔记]:PHP+Nginx安装(七)

在上一节中,我们已经搭建了MySQL数据库了,因此在这一节中,我主要讲解php的安装,以及php的运行环境Nginx的安装.参考(http://www.right.com.cn/forum/thread-89216-1-1.html) 一.PHP安装 1.安装php软件包. opkg updateopkg install php5 php5-mod-apc opkg install php5-mod-gd php5-mod-session opkg install php5-mod-pdo-my

[Openwrt 项目开发笔记]:MySQL配置(六)

在本人的项目中,运行在路由器上的服务器采用Nginx+MySQL+PHP 架构.通常较为常见的web框架为Lamp(Linux+Apache+Mysql+PHP),为何我们选择LNMP呢?我将在后续的几篇文章中给出答案. 首先我们来介绍如何在Openwrt上搭建MySQL数据库. 参考文章:(http://blog.csdn.net/yufei_email/article/details/21845935) 一.安装MySQL数据库(在backfire10.3版本中,package已经包含mys

[Openwrt 项目开发笔记]:USB挂载& U盘启动(三)

在上一篇中,我结合Netgear Wndr3700讲解了如何对Openwrt进行必要的配置.接下来,我们就想要在Openwrt上安装必要的软件了.可是这时候新的问题又来了:当安装一些软件之后,存储空间不足了.这时候该怎么办呢?以4M的Flash为例,当大家讲Openwrt固件刷到自己的路由器后,大家会发现剩余的空间往往只剩下不到2M.当我们需要安装许多Openwrt本身不带的软件时,就会发现如此小的空间实在是太寒酸了.那么,该如何解决这样的问题呢? 一. 添加USB扩展(注:本文默认大家的路由器

[Openwrt 项目开发笔记]:Openwrt平台搭建(一)

最近开始着手进行Openwrt平台的物联网网关设计,思路有些乱,通过笔记的方式进行记录和整理. 声明: 在本文中,有些内容摘自网上,我进行了整合,因此出处不明,在此对原文作者致歉! -----------------------------------------------------(分割线)------------------------------------------------------- 一. 选择Openwrt平台的理由 传统的路由器固件是由官方提供的.这些固件是不开源的,而

iOS项目开发实战——storyboard设置界面技巧与注意事项

在iOS开发中,使用Main.storyboard来设计界面是每一个iOS开发人员需要面对的问题,使用storyboard相比较Android中使用XML来设置布局,有优点也有缺陷,现在我们来谈谈storyboard的设计技巧. (1)直接使用鼠标右键可以直接缩放storyboard的缩放比例.当然你也可以用触摸板使用2根手指缩放. . (2)拖拽控件绑定到代码中,不一定要从设计界面的控件中进行拖拽,也可以直接从左侧的列表中拖拽,这样会更加清晰方便. . (3)如何添加修改超过一屏的控件.我们把