DNS集群搭建实战

简介:

实验环境:RHEL7.0   

           主DNS   server1.example.com  172.25.254.1

           辅助DNS server2.example.com  172.25.254.2


实验内容:1.主DNS配置

                 2.辅助DNS配置

                 3.辅助DNS动态获取主DNS数据

                 4.DNS更新

                 5.有Key才能对主机进行更新

                 6.DDNS搭建


前提:装bind软件,关火墙,关SELINUNX,开启53端口 


1.主DNS配置(IP:172.25.254.158)   

    1)vim /etc/named.conf    

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

        //    allow-query     { localhost; };         

        dnssec-validation no;     (//代表开启着接口)    

    2)vim /etc/named.rfc1912.zones                

        zone "willis.com" IN {
                type master;
                file "willis.com.zone";
                allow-update { none; };
                allow-transfer { 172.25.254.2; };##允许谁同步 
        };

    3)cp -p /var/named/      /var/named/willis.com.zone#特殊文件,注意权限 

    4)vim /var/named/willis.com.zone       

            $TTL 1D
            @       IN SOA  dns.willis.com. root. (
                                                    0       ; serial
                                                    1D      ; refresh
                                                    1H      ; retry
                                                    1W      ; expire
                                                    3H )    ; minimum
            NS      dns.willis.com.
            dns     A       172.25.254.1
            www     A       172.25.254.1
    5)vim /etc/resolv.conf     

        nameserver 172.25.254.1     

    6)systemctl start named  


2.辅助DNS 

    1)vim /etc/named.conf      

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

        //    allow-query     { localhost; };         

        dnssec-validation no;   

    2)vim /etc/named.rfc1912.zones      

          zone "willis.com" IN {
                type slave;

                masters { 172.25.254.1; };

                file "slaves/willis.com.zone";
                allow-update { none; };
        };

    3)vim /etc/resolv.conf     

        nameserver 172.25.254.1   

    4)systemctl start named   


3.辅助DNS动态获取主DNS数据(数据同步)  

1)主DNS       

    1-1)vim /etc/named.rfc1912.zones 

            zone "willis.com" IN {     

                    type master;    

                     file "w.com.zone";     

                     allow-update { none; };         

                     allow-transfer { 172.25.254.2; };       

                      also-notify { 172.25.254.2; }; ##添加此条,当DNS文件发生改变时,将数据推送给谁 

                      };    

    1-2)vim /var/named/willis.com.zone     

         $TTL 1D

         @    IN SOA    dns.willis.com.  root. (        

                     31    ; serial   #此值改变,进行数据推送         

                     1D    ; refresh          

                     1H    ; retry             

                     1W    ; expire             

                     3H )    ; minimum     

        NS    dns.willis.com. 

        dns    A    172.25.254.1

        www    A       172.25.254.1        

    1-3)systemctl restart named    


2)辅助DNS        

2-1)vim /etc/resolv.conf               

named 172.25.254.1       

[root@server2 slaves]# ls
willis.com.zone
[root@server2 slaves]# rm -rf willis.com.zone 
[root@server2 slaves]# ls
[root@server2 slaves]# dig www.willis.com

; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> www.willis.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63871
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.willis.com.            IN    A

;; ANSWER SECTION:
www.willis.com.        86400    IN    A    172.25.254.1

;; AUTHORITY SECTION:
willis.com.        86400    IN    NS    dns.willis.com.

;; ADDITIONAL SECTION:
dns.willis.com.        86400    IN    A    172.25.254.1

;; Query time: 0 msec
;; SERVER: 172.25.254.1#53(172.25.254.1)
;; WHEN: Wed Sep 07 20:32:55 CST 2016
;; MSG SIZE  rcvd: 93

[root@server2 slaves]# ls
willis.com.zone


4.DNS更新(远程主机对DNS A记录修改)

cp -p /var/named/westos.com.zone  /mnt  ##备份,便于恢复    

    1)主DNS           

    1-1)vim /etc/named.rfc1912.zones zone 

            zone "willis.com" IN {
                    type master;
                    file "willis.com.zone";
                    allow-update { 172.25.254.2; };  ##添加此条,允许那个远程主机DNS更新主机DNS A记录  
                    allow-transfer { 172.25.254.2; };
                    also-notify { 172.25.254.2; };
            };

    1-2)chmod g+w /var/named    ###此目录必须对named组有执行                   

    1-3)systemctl restart named     


    2)辅助DNS(远程DNS)进行更新      

[root@server2 slaves]# nsupdate 
> server 172.25.254.1
> update add hello.willis.com 86400 A 172.25.254.3
> send

    3)测试  dig hello.willis.com    

[root@server2 slaves]# dig hello.willis.com

; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> hello.willis.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8312
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;hello.willis.com.        IN    A

;; ANSWER SECTION:
hello.willis.com.    86400    IN    A    172.25.254.3

;; AUTHORITY SECTION:
willis.com.        86400    IN    NS    dns.willis.com.

;; ADDITIONAL SECTION:
dns.willis.com.        86400    IN    A    172.25.254.1

;; Query time: 0 msec
;; SERVER: 172.25.254.1#53(172.25.254.1)
;; WHEN: Wed Sep 07 20:47:58 CST 2016
;; MSG SIZE  rcvd: 95

    4)恢复  rm -rf  /var/named/willis.com.zone  

               rm -rf  /var/named/willis.com.zone.jnl           

               cp -p /mnt/willis.come.zone    /var/named/ 


5.有Key才可对主机进行更新    

1)主DNS     

   1-1)cp -p /etc/rndc.key  /etc/willis.key    

   1-2)cd /mnt          

        dnssec-keygen -a HMAC-MD5 -b 128 -n HOST willis     

[root@server1 mnt]# dnssec-keygen -a HMAC-MD5 -b 128 -n HOST willis
    Kwillis.+157+54370
[root@server1 mnt]# ls
    Kwillis.+157+54370.key  Kwillis.+157+54370.private
[root@server1 mnt]# cat Kwillis.+157+54370.key 
    willis. IN KEY 512 3 157 D3lJsH/gcsyTGmQfDKl/DA==

  1-3)vim /etc/willis.key         

        key "willis" {
            algorithm hmac-md5;
            secret "D3lJsH/gcsyTGmQfDKl/DA==";
        };

  1-4)vim /etc/named.conf         

  在options {};外添加 include "/etc/willis.key";  

  1-5)vim /etc/named.rfc1912.zones 

             修改为allow-update { key willis; };     

  1-6)scp Ksteven.+157+09355.*  root@172.25.254.187:/mnt/          

  1-7)systemctl restart named    


2)辅助DNS   

[root@server2 slaves]# nsupdate     
> server 172.25.254.1
> update add wahaha.willis.com 86400 A 172.25.254.3
> send
update failed: REFUSED      ###DNS更新失败


[root@server2 slaves]# nsupdate -k /mnt/Kwillis.+157+54370.private 
> server 172.25.254.1
> update add wahaha.willis.com 86400 A 172.25.254.3
> send  

    ###添加密码认证后更新成功

测试)

[root@server2 slaves]# dig wahaha.willis.com

; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> wahaha.willis.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40086
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;wahaha.willis.com.        IN    A

;; ANSWER SECTION:
wahaha.willis.com.    86400    IN    A    172.25.254.3

;; AUTHORITY SECTION:
willis.com.        86400    IN    NS    dns.willis.com.

;; ADDITIONAL SECTION:
dns.willis.com.        86400    IN    A    172.25.254.1

;; Query time: 0 msec
;; SERVER: 172.25.254.1#53(172.25.254.1)
;; WHEN: Wed Sep 07 21:12:16 CST 2016
;; MSG SIZE  rcvd: 96

6.ddns 

DHCP+DNS=DDNS 

动态DNS(DDNS)需要DNS和DHCP来协同工作。 

Linux下也可以实现DDNS,不过DNS需要Bind8以上的版本,DHCP需要3.0以上的版本。   

1)DNS环境恢复  

           rm -rf /var/named/willis.com.zone                         

           rm -rf /var/named/willis.com.zone.jnl           

           cp -p /mnt/willis    /var/named/   

2)dhcp配置    

2-1  yum install dhcp -y      

2-2  cp -p /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

(3)vim /etc/dhcp/dhcpd.conf ################################################option domain-name "server1.example.com";

option domain-name-servers 172.25.254.1;  

default-lease-time 600; 

max-lease-time 7200;  

# DHCP server to understand the network topology.  

subnet 172.25.254.0 netmask 255.255.255.0 {     

range 172.25.254.80 172.25.254.90;     

option routers 172.25.254.1; 

}  


key willis {          

algorithm hmac-md5;          

secret D3lJsH/gcsyTGmQfDKl/DA==; ####密钥        

};  


zone yqy.com. {          

primary 172.25.254.1;         

key willis;        


(4)systemctl restart named    

    systemctl restart dhcpd

附注:man dhcpd.conf 查找关键字key 


2.辅助服务器 

systemctl restart network 

ifconfig  ###得到一个主服务器server的给的一个IP 

hostnamectl set-hostname bbs.willis.com 

dig bbs.willis.com   ###测试



本文转自willis_sun 51CTO博客,原文链接:http://blog.51cto.com/willis/1847495,如需转载请自行联系原作者

相关文章
|
11月前
|
存储 缓存 算法
HashMap深度解析:从原理到实战
HashMap,作为Java集合框架中的一个核心组件,以其高效的键值对存储和检索机制,在软件开发中扮演着举足轻重的角色。作为一名资深的AI工程师,深入理解HashMap的原理、历史、业务场景以及实战应用,对于提升数据处理和算法实现的效率至关重要。本文将通过手绘结构图、流程图,结合Java代码示例,全方位解析HashMap,帮助读者从理论到实践全面掌握这一关键技术。
352 14
|
8月前
|
人工智能 API 开发者
HarmonyOS Next~鸿蒙应用框架开发实战:Ability Kit与Accessibility Kit深度解析
本书深入解析HarmonyOS应用框架开发,聚焦Ability Kit与Accessibility Kit两大核心组件。Ability Kit通过FA/PA双引擎架构实现跨设备协同,支持分布式能力开发;Accessibility Kit提供无障碍服务构建方案,优化用户体验。内容涵盖设计理念、实践案例、调试优化及未来演进方向,助力开发者打造高效、包容的分布式应用,体现HarmonyOS生态价值。
507 27
|
8月前
|
数据采集 JSON 数据可视化
JSON数据解析实战:从嵌套结构到结构化表格
在信息爆炸的时代,从杂乱数据中提取精准知识图谱是数据侦探的挑战。本文以Google Scholar为例,解析嵌套JSON数据,提取文献信息并转换为结构化表格,通过Graphviz制作技术关系图谱,揭示文献间的隐秘联系。代码涵盖代理IP、请求头设置、JSON解析及可视化,提供完整实战案例。
537 4
JSON数据解析实战:从嵌套结构到结构化表格
|
8月前
|
数据采集 机器学习/深度学习 存储
可穿戴设备如何重塑医疗健康:技术解析与应用实战
可穿戴设备如何重塑医疗健康:技术解析与应用实战
324 4
|
8月前
|
机器学习/深度学习 人工智能 Java
Java机器学习实战:基于DJL框架的手写数字识别全解析
在人工智能蓬勃发展的今天,Python凭借丰富的生态库(如TensorFlow、PyTorch)成为AI开发的首选语言。但Java作为企业级应用的基石,其在生产环境部署、性能优化和工程化方面的优势不容忽视。DJL(Deep Java Library)的出现完美填补了Java在深度学习领域的空白,它提供了一套统一的API,允许开发者无缝对接主流深度学习框架,将AI模型高效部署到Java生态中。本文将通过手写数字识别的完整流程,深入解析DJL框架的核心机制与应用实践。
504 3
|
10月前
|
运维 Shell 数据库
Python执行Shell命令并获取结果:深入解析与实战
通过以上内容,开发者可以在实际项目中灵活应用Python执行Shell命令,实现各种自动化任务,提高开发和运维效率。
318 20
|
11月前
|
物联网 调度 vr&ar
鸿蒙HarmonyOS应用开发 |鸿蒙技术分享HarmonyOS Next 深度解析:分布式能力与跨设备协作实战
鸿蒙技术分享:HarmonyOS Next 深度解析 随着万物互联时代的到来,华为发布的 HarmonyOS Next 在技术架构和生态体验上实现了重大升级。本文从技术架构、生态优势和开发实践三方面深入探讨其特点,并通过跨设备笔记应用实战案例,展示其强大的分布式能力和多设备协作功能。核心亮点包括新一代微内核架构、统一开发语言 ArkTS 和多模态交互支持。开发者可借助 DevEco Studio 4.0 快速上手,体验高效、灵活的开发过程。 239个字符
961 13
鸿蒙HarmonyOS应用开发 |鸿蒙技术分享HarmonyOS Next 深度解析:分布式能力与跨设备协作实战
|
11月前
|
自然语言处理 搜索推荐 数据安全/隐私保护
鸿蒙登录页面好看的样式设计-HarmonyOS应用开发实战与ArkTS代码解析【HarmonyOS 5.0(Next)】
鸿蒙登录页面设计展示了 HarmonyOS 5.0(Next)的未来美学理念,结合科技与艺术,为用户带来视觉盛宴。该页面使用 ArkTS 开发,支持个性化定制和无缝智能设备连接。代码解析涵盖了声明式 UI、状态管理、事件处理及路由导航等关键概念,帮助开发者快速上手 HarmonyOS 应用开发。通过这段代码,开发者可以了解如何构建交互式界面并实现跨设备协同工作,推动智能生态的发展。
671 10
鸿蒙登录页面好看的样式设计-HarmonyOS应用开发实战与ArkTS代码解析【HarmonyOS 5.0(Next)】
|
10月前
|
供应链 搜索推荐 API
深度解析1688 API对电商的影响与实战应用
在全球电子商务迅猛发展的背景下,1688作为知名的B2B电商平台,为中小企业提供商品批发、分销、供应链管理等一站式服务,并通过开放的API接口,为开发者和电商企业提供数据资源和功能支持。本文将深入解析1688 API的功能(如商品搜索、详情、订单管理等)、应用场景(如商品展示、搜索优化、交易管理和用户行为分析)、收益分析(如流量增长、销售提升、库存优化和成本降低)及实际案例,帮助电商从业者提升运营效率和商业收益。
473 20
|
8月前
|
缓存 监控 搜索推荐
【实战解析】smallredbook.item_get_video API:小红书视频数据获取与电商应用指南
本文介绍小红书官方API——`smallredbook.item_get_video`的功能与使用方法。该接口可获取笔记视频详情,包括无水印直链、封面图、时长、文本描述、标签及互动数据等,并支持电商场景分析。调用需提供`key`、`secret`和`num_iid`参数,返回字段涵盖视频链接、标题、标签及用户信息等。同时,文章提供了电商实战技巧,如竞品监控与个性化推荐,并列出合规注意事项及替代方案对比。最后解答了常见问题,如笔记ID获取与视频链接时效性等。

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
  • DNS
  • 下一篇
    oss云网关配置