作完这些,基本的东西就已经搞定了,接下来就是怎么作定时器和如何使用上面编写的shell脚本了.定时器windows提供了一个替代品,虽说功能不是很强大,但作一些日常的工作也就够了(使用windows的计划任务,必须保证你已经启动task schedule,并且它的启动方式是自动.).做一个批处理.auto.bat,里面的内容很简单.
Sh c:/你刚才编写的脚本的名称.(一定要注意\在unix系统代表转义字符,千万不能在脚本中的路径中使用这个字符,全部用/替换.)
之后就做一个计划任务,让这个脚本,每隔10分钟运行一次.呵呵就大功告成了.
上面的脚本适合以下对象,客户端是windows系统,服务器什么平台没有什么要求..本文算是对http://www.chinaunix.net/jh/4/74349.html的一个补充吧.作者: unixli 时间: 2004-05-17 12:04 标题: 如何自己架设动态dns服务器 很好!但能不能把在WIN2000下的从开始安装到安装成功的整个过程和脚本都写出来呀?急盼!作者: 散步的风 时间: 2004-05-17 13:01 标题: 如何自己架设动态dns服务器 你参照我文档中提到的那篇文档,对着做就可以了,很简单的.关于更新脚本我也在文章中写出来了,你整理一下,把里面的注释去掉就可以了.如果你是使用windows的拨号网络,我上面的脚本就有通用性.有什么问题你可以发邮件给我.postmaster@panva.com.cn.作者: unixli 时间: 2004-05-17 13:28 标题: 如何自己架设动态dns服务器 我现在是这样的
我想在别人的WIN2000服务器上安装一个BIND9,因他们学校那的是固定IP,但他们的服务器和客户都是通过防火墙NAT出去的。而我现在上网也是通过ADSL MODEM自动拔号共享上网的,所以我没法用你的脚本取得公网IP的。不知能不能通过PING一个免费的动态域名得知MODEM取到的公网IP,然后再去服务器上更新,就不知这样要怎样实现了。作者: 散步的风 时间: 2004-05-17 13:54 标题: 如何自己架设动态dns服务器 关于前一个问题我想可能就比较麻烦了,因为你必须在它的防火墙上把53端口映射到安装bind的那个电脑上.这个东西恐怕只有网络的管理员才能做.或者如果你知道他们防火墙密码的话,应该也是没有问题的.
关于取IP的方法,其实有很多种的,不过我想最简单的可能就是你说的那种了.申请一个免费的动态域名,之后安装一个客户端挂在网上.之后通过Ping取取得IP地址是肯定行的通的.你最好做一个试验试试.具体取法如下:
ping your free domain >;c:/ip
sed -e 's|Reply from ||g' c:/ip >;c:/swapip
sed -e 's|: bytes| |g' c:/swapip>;c:/ip
new_ip=`cat c:/ip |cut -c1-18`
这样的获得的应该就是你的公网Ip了.不过我觉得这样做的通用性不是很好.呵呵,我只是为了解决你的问题.作者: 散步的风 时间: 2004-05-17 13:55 标题: 如何自己架设动态dns服务器 sed -e 's|: bytes| |g' c:/swapip>;c:/ip
这句里面的空格要足量,否则,取ip的时候有可能取到字符作者: unixli 时间: 2004-05-17 14:17 标题: 如何自己架设动态dns服务器 多谢散步的风,我先试试先,如有什么问题我再请教你,多谢支持!
我朋友是学校的网管,所以要做端口映射没问题。如能成功,那都可以让他给大家提供服务了。作者: 散步的风 时间: 2004-05-17 14:28 标题: 如何自己架设动态dns服务器 呵呵,那感情好了.作者: unixli 时间: 2004-05-17 16:53 标题: 如何自己架设动态dns服务器 有没有已编译好的FOR WIN2000的BIND9呢?因为要在别人服务器上装太多相关软件不太好的!安装BIND9太麻烦了!作者: 散步的风 时间: 2004-05-17 20:01 标题: 如何自己架设动态dns服务器 我和你说的那个bind9本来就是编译好的的,只需用解压安装就可以了.bind9基本上是绿色软件,只是在系统中做了一个服务而已.其他的都是直接拷贝到安装目录的.作者: unixli 时间: 2004-05-18 09:18 标题: 如何自己架设动态dns服务器 是吗?我下的是这个包bind-9.2.3.tar.gz
按照它的安装说明需要ActiveState、OpenSSL、Visual C++或Borland C
那是我下错了吧作者: 散步的风 时间: 2004-05-18 11:13 标题: 如何自己架设动态dns服务器 直接下载那个bind-9.2.3.zip就可以了作者: unixli 时间: 2004-05-23 15:28 标题: 如何自己架设动态dns服务器 ip.txt文件内容如下:
server ns.163.com
update delete 163.com A
update add 163.com 0 A NEWIP
update delete www.163.com A
update add www.163.com 0 A NEWIP
update delete bbs.163.com A
update add bbs.163.com 0 A NEWIP
update delete mail.163.com A
update add mail.163.com 0 A NEWIP
update delete ftp.163.com A
update add ftp.163.com 0 A NEWIP
update delete pop.163.com A
update add pop.163.com 0 A NEWIP
update delete smtp.163.com A
update add smtp.163.com 0 A NEWIP
send
在sh(for windows)命令行下运行如下命令
ping -n 1 www.163.com |grep Pinging >;e:/bind/newip
sed -e 's|] with 32 bytes of data |g' e:/bind/newip >;e:/bind/swapip
NEW_IP=`cat e:/bind/swapip |cut -c22-36`
cat e:/bind/ip.txt |sed -e 's|NEWIP|$NEW_IP|g' >;e:/bind/up.txt
得到的输出文件是up.txt文件内容如下:
server ns.163.com
update delete 163.com A
update add 163.com 0 A $NEW_IP
update delete www.163.com A
update add www.163.com 0 A $NEW_IP
update delete bbs.163.com A
update add bbs.163.com 0 A $NEW_IP
update delete mail.163.com A
update add mail.163.com 0 A $NEW_IP
update delete ftp.163.com A
update add ftp.163.com 0 A $NEW_IP
update delete pop.163.com A
update add pop.163.com 0 A $NEW_IP
update delete smtp.163.com A
update add smtp.163.com 0 A $NEW_IP
send
这样并没有得到我想要的结果,就是把ip.txt中的NEWIP替换成取到的IP地址。NEW_IP中的值是正确的,测试结果如下:
LYM# ping $NEW_IP
Pinging 202.108.36.153 with 32 bytes of data:
Reply from 202.108.36.153: bytes=32 time=390ms TTL=52
Reply from 202.108.36.153: bytes=32 time=391ms TTL=52
Reply from 202.108.36.153: bytes=32 time=381ms TTL=52
Reply from 202.108.36.153: bytes=32 time=380ms TTL=52
Ping statistics for 202.108.36.153:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 380ms, Maximum = 391ms, Average = 385ms