[Openwrt 项目开发笔记]:DDNS设置(五)
[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设置(五)的更多相关文章
- [Openwrt 项目开发笔记]:Openwrt必要设置(二)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 前面的两篇blog中,我将如何搭建Openwrt ...
- [openwrt 项目开发笔记]: 传送门
“Openwrt 项目开发笔记”系列传送门: [Openwrt 项目开发笔记]:Openwrt平台搭建(一) (2014-07-11 00:11) [Openwrt 项目开发笔记]:Openwrt平台 ...
- [Openwrt 项目开发笔记]:Samba服务&vsFTP服务(四)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在上一节中,我们讲述了如何在路由器上挂载U盘,以 ...
- [Openwrt 项目开发笔记]:PHP+Nginx安装(七)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在上一节中,我们已经搭建了MySQL数据库了,因 ...
- [Openwrt 项目开发笔记]:MySQL配置(六)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在本人的项目中,运行在路由器上的服务器采用Ngi ...
- [Openwrt 项目开发笔记]:Openwrt平台搭建(一)补遗
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 昨晚上熬夜写了[Openwrt项目开发笔记]:O ...
- [Openwrt 项目开发笔记]:Openwrt平台搭建(一)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 最近开始着手进行Openwrt平台的物联网网关设 ...
- [Openwrt 项目开发笔记]:USB挂载& U盘启动(三)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在上一篇中,我结合Netgear Wndr370 ...
- Java开发笔记(九十五)NIO配套的文件工具Files
NIO不但引进了高效的文件通道,而且新增了更加好用的文件工具家族,包括路径组工具Paths.路径工具Path.文件组工具Files.先看路径组工具Paths,该工具提供了静态方法get,输入某个文件的 ...
随机推荐
- intellij idea 添加模板语句
1.说明 在intellij idea 中有很多模板语句可有使用,比如:输入sout,就可以直接生成 System.out.println();代码, 输入psvm,就可以直接生成main方法,类似这 ...
- Cookie进行会话管理
一.会话的概念 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 有状态会话:一个同学来过教室,下次再来教室,我们会知道这个同学曾 ...
- Python issubclass() 函数
Python issubclass() 函数 Python 内置函数 描述 issubclass() 方法用于判断参数 class 是否是类型参数 classinfo 的子类. 语法 以下是 iss ...
- Django搭建数据库
---恢复内容开始--- 一.form表单提交数据的三个要素 1.form标签必须要有action个和method属性 2.所有获取用户输入的标签必须放在form表单中,必须要有name属性 3.必须 ...
- git协议
常用三种协议:ssh, git, http ssh协议: 使用ssh传输,安全,可授权,需要用ssh登录,一般使用添加秘钥的方式.搭建方便. git协议: 使用git-daemon监听9418端口,配 ...
- 数字三角形 · Triangle
从上到下用DP. [抄题]: 给定一个数字三角形,找到从顶部到底部的最小路径和.每一步可以移动到下面一行的相邻数字上. 比如,给出下列数字三角形: [ [2], [3,4], [6,5,7], [4, ...
- 使用Spring框架来管理模板类
1. 刚才编写的代码使用的是new的方式,应该把这些类交给Spring框架来管理. 2. 修改的步骤如下 applicationContext.xml中<beans>标签的开头配置为: * ...
- 从输入url到显示网页发生了什么
原文链接:https://juejin.im/post/5bf23afa6fb9a049be5d1494 在浏览器中输入url到显示网页主要包含两个部分: 网络通信和页面渲染 互联网内各网络设备间的通 ...
- Scrum 项目1.0--软件工程
1.确定选题 视频:http://v.youku.com/v_show/id_XMTU1OTExOTY2NA==.html 2.需求分析调查 地址:http://www.sojump.com/m/81 ...
- 如何将硕大笨重的git仓库拆分成灵活轻巧的模块小仓库
方法1.拆分一个子目录为独立仓库 参考链接:https://segmentfault.com/a/1190000002548731 以前是用 filter-branch 来实现,这个需求太常见了,有人 ...