CentOS 7实现DNS+DHCP动态更新详解

  CentOS 7实现DNS+DHCP动态更新详解

windows域里有一个功能,dhcp把新分发的ip数据发给DNS服务器,这样只要知道一个人的电脑名字就可以很方便的远程。

  linux当然也能很好的实现类似的功能。man 5 dhcpd.conf 有详细描述。

  昨天运维帮组织线下的沙龙,又拍云的运维总监邵海杨先生分享了一句“千金难买早知道”。是啊,就在实现动态更新的功能上,在网上找了不少博客,照着做又遇到各种问题,最后不不知道到底什么原理实现的。早知道认真看一下man,问题早解决了,对实现的原理也理解得深些。所以,在这个信息爆炸的时代,很多时候真的互联网没有让人更聪明,反而大量的信息经常把人淹没了。技术,还是需要静下心来去钻研的。

  dhcp和dns的基本配置资料比较完善,此处不再赘述。有心的朋友认真看一下man 5 dhcpd.conf,瞧一眼下面配置中标红的部分,相信就能搞定了。

  另外分享一个dns chroot的流程,先安装 bind,调通named,然后再安装bind-chroot

  执行/usr/libexec/setup-named-chroot.sh /var/named/chroot on

  停用named,启用named-chroot即可

  systemctl disabled named ; systemctl stop named

  systemctl enable named-chroot;systemctl start named-chroot

  [root@pxe ~]# cat /etc/dhcp/dhcpd.conf

  ddns-update-style interim;

  ddns-updates on;

  do-forward-updates on;

  allow client-updates;

  allow bootp;

  allow booting;

  #allow client-updates;

  option space Cisco_LWAPP_AP;

  option Cisco_LWAPP_AP.server-address code 241 = array of ip-address;

  option space pxelinux;

  option pxelinux.magic code 208 = string;

  option pxelinux.configfile code 209 = text;

  option pxelinux.pathprefix code 210 = text;

  option pxelinux.reboottime code 211 = unsigned integer 32;

  option architecture-type code 93 = unsigned integer 16;

  subnet 192.168.1.0 netmask 255.255.255.0 {

  authoritative;

  option routers 192.168.1.1;

  option subnet-mask 255.255.255.0;

  option broadcast-address 192.168.1.255;

  option domain-name "it.lab";

  option domain-name-servers 192.168.1.200;

  range dynamic-bootp 192.168.1.100 192.168.1.199;

  key SEC_DDNS {

  algorithm hmac-md5;

  secret 7ObhTIhKeDFMR2SbbS5s8A==;

  };

  ddns-domainname "it.lab";

  zone it.lab.{

  primary 192.168.1.200;

  key SEC_DDNS;

  }

  zone 1.168.192.in-addr.arpa.{

  primary 192.168.1.200;

  key SEC_DDNS;

  }

  default-lease-time 600;

  max-lease-time 7200;

  class "pxeclients" {

  match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";

  next-server 192.168.1.200;

  if option architecture-type = 00:07 {

  filename "uefi/syslinux.efi"; }

  else {

  filename "bios/pxelinux.0"; }

  #filename "pxelinux.0"; }

  }

  }

  [root@pxe ~]# cat /etc/named.conf

  //

  // named.conf

  //

  // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS

  // server as a caching only nameserver (as a localhost DNS resolver only).

  //

  // See /usr/share/doc/bind*/sample/ for example named configuration files.

  //

  options {

  listen-on port 53 { 127.0.0.1;192.168.1.200; };

  listen-on-v6 port 53 { ::1; };

  directory "/var/named";

  dump-file "/var/named/data/cache_dump.db";

  statistics-file "/var/named/data/named_stats.txt";

  memstatistics-file "/var/named/data/named_mem_stats.txt";

  allow-query { any;};

  /*

  - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.

  - If you are building a RECURSIVE (caching) DNS server, you need to enable

  recursion.

  - If your recursive DNS server has a public IP address, you MUST enable access

  control to limit queries to your legitimate users. Failing to do so will

  cause your server to become part of large scale DNS amplification

  attacks. Implementing BCP38 within your network would greatly

  reduce such attack surface

  */

  recursion no;

  dnssec-enable yes;

  dnssec-validation yes;

  dnssec-lookaside auto;

  /* Path to ISC DLV key */

  bindkeys-file "/etc/named.iscdlv.key";

  managed-keys-directory "/var/named/dynamic";

  pid-file "/run/named/named.pid";

  session-keyfile "/run/named/session.key";

  };

  logging {

  channel default_debug {

  file "data/named.run";

  severity dynamic;

  };

  };

  zone "." IN {

  type hint;

  file "named.ca";

  };

  include "/etc/named.rfc1912.zones";

  include "/etc/named.root.key";

  key SEC_DDNS {

  algorithm hmac-md5;

  secret 7ObhTIhKeDFMR2SbbS5s8A==;

  };

  zone "it.lab" IN {

  type master;

  file "it.lab.forward";

  allow-update { key SEC_DDNS ; };

  };

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

  type master;

  file "1.168.192.reverse";

  allow-update { key SEC_DDNS ; };

  };

(0)

相关推荐

  • centos下初识日志式文件系统(ext3)详解

      centos下初识日志式文件系统(ext3)详解 1.日志式文件系统 2.ext3的优点 3.ext3的三种日志模式 4.选择日志模式 1.日志式文件系统 通常在系统运行中写入文件内容的同时,并没 ...

  • 怎样启用DNS客户端动态更新

    应用此策略的计算机根据各次单个网络连接的配置,在每次网络连接时使用动态DNS注册.用来控制动态DNS注册的特定计算机的属性,实现为每次网络连接单独设置动态更新. 步骤/方法 01 首先点击" ...

  • Axure教程-动态面板详解

    动态面板的学习可以帮助我们完成十分复杂的动作设计,今天我们详细学习一下动态面板的使用. 图:Axure中代表动态面板的icon 从这个icon可以看出: 1.这个动态面板有多个层 2.每个层有自己的顺 ...

  • windowns中dns服务器配置与管理详解(多图)

    安装DNS服务器 在"服务器管理器"-"角色"-"添加角色"中安装DNS服务器。 选择DNS服务器 点下一步安装,然后安装 固定服务器IP地址 安装完DNS和配置好固定ip后,我们就可以开始配置DNS ...

  • CentOS 6.5系统VNC安装配置详解

    一.安装 VNC 默认情况下,CentOS 6.4 是没有安装的. 检查是否安装,输入: [root@localhost ~]# rpm -q vnc vnc-server 得到: package v ...

  • CentOS下对硬盘读写速度测试的详解

    一个偶然装DB数据库的机会,发现安装很慢,于是系统工程师建议我测下硬盘读写速度,发现读写速度才200左右, 机器是dellR710 内存12G   操作系统是centos 6 64位 后来重装了cen ...

  • CentOS上的安全防护软件Selinux详解

    selinux简介 SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的 实现,是 Linux历史上最杰出的新安全子系统.NSA是在Linux ...

  • CentOS下多路径大容量硬盘挂载详解

    一.应用环境及需求 刀片服务器通过光纤交换机连接HP存储,形成了一个2X2的链路. 操作系统为CentOS 6.4 64位 挂载的存储容量为2.5T 基于此应用环境,需要解决两个问题: 为保证链路的稳 ...

  • linux CentOS/redhat 6.5 LVM分区使用详解

    linux CentOS/redhat 6.5 LVM分区使用详解