DHCP + DNS (bind) == DDNS

December 24, 2005

DHCP + DNS (bind) == DDNS

摘�
Linuxæœ?务器实现办公室内网IP动æ€?分é…?å?Žçš„æœºå™¨å??访问。(2004-06-21 22:11:13)


By lanf, 出处:http://bbs.chinaunix.net/forum/viewtopic.php?t=344701

作者: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中是存在的。

Entry Filed under: Uncategorized. .

4 Comments Add your own

Leave a Comment

Required

Required, hidden

Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Trackback this post  |  Subscribe to the comments via RSS Feed


Calendar

December 2005
M T W T F S S
« Oct    
 1234
567891011
12131415161718
19202122232425
262728293031  

Most Recent Posts