[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html

正文:

在上一节中,我主要讲述了如何在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
cat /tmp/mail.txt | ssmtp -v examples@maildomian.com
 } wget -q -- 'http://nic.changeip.com/nic/update?u=$username&p=${password}&hostname=${ddns}&iffline=1' wget -q -- '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设置(五)的更多相关文章

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

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 前面的两篇blog中,我将如何搭建Openwrt ...

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

    “Openwrt 项目开发笔记”系列传送门: [Openwrt 项目开发笔记]:Openwrt平台搭建(一) (2014-07-11 00:11) [Openwrt 项目开发笔记]:Openwrt平台 ...

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

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在上一节中,我们讲述了如何在路由器上挂载U盘,以 ...

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

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在上一节中,我们已经搭建了MySQL数据库了,因 ...

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

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在本人的项目中,运行在路由器上的服务器采用Ngi ...

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

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 昨晚上熬夜写了[Openwrt项目开发笔记]:O ...

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

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 最近开始着手进行Openwrt平台的物联网网关设 ...

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

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在上一篇中,我结合Netgear Wndr370 ...

  9. Java开发笔记(九十五)NIO配套的文件工具Files

    NIO不但引进了高效的文件通道,而且新增了更加好用的文件工具家族,包括路径组工具Paths.路径工具Path.文件组工具Files.先看路径组工具Paths,该工具提供了静态方法get,输入某个文件的 ...

随机推荐

  1. cin中函数的作用

    cin是istream类的对象,它是从标准输入设备(键盘)获取数据,程序中的变量通过流提取符">>"从流中提取数据.流提取符">>"从流 ...

  2. python的进程间的数据交互

    #先来看下如何实现多进程 # multiprocessing 这个是python的多进程的模块,我们会用到这个模块的很多方法 from multiprocessing import Process i ...

  3. [leetcode]115. Distinct Subsequences 计算不同子序列个数

    Given a string S and a string T, count the number of distinct subsequences of S which equals T. A su ...

  4. MySQL主从复制备份

    前言 数据库实时备份的需求很常见,MySQL本身提供了 Replication 机制,摘译官方介绍如下: MySQL Replication 可以将一个主数据库中的数据同步到一个或多个从数据库中.并且 ...

  5. OpenGLES.Functions.Missing.in.OpenGLES1.x

    转载自: http://maniacdev.com/2009/05/big-list-of-opengl-functions-missing-in-iphone-opengl-es The funct ...

  6. restful发布服务

    概述 REST 从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表示方式.获得这些表徵致使这些应用程序转变了其状态.随着不断获取资源的表示方式,客户端应用 ...

  7. advance shading——菲涅耳现象

    (计算光照的时候,从两点出发考虑,光的传播方向,以及光的在这个方向上的能量.) 光与表面交互的模型包含两类:和物体表面(surface)以及和物体的内部(body).而subsurface指的是在物体 ...

  8. 如何在win 2008 server和win 7上add web site

    在 windows 2008  server 英文版的操作系统上,通过桌面上的 Computer 右键选择 Manage ,打开 Server Manager,选中左侧资源树中的Roles 在上图右侧 ...

  9. 8个设计师必看的免费UI图标设计资源站

    图标是我们日常APP及网页设计过程中必不可少的元素之一,通过小小的图标,可以快速方便的实现视觉引导和功能划分.在创作时,我们需要寻找各种各样的图标来满足自己的设计需求,非常浪费时间和精力.今天,小编给 ...

  10. 645. Set Mismatch

    static int wing=[]() { std::ios::sync_with_stdio(false); cin.tie(NULL); ; }(); class Solution { publ ...