服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Centos - CentOS 7实现DNS+DHCP动态更新详解

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

2019-06-02 09:28CentOS之家服务器之家 Centos

今天小编将为大家带来的是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 ; };     

};

延伸 · 阅读

精彩推荐
  • CentosCentOS6.2网卡设置

    CentOS6.2网卡设置

    如果你想让服务器可以更新、让网友访问你的LINUX服务器,那一定要设置LINUX网上给网卡绑定一个IP,下面我们就介绍CentOS6.2网卡设置IP的方法。...

    CentOS教程网10092021-10-03
  • CentosCentOS上SVN服务器端程序的安装与使用教程

    CentOS上SVN服务器端程序的安装与使用教程

    SVN是一款高人气的软件项目版本控制系统,由于其在Windows的客户端的简易操作,在Git的浪潮中仍然保有很多的用户数量,这里我们就来看一下CentOS上SVN服务器端...

    cnblogs3902019-07-16
  • Centoscentos 7中添加一个新用户并授权的步骤详解

    centos 7中添加一个新用户并授权的步骤详解

    这篇文章主要给大家介绍了关于在centos 7中添加一个新用户并授权的步骤,文中将实现的步骤介绍的非常详细,通过文中介绍的步骤可以轻松的创建一个新...

    Ryan.Miao9832022-02-12
  • Centos在CentOS系统上安装Docker的教程

    在CentOS系统上安装Docker的教程

    这篇文章主要介绍了在CentOS系统上安装Docker的教程,Docker是当下人气最为火热的容器类虚拟软件,需要的朋友可以参考下 ...

    开源中文社区3952019-09-17
  • Centos使用Xshell连接Centos 6.6服务器操作图文教程

    使用Xshell连接Centos 6.6服务器操作图文教程

    这篇文章主要介绍了使用Xshell连接Centos 6.6服务器操作图文教程,本文用详细的操作步骤讲解了如何使用Xshell连接Centos服务器,需要的朋友可以参考下 ...

    脚本之家4032019-09-18
  • CentosCentOS系统下软件包的制作方法和过程详解

    CentOS系统下软件包的制作方法和过程详解

    今天小编将为大家带来的是CentOS系统下软件包的制作方法和过程详解;希望对大家会有帮助,有需要的朋友一起去看看吧...

    CentOS之家4802019-05-30
  • CentosCentOS7 阿里云的yum源使用详解

    CentOS7 阿里云的yum源使用详解

    这篇文章主要介绍了CentOS7 阿里云的yum源使用详解的相关资料,这里对备份yum源,添加EPEL源,和缓存清理,进行了介绍,需要的朋友可以参考下...

    天王9312020-12-28
  • CentosCentOS 最新版本git的安装教程

    CentOS 最新版本git的安装教程

    本文主要给大家介绍了CentOS 最新版本git的安装教程,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧...

    CentOS教程网9252021-11-29