分享
 
 
 

DHCP+DNS(bind)==DDNS

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

作者:q1208c

我们在办公室的时候,有时会去访问别的机器,如果是在windows下,我们多数时候会用机器名去访问,因为netbios/wins会帮我们来把机器名转成IP的。下面给大家介绍一种用动态DNS来解析机器名的办法。不过,不是用的w2k的DDNS,而是用的Linux.

准备:一台(或两台)Linux服务器,用来做DHCP server和DNS server。也可以把它做成两台服务器。

安装:服务器的安装过程,请参考其它文档,记住把 dhcp 和 bind, bind-utils 装上就行了。

配置:

一、DHCP的配置:

配置DHCP server 时很简单,可以参考 /usr/share/doc/dhcp-x.xx/dhcpd.conf.sample来做。也可以先把这个文件cp 到 /etc/dhcpd.conf,然后根据自己的需要做适当修改。下面贴出我的一个/etc/dhcpd.conf,供大家参考:

ddns-update-style interim;

ignore client-updates;

key DHCP_UPDATER {

algorithm HMAC-MD5;

secret qhB++OR5yWo8BTXwk/m4ng;

};

zone bj.pnx. {

primary 127.0.0.1;

key DHCP_UPDATER;

}

zone 251.168.192.in-addr.arpa. {

primary 127.0.0.1;

key DHCP_UPDATER;

}

subnet 192.168.251.0 netmask 255.255.255.0 {

range 192.168.251.100 192.168.251.200;

# --- default gateway

option routers 192.168.251.254;

option subnet-mask 255.255.255.0;

# option nis-domain "domain.org";

option domain-name "bj.pnx";

option domain-name-servers 192.168.251.63,192.168.251.254;

# option time-offset 28800; # PRC Standard Time

# option ntp-servers 192.168.251.220;

# option netbios-name-servers 192.168.1.1;

# range dynamic-bootp 192.168.0.128 192.168.0.255;

default-lease-time 21600;

max-lease-time 43200;

}

几个要注意的地方:

1. 'ddns-update-style'

这个就是动态DNS的更新方式,有几个选项,我用的是interim,可以用 man dhcpd.conf找到另外的几个选项。

2. 'ignore client-updates'

这个选项是不允许客户机更新DNS记录。当然,也可能允许,但会有一点问题。

3. 'key DHCP_UPDATER'

这个是更新DNS的KEY,是必须的。其中algorithm 后的是生成key的算法,key的生成是用 'dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER'。

4. 'zone'

要更新的zone,如果是本机就是DNS server,primay 就写127.0.0.1,要是其它机器是DNS server, 就写那台机器的IP。

别的都是一般DNS该有的了,要注意的是一定要有 range 那一行,不然就分不了IP啦。

配好以后,可以启动一下试试, service dhcpd start,如果没问题,把dhcpd改成开机就启动,chkconfig --level 2345 dhcpd on。

二、bind(named)的配置。

关于bind(named)配置的文章有很多了。这里只把与普通配置不同的地方写出来。

下面给我的named.conf供大家参考:

// generated by named-bootconf.pl

options {

directory "/var/named";

/*

* If there is a firewall between you and nameservers you want

* to talk to, you might need to uncomment the query-source

* directive below. Previous versions of BIND always asked

* questions using port 53, but BIND 8.1 uses an unprivileged

* port by default.

*/

// forwarders { 192.168.1.254; };

// query-source address * port 53;

};

//

// a caching only nameserver config

//

controls {

inet 127.0.0.1 allow { localhost; } keys { rndckey; };

};

key DHCP_UPDATER {

algorithm HMAC-MD5;

secret qhB++OR5yWo8BTXwk/m4ng;

};

zone "." IN {

type hint;

file "named.ca";

};

zone "localhost" IN {

type master;

file "localhost.zone";

allow-update { none; };

};

zone "0.0.127.in-addr.arpa" IN {

type master;

file "named.local";

allow-update { none; };

};

zone "1.168.192.in-addr.arpa" IN {

type master;

file "1.168.192.zone";

allow-update { key DHCP_UPDATER; };

};

zone "test.com" IN {

type master;

file "test.com";

allow-update { key DHCP_UPDATER; };

};

include "/etc/rndc.key";

其中多了的是

key DHCP_UPDATER {

algorithm HMAC-MD5;

secret qhB++OR5yWo8BTXwk/m4ng;

};

这就是更新dns要用的key,必须和dhcpd.conf里的一样。

还有就是每个 zone 都可以用 key 来update了。

这样就行了。然后启动一下试试吧。

你就可以ping 机器名来找你同事的机器了。

本人只在windows客户机上试验过,Linux好象会有一点问题。哪位有兴趣,共同研究一下。给Linux分配的IP都

是没有主机名的。 因为我的客户机都是windows的,Linux的我都用静态IP。

hongfengyue 的补充

当客户端是linux时,需要在linux客户端编辑一个文件/etc/dhclient.confDNS才能更新,不信你可以看看/var/lib/dhcp/的文件的内容,客户端分配的IP没有Hostname的记录。

我的/etc/dhclient.conf内容如下:

send fqdn.fqdn "hostname";

send fqdn.encoded on;

send fqdn.server-update off;

但是我在Redhat8&9中还是不行,只有在/etc/rc.d/rc.local中加入下面的命令:

/sbin/dhclient

注意必须在/sbin存在这个可执行的文件。我知道在redhat中是存在的。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有