ROS2.9.17怎么绑定DDNS?
我是2M的ADSL,内部有台WEB服务器,想发布出去,但没有固定IP,请问ROS能做域名动态解析(DDNS)吗?怎么做?
高手站出来啊
回复 #1 230138 的帖子
去www.changeip.com上面注册申请个帐号就OK.然后用tool>dns-update,以前好像有个帖子的,搜搜... 原帖由 cxhfinal 于 2006-6-9 11:24 发表
去www.changeip.com上面注册申请个帐号就OK.然后用tool>dns-update,
以前好像有个帖子的,搜搜...
我的2.9.17里的tools里面没看到dns-update这个选项啊 有!在 terminal里
Terminal vt102 detected, using multiline input mode
> tool
bandwidth-servere-mail mac-scan netwatch torch
bandwidth-test export mac-server ping-speedtraceroute
cpu-test flood-pingmac-telnet sigwatch traffic-monitor
dns-update graphing memory-testsniffer
> tool 到changeip.com上申请一个帐号;设置dns ,当然你在设adsl 时选中use peer dns就不用设dns了。
添加以下scheduler 和 script
/system scheduler add name="onreboot" on-event=":global oldip 222.22.2.2" start-time=startup interval=0s
/systemscheduler add name="schddns" on-event="ddns"interval=30s
/system script add name="ddns" source={:delay 10;:global newip [:pick address] 0 [:find address] /]];:if ($newip != $oldip) do={/tool dns-update name=你申请的主机名 zone=你申请的changeip域名 key-name=你在changeip.com上的用户名 key=用户名对应的密码 address=$newip;:log info DDNS成功更新!;:global oldip $newip } else {:log info IP没有发生改变,DDNS未尝试更新!}}
这个方法可以在ip发生改变时及时更新,ip未变时不去更新,有的人用脚本每隔一段时间去dns-update一下,而不管是否需要,这样由于向服务器请求太频繁,你会在log中看到被服务器拒绝的信息的,反而会影响真正需要更新时的成功率。
onreboot中的oldip变量只是初始变量可以任填,只在启动时赋予值,这是必需的。
[ 本帖最后由 loopylf 于 2006-6-12 15:00 编辑 ]
还是不行啊!
我的是ros2。97,按照楼主的做法做了,可是还是不行,脚本一次都没有执行啊!按照官方网站的脚本来做,第一次执行后,提示超时,以后log里面就一直提示地址没有改变,但我的DNS和ip关系还是不正确,怎么搞啊? 原帖由 dingtian 于 2006-6-13 12:09 发表我的是ros2。97,按照楼主的做法做了,可是还是不行,脚本一次都没有执行啊!按照官方网站的脚本来做,第一次执行后,提示超时,以后log里面就一直提示地址没有改变,但我的DNS和ip关系还是不正确,怎么搞啊?
重启一下,我这里有个变量在起机时要赋值!
或用下面的:
到changeip.com上申请一个帐号;设置dns ,当然你在设adsl 时选中use peer dns就不用设dns了。
添加以下scheduler 和 script
/systemscheduler add name="schddns" on-event="ddns"interval=30s
/system script add name="ddns" source={:delay 10;;if ([:typeof $oldip]=nil) do={:global oldip 222.22.2.2};:global newip [:pick address] 0 [:find address] /]];:if ($newip != $oldip) do={/tool dns-update name=你申请的主机名 zone=你申请的changeip域名 key-name=你在changeip.com上的用户名 key=用户名对应的密码 address=$newip;:log info DDNS成功更新!;:global oldip $newip } else {:log info IP没有发生改变,DDNS未尝试更新!}}
这个方法可以在ip发生改变时及时更新,ip未变时不去更新,有的人用脚本每隔一段时间去dns-update一下,而不管是否需要,这样由于向服务器请求太频繁,你会在log中看到被服务器拒绝的信息的,反而会影响真正需要更新时的成功率。
注:你adsl介面的名字大小写敏感!,提示超时一定是没有设dns。
[ 本帖最后由 loopylf 于 2006-6-14 16:30 编辑 ] 这个地方有错,大家使用时把第一个if前的;要改为:,否则不能使用,要报错,完整的如下:
/systemscheduler add name="schddns" on-event="ddns"interval=30s
/system script add name="ddns" source={:delay 10;:if ([:typeof $oldip]=nil) do={:global oldip 222.22.2.2};:global newip [:pick address] 0 [:find address] /]];:if ($newip != $oldip) do={/tool dns-update name=你申请的主机名 zone=你申请的changeip域名 key-name=你在changeip.com上的用户名 key=用户名对应的密码 address=$newip;:log info DDNS成功更新!;:global oldip $newip } else {:log info IP没有发生改变,DDNS未尝试更新!}
回复 #7 loopylf 的帖子
到changeip.com上申请一个帐号;设置dns ,当然你在设adsl 时选中use peer dns就不用设dns了。添加以下scheduler 和 script
/systemscheduler add name="schddns" on-event="ddns"interval=30s
下面一行已吧:delay 10;;if 该成:delay 10;:if 以前打字打错了,是回答一网友时发现的,抱歉.
/system script add name="ddns" source={:delay 10;:if ([:typeof $oldip]=nil) do={:global oldip 222.22.2.2};:global newip [:pick address] 0 [:find address] /]];:if ($newip != $oldip) do={/tool dns-update name=你申请的主机名 zone=你申请的changeip域名 key-name=你在changeip.com上的用户名 key=用户名对应的密码 address=$newip;:log info DDNS成功更新!;:global oldip $newip } else {:log info IP没有发生改变,DDNS未尝试更新!}} 看不懂!!能否做个脚本出来!!!直接导进去就好了吗?? 是直接复制进去吗???真不懂用啊。. 提示是成功了 ,但是从外网还是不能访问我的路由器的80和21端口,
郁闷一下 原帖由 bangxing 于 2007-8-28 09:55 发表 http://bbs.routerclub.com/images/common/back.gif
提示是成功了 ,但是从外网还是不能访问我的路由器的80和21端口,
郁闷一下
方法一、还是在内网机接一台支持ddns的路由器(100来快的破合子的天天开着比一台机省电)通上电配置好ddns的域名就可以
方法二、自己在内网一台工作站机子上,天天开机用软件实现在内网机域名与ip同步。
三、关于端口映射你可以基于"接口"的方法实现你要的发布内网服务器。
[ 本帖最后由 cracks 于 2007-8-28 12:24 编辑 ]
页:
[1]