龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 操作系统 > LINUX系统 >

系统管理员之DHCP + DNS (bind) == DDNS

时间:2011-03-20 22:37来源:未知 作者:admin 点击:
分享到:
我们在办室的时候,有时会去访问别的机器,如果是在windows下,我们我数时候会用机器名去访问,因为netbios/wins会帮我们来把机器名转成IP的。下面给大家介绍一种用动态DNS来解析机器

  我们在办室的时候,有时会去访问别的机器,如果是在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;

  

  }

  

  几个要注意的地方:g

  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 机器名来找你同事的机器了。

  

  

收藏文章
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
评论内容为空!
还没有评论,快来抢沙发吧!
按钮 内容不能为空!
立刻说两句吧! 查看0条评论
精彩图集

赞助商链接