欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

​ddns解析主机名 ddns-update-style

我们在办室的时候,有时会去访问别的机器,如果是在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 机器名来找你同事的机器了。
==========================================================
 
LINUX 中的 DHCP 配置文件信息
1. DHCP服2. 务的配置
1.  安装DHCP的服2. 务软件包
#  mount  /dev/cdrom(插入第二张安装光盘)
#  cd  /mnt/cdrom/RedHat/RPMS
#  rpm  -ivh  dhcp-3.0pl1-23.i386.rpm
相关文件和目录:
/var/lib/dhcp目录   //存放租约文件。
/etc/dhcpd.conf      //核心配置文件, 要手工创建。
/var/lib/dhcp/dhcpd.leases //客户租约的数据库文件。
/etc/sysconfig/dhcpd  //配置DHCP的启动参数。
/etc/sysconfig/dhcrelay  //配置DHCP中继代理。
/etc/rc.d/init.d/dhcpd (/etc/init.d/dhcpd):DHCP服务的启动脚本
3.  /etc/dhcpd.conf
#  vi  /etc/dhcpd.conf
格式:
选项/参数(放在所有作用域之上的选项/参数,作用范围是整个DHCP服务器)
声明 {
选项/参数
}
说明: 
(1) 声明
 subnet  网络号  netmask  子网掩码  {n ……..}
功能:定义子网 (定义作用域 )
注意:网络号必须与服务器的网络号相同,如果服务器有多块网卡时,必须为每一个网卡都建立一个相同网络号的子网,但是不用分配地址的子网可以不定义地址范围
n range 起始IP地址   终止IP地址;
功能:定义作用域范围
注意:subnet声明中至少有一个range,也可以在一个subnet中有多个range,但多个range所定义IP范围不能重复。
n   {………}nhost  主机名
功能:定义保留地址
注意:通常放在subnet声明中
 groupn {……..}
功能:定义组参数
注意:常用于包含host声明和subnet声明
 称n shared-network  名n {………..}
功能:设置DHCP服务器多个IP子网共享同一个物理网络
注意:通常用于包含多个subnet声明
(2) 参数
n ddns-update-style  (none|ad-hoc|interim) ;
功能:定义动态更新类型
注意:none  表示不支持动态更新
ad-hoc  表示特殊 更新模式
interim  表示互动更新模式
在文件中必须包含该参数,且放在第一行
n ignore  client-updates;
功能:忽略客户机更新
注意:该选项只能作为服务器选项
n default-lease-time   数字 ;
功能:指定默认地址租约
注意:可以作为服务器选项和作用域选项,默认单位为秒
n max-lease-time  数字;
功能:指定最长的地址租期
注意:可以作为服务器选项和作用域选项,默认单位为秒
 hardware n  硬件类型  硬件地址;
功能:指定硬件接口类型及硬件地址
注意:硬件类型可以取ethernet/token-ring
硬件地址为网卡地址的MAC地址
该选项只能用于host声明中
n fixed-address  ip地址;
功能:定义DHCP客户机指定的IP地址
注意:该选项只能用于host声明中
n  ;nserver-name  主机名
功能:通知DHCP客户机服务器的主机名
注意:可以作为服务器选项和作用域选项
(3) 选项
n  ”;noption  domain-name   “域名
功能:为客户机指明DNS域名
注意:可以作为服务器选项和作用域选项
n noption  domain-name-servers  ip地址[, ip地址…………];
功能:指定客户机的DNS服务器的地址
注意:可以作为服务器选项和作用域选项
n  ”;noption  host-name  “主机名
功能:为客户机指定主机名
注意:可以作为服务器选项和作用域选项
n  ip地址……….];noption  routers  ip地址[,
功能:为客户机指定默认网关
注意:可以作为服务器选项和作用域选项
n noption   netbios-name-servers  ip地址[, ip地址……..];
功能:为客户机指定WINS服务器地址
注意:可以作为服务器选项和作用域选项
n option  broadcast-address  广播地址;
功能:设置客户机的广播地址
注意:可以作为服务器选项和作用域选项
n option  subnet-mask  子网掩码;
功能:设置客户机的子网掩码
注意:可以作为服务器选项和作用域选项
n noption  nis-domain   “名 称”;(应用于LINUX客户机)
功能:定义客户机的所属NIS域的名称
注意:可以作为服务器选项和作用域选项,且只对unix/linux客户机有效
n noption  nis-servers  ip地址[, ip地址……];
功能:定义客户机的NIS域服务器的地址
注意:可以作为服务器选项和作用域选项,且只对unix/linux客户机有效
实例:设置dhcpd.conf文件,达到以下要求:
(1) 不(2) 支持dns动态更新,且忽略客户机的更新
(3) 服(4) 务器的默认地址租约时间为3600秒,(5) 最大地址租约时间为7200秒
(6) 所有作用域的客户机后缀域名(7) 为abc.com,DNS服(8) 务器地址为192.168.0.254
(9) 所有作用域的客户机默认网关地址192.168.0.1
(10) 定义作用域192.168.0.0子网,(11) 地址掩码为255.255.255.0,地址范围为192.168.0.2-----192.168.0.250
(12) 保留192.168.0.0子网中的192.168.0.8给以太网卡物理地址为00:E0:4C:70:33:65的客户机
#vi   /etc/dhcpd.conf
ddns-update-style  none;
ignore  client-updates;
default-lease-time   3600;
max-lease-time   7200;
option routers 192.168.0.1;
option domain-name “abc.com”;
option domain-name-servers  192.168.0.254;
subnet  192.168.0.0  netmask  255.255.255.0 {
range  192.168.0.2  192.168.0.250;
host  c1 {
hardware   ethernet  00:E0:4C:70:33:65;
fixed-address  192.168.0.8;
}
}
4. 设置DHCP守护进程的工作参数
#vi   /etc/sysconfig/dhcpd
DHCPDARGS=eth0(设置DHCP守护进程监听网卡接口)
5. 启动DHCP服6. 务器
#service dhcpd  start
3. DHCP客户端的配置
1. Linux客户端
(1) 设置网卡采用dhcp启动协议,(2) 自动获取ip地址信息
#vi   /etc/sysconfig/network-scripts/ifcfg-ethX(X可以0,1,2……)
修改BOOTPROTO为:
BOOTPROTO=dhcp
(3) 获取IP地址
#ifdown ethX ;ifup ethX  (X可以取0,1,2,……)
注意:linux系统的dhcp客户端使用dhclient脚本来获取IP地址信息
2. Windows客户端
(1) 右击网上邻居----属性------双击tcp/ip协议----选择“自动获动IP地址”
(2) c:\>ipconfig/release
c:\>ipconfig/renew
三、DHCP中继代理设置
1、#vi   /etc/sysconfig/dhcrelay
INTERFACES=“接口名”           //设置与DHCP服务器相连的接口名
DHCPSERVERS=“DHCP服务器IP”   //设置DHCP服务器的地址
2、#service  dhcrelay   start

 

 原文地址 http://blog.chinaunix.net/u/9951/showart_280949.html


来自  https://haohetao.iteye.com/blog/836256


普通分类: