在linux下,更新域内的主机名/IP映射关系

域内,windows的机器可以通过 ping直接获得IP地址。

比如,ping computerA 可以得到机器名为computerA的IP地址。

linux机器如果在域内动态分配IP地址,那么,如何根据其主机名,取得其IP地址呢?

一般情况下,配好了 hostname为xxx.test.com 的机器是自然可以这样得到IP地址的。

但如果不行的话,就有两种方案:

A. 通过nsupdate来使域内的DNS服务器更新自己的IP。

$ nsupdate
> update add xxx.test.com 9999 A 192.168.1.20
>
>quit

B. 注册自己在 WINS服务器上的名字。

这一项还没有找到现成程序,可能要自己编程解决。也许有吧,谁知道的留 言告诉我。

编程不麻烦,假设linux的IP是192.168.1.4 ,找一台windows,设IP为192.168.1.10

在linux上面运行命令

tcpdump -X -s 300 “src host 192.168.1.10”

然后在 win上,把wins服务器设为 192.168.1.4

这样,win就会去linux注册自己,看到相应的二进制包,仿照着就可以开始开发了。

当然要开发,光有二进制包还不行,可以参照着 rfc1002 先把包弄懂。rfc1001也可先看看。

弄懂后,写个程序就易于反掌了!

 

顺便说一下,在dns上注册名字后,windows 可能还不能马上ping到,ping会报告找不到名字。这是因为windows有缓存。可以用下面这条命令手动清掉windows的DNS缓存(DNS Cache)。

ipconfig /flushdns

 

 

此条目发表在linux分类目录。将固定链接加入收藏夹。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

*