hcb 发表于 2008-2-22 10:47:10

ROS更新3322.org动态域名,有需要的拿去看看

找了N久,都没有找到ROS更新3322.org动态域名的方法,实在找不到了,于是只好自己动手写一个。
    原代码文件名为dyndns.c, 编译后的文件名为dyndns。
使用方法:
    把ROS硬盘接在Linux系统的第3个IDE硬盘位置上,开机,以root登录
    挂载ROS文件系统:
    mount /dev/hdc1 /mnt
    把dyndns.c文件复制到当前目录下,然后编译:
    cc -o dyndns dyndns.c
    不愿意编译的也可以直接用我编译好的文件
    把编译得到的文件复制到ROS系统里:
    cp dyndns /mnt/bin/
    添加执行权限:
    chmod +x /mnt/bin/dyndns
    编辑ROS启动文件,使其开机就运行:
    vi /mnt/etc/rc.d/rc.start
    在文件的最后exit那行前加上下面一行文字(后面有个&):
    [ -x /bin/dyndns ] && dyndns&
    然后保存文件
    卸载ROS文件系统:
    umount /mnt
    关机:
    halt
    把ROS硬盘装回去,开机
    在WINDOWS上打开winbox-->Files, 稍等2分钟,等待系统全部就绪,
    会看见有文件conf.ini,用鼠标把该文件拖到桌面上
    打开桌面上的conf.ini文件,有如下内容:
      #参数配置文件(等号前后不留空格)
      USER=                     #域名拥有者的登录帐号
      PASSWD=                     #域名拥有者的登录密码
      DYNDNS=                  #动态域名
      SERVER=222.185.245.239      #服务器members.3322.org的IP
      DEVICE=ppp0               #动态IP的设备号
      SLEEP=300                  #检查更新的时间间隔(秒)
    填好前面的三个参数,后面的三个参数为系统默认,也可以修改。
    修改完保存文件,把该文件拖回到winbox-->File里原来的位置
    等待大约SLEEP秒,conf.ini会被更新,打开该文件就看到结果了
遇到的问题:
    1,ROS的内核里面,似乎不支持时区参数,时区偏移量总是0, 也许这就是ROS防火墙的扩展里面,对Time参数支持有问题的原因
    2,ROS对C的域名解析函数似乎不太支持,测试若干次,只成功解析一次
    3,只能得到设备号,不能得到ROS的设备名,有点遗憾,但似乎理论上是得不到的

hcb 发表于 2008-2-22 10:48:17

部分截图

小狼 发表于 2008-2-22 12:56:34

一头雾水,看不懂linux,不过是个好东西,帮顶

dghj_aaron 发表于 2008-2-22 16:29:27

好帖~~多些这样的高手肯共享就好了~强烈支持~~

win28703 发表于 2008-2-23 22:06:43

it is good:victory:

木木 发表于 2008-2-24 09:22:47

虽然不懂linux,但是这是个好东西,顶

ksw520 发表于 2008-2-24 10:28:55

diy ros 厉害..绝.

leonmb 发表于 2008-2-24 11:23:48

如果有更简单的就好了,能像www.changeip.com的用脚本更新法,那里最好的了!!真希望高手能出来帮弄一下!

hcb 发表于 2008-2-24 12:42:32

3322.org的更新协议比较不同,但更合理,很多嵌入式网络设备都喜欢用3322.org域名,可靠性和可控性比较强

大笨象 发表于 2008-2-25 10:20:22

近来小有好文,冒个泡

leonmb 发表于 2008-2-25 13:20:14

老大帮一下忙!我想通过脚本获得某网站常变动的IP
:local ip1 www.baidu.com] address]
这样好像不对,帮我改一改!

hcb 发表于 2008-2-25 13:53:15

晕,脚本详解里面有例子
你可以这样来测试
#变量说明并初始化
:local ip ""
#取得域名的IP
:set ip [:resolve www.baidu.com]
#如果确实取到了IP则接着做其他事,否则做错误处理
:if($ip!="") do={:log info ($ip . " OK")} \
else={:log error notfond}

333ccc3c 发表于 2008-2-28 07:25:25

:victory:
记号先

专卖精品 发表于 2008-2-28 12:33:44

从文档来看,ROS的DDNS是一个标准的协议

hcb 发表于 2008-2-29 11:26:35

更新,增加了日志

2008-02-29更新

1,增加了时区参数,请设置成与ROS的时区参数一样,以便正常显示时间,这个问题是ROS的BUG造成的,否则就不用该参数

2,增加了ROS的日志里面,有动态域名更新的日志,时间同步上,略有延迟,但基本不影响使用

安装方法:

1,把dyndns这个文件代替ROS里面原来的同名文件,方法参看原来的方法

2,打开dynlog.rsc文件,全选,把内容复制到 ROS的终端里面,回车即可

注:在ROS 2.9.27 上运行多天,尚未发现不良情况,其他版本没有测试过

[ 本帖最后由 hcb 于 2008-3-1 16:22 编辑 ]
页: [1] 2 3 4 5 6
查看完整版本: ROS更新3322.org动态域名,有需要的拿去看看