[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,lanoption '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的更新URLoption '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.txtcat /tmp/mail.txt | ssmtp -v examples@maildomian.com   # mail addresssleep 60cat /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的设置就暂时讲到这里了,木有解决问题,好不甘心!!!!

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

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

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

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

转载于:https://www.cnblogs.com/double-win/p/3860910.html

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

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

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

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

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

  3. 京东投票项目开发笔记

    京东投票项目开发笔记 打开项目 $yarn install / $ npm install: 跑环境(把项目依赖的插件进行安装) $node admin.js: 启服务(把自己的计算机作为服务器,创建 ...

  4. 尚硅谷前端项目开发笔记

    尚硅谷前端项目开发笔记 B站视频直达,这个项目亮点在于所有 API 请求都并非在组件内编写,而是在组件内使用this.$store.dispatch() 派发任务,再由 Vuex(actions.mu ...

  5. 京东抽奖项目开发笔记

    京东抽奖项目开发笔记 前言: 这是一个独立项目,这个项目会由我们四个人来一起完成,所以首先就要分工合作,我是写前端的,所以我会先把基本的页面写出来 1.注册页 这是注册页的代码 <!DOCTYP ...

  6. Android开发笔记(九十五)自定义Drawable

    Drawable Bitmap是Android对图像的定义描述,而Drawable则是对图像的展现描述,在View视图中显示图像都是通过Drawable来实现的.其中有关Bitmap的介绍参见< ...

  7. Vue PC商城项目开发笔记与问题汇总

    Vue PC商城项目开发笔记与问题汇总 负责PC端商城项目,这也是人生第一个真正的项目.刚做了一天,就遇到不少问题,在这里列出自己的问题与解决办法,与大家交流,提升自己,希望以后不会掉进同一个坑里. ...

  8. 天天生鲜项目开发笔记

    天天生鲜项目开发笔记 说在前面的话 大学四年,忙忙碌碌,什么都学了,又好像什么都没学,总之要毕业了,毕设题目是"生鲜配送系统",B站上找到了一个天天生鲜的项目开发教程,之后文章记录 ...

  9. Android开发笔记(一百五十四)OpenGL的画笔工具GL10

    上一篇文章介绍了OpenGL绘制三维图形的流程,其实没有传说中的那么玄乎,只要放平常心把它当作一个普通控件就好了,接下来继续介绍OpenGL具体的绘图操作,这项工作得靠三维图形的画笔GL10来完成了. ...

  10. 【Visual C++】游戏开发笔记三十五 站在巨人的肩膀上:游戏引擎导论

    看到在留言中很多朋友提到不太清楚DirectX与游戏引擎的区别的问题,在这里浅墨就专门把自己对游戏引擎的一些理解写成一篇文章,作为我们<Visual C++游戏开发>专栏的游戏引擎导论,也 ...

最新文章

  1. Unity 打包发布Android新手教学 (小白都能看懂的教学 ) [转]
  2. 开了gomod不识别gopath_三分钟掌握Go mod常用与高级操作
  3. 腾讯上海某实验室SQL面试题——查询最后任职信息
  4. final在java中怎么用_Java中final的简单使用说明
  5. 地球那么大的开放世界游戏怎么做?腾讯云高级架构师为开发者设计了一套方案
  6. mac定时执行python_Python脚本实现在Mac上DIY定时提醒功能
  7. 【文末有福利】如何理解我们所处世界的复杂性?
  8. VMware和NVIDIA推出新一代混合云架构
  9. 测试显示富士通UHF RFID亚麻标签可在1.5T及3T的MRI系统内使用
  10. 如何在Kubernetes上运行PostgreSQL
  11. java printf与println_浅析Java中print、printf、println的区别
  12. 我的docker随笔37:使用gitlab和jenkins实现CICD
  13. 下列软件包有未满足的依赖关系,依赖: libxxx(= 2.2.10) 但是 2.3.0正要被安装
  14. ftp客户端flashfxp破解教程
  15. Bootstrap 按钮的使用
  16. 雷云驱动2从云服务器,Razer Synapse 2.0(雷蛇云驱动)
  17. AutoRunner 功能自动化测试项目实训之认识自动化测试工具AutoRunner(二)
  18. 复活吧,我的僵尸路由器们,wrt1041n v2再战江湖,路由器硬改硬刷手把手超详细教学
  19. 欲望都市游戏设计 背景图层和UI图层的设计
  20. c语言编程中的或逻辑的符号 符号如何输入,C语言中逻辑运算符(,||,!)和位运算符号(,|,^)...

热门文章

  1. ML-Agents案例之推箱子游戏
  2. 常用保险术语256条
  3. LED点阵屏动画展示
  4. 中华酷联发展电商,警惕京东,且行且思考
  5. 台式机未插入扬声器或者耳机
  6. linux驱动数码管-基于74HC164D
  7. 计算机网络管理公开课观后感,青年网络公开课观后感
  8. 微星网卡linux驱动,微星b360系列win10无法安装网卡驱动解决方法_武汉久龙电脑维修中心...
  9. c语言实验输出姓名和学号,学号姓名第n次实验报告
  10. 密歇根州立大学计算机专业排名,密歇根州立大学优势专业及优势专业排名(QS世界排名)...