方永、南天紫云

道亦有道

sddns(dnspod client for OpenWrt)使用说明
作者 vinoca 發布於 2012年08月19日

之前讨论过OpenWrt怎样使用dnspod的动态域名解析,最终制作了一个ipk包,在这里做一个汇总,将这个软件包的使用步骤说明一下。

由于没有luci界面,只能通过ssh操作,故要求掌握最基本的ssh登录、vi的使用。

  1. 注册域名。

  2. 在DNSPod(https://www.dnspod.cn/)注册帐号并添加域名,并修改域名注册商处的域名DNS地址,可参照这里

  3. 添加一个A记录,子域名如”openwrt”,可参照这里

  4. 安装sddns包,用ssh(可用putty)登录到OpenWrt,执行:

        opkg update
        wget http://vincasrcfiles.googlecode.com/files/sddns_0.0.7-1_all.ipk
        opkg install sddns_0.0.7-1_all.ipk
        rm sddns_0.0.7-1_all.ipk
        

    若提示curl错误,请先安装curl软件包。

  5. 配置sddns,sddns的配置文件在/etc/config/目录中,格式如下:

        config base_arg
        option 'login_email' 'aa@bb.com'   #登录邮箱
        option 'login_password' 'ccdd'  #登录密码
        option 'main_domain' 'baidu.com'  #域名形如"baidu.com"
        option 'sub_domain' 'xx' #主机记录形如"xx.baidu.com"
    # 下面这个区域不需做任何配置sddns会存放一些临时数据如果更改了上面的域名与主机记录删除下面区域中的"xxx_id"项
        
        config tmp_arg
    # ssl cacert file or directory
        option 'cacert' '/etc/ssl/cacert.pem'   # 证书文件位置默认不用修改
        option 'wanip' 'c.lexun.com/ip'
        

    将dnspod注册的邮箱、密码,以及域名、第三步添加的子域名的名称填到对应条目,保存退出,然后直接执行sddns,若提示中有”message”:”Action completed successful”,则表明正确执行了。

    由于明文存储,请注意密码的安全性。建议加强OpenWrt的安全策略。

  6. 添加一个定时执行条目,如在 /etc/crontabs/root中添加(建议使用 crontab -e 命令:

        \*/15 * * * * /usr/bin/sddns 2>/dev/null #ddns
        

    即每隔15分钟执行一次sddns,注意星号间的空格。

    OpenWrt中crontab使用注意事项请看这里

  7. 登录dnspod网站,检查操作记录,是否如上一步所设定的时间间隔更新域名信息。

    最新版及更新记录在这里

2012年12月30日此文檔更新:

OpenWrt以外的操作系統使用辦法:

將.ipk文件(標準的.tar.gz文件)用7z-zip等解壓工具打開,會看到debian-binary、data.tar.gz、control.tar.gz文件,繼續打開data.tar.gz,將usr/bin/中sddns提取出來,這即是核心文件;再在control.tar.gz中提取etc/config/sddns配置文件,放在$HOME/或/etc下,配置請參見這裡

若域名更新失敗并且sddns沒有任何提示,刪除 /etc/config/sddns 中含有 option cur_ip 的行并再次執行sddns。

2013年08月07日此文檔更新:

由於0.0.9以上版本面向通用的linux/xBSD,故不再使用OpenWrt的functions.sh,配置文件格式有所變化,可參考這裏

最近更新請看這裏