歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> 系統管理員之DHCP+DNS(bind)==DDNS

系統管理員之DHCP+DNS(bind)==DDNS

日期:2017/3/6 15:47:10   编辑:關於Unix
我們在辦室的時候,有時會去訪問別的機器,如果是在 windows 下,我們我數時候會用機器名去訪問,因為netbios/wins會幫我們來把機器名轉成IP的。下面給大家介紹一種用動態DNS來解析機器名的辦法。不過,不是用的w2k的DDNS,而是用的 Linux . 准備:一台(或
  我們在辦室的時候,有時會去訪問別的機器,如果是在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 機器名來找你同事的機器了。
  
  

Copyright © Linux教程網 All Rights Reserved