LInux项目之实现根DNS到客户端的简单实现

实验设备:5台服务器
实验要求:

yum -y install bind
iptables -F
setenforce 0

实验流程框图:


image
image

实验步骤:

检查命令:

named-checkconf
named-checkzone 域名 域名配置文件

一、在5台服务器上同时修改bind的主配置文件

vim /etc/named.conf
# 寻找到一下字样进行修改,注意看修改的哪里。
options {
//      listen-on port 53 { 127.0.0.1; };
        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     { localhost; };
        recursion yes;

        dnssec-enable no;
        dnssec-validation no;
# 修改named.ca文件,将所有的服务器指向根DNS,或者直接替换named.ca文件为以下内容
vim /var/named/named.ca

; <<>> DiG 9.9.2-P1-RedHat-9.9.2-6.P1.fc18 <<>> +bufsize=1200 +norec @a.root-servers.net
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25828
;; flags: qr aa; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 23

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;.                              IN      NS

;; ANSWER SECTION:
.                       518400  IN      NS      a.root-servers.net.

;; ADDITIONAL SECTION:
a.root-servers.net.     3600000 IN      A       192.168.40.129

这样前期的工作基本上就完成了,现在在我们的面前出现了一个问题,就是我们到底是从上往下搭建还是从下往上搭建呢?
保险起见我们还是从下网上搭建,一步一步的搭建,之后还可以测试。
(1)我们首先修改192.168.40.133上的配置文件

vim /etc/named.rfc
# 添加以下信息,但是不要在最后添加。
zone "wang.com" IN {
    type master;
    file "wang.com.zone";
};
# 然后进入
vim /var/named/wang.com.zone
$TTL 1D @ IN SOA dns1. dnsadmian. ( 0 1H 10M 1D 3H )
            NS  dns1
    dns1    A   192.168.40.133
    www     A   6.6.6.6
chgrp named wang.com.zone
systemctl restart named
# 然后打开客户端
dig www.wang.com @192.168.40.133
当出现以下字样的时候就是成功了
;  <<>> DiG 9.9.4-RedHat-9.9.4-37.el7 <<>> www.wang.com @192.168.40.133
;; global options: +cmd
;; Got answer
;; ->>HEADER<<- opcode:QUERY, status: NERROR, id: 58594
   flags: qr aa rd ra; QUERY: 1 ANSWER: 1 AUTHORITY: 1 ADDITITIONAL: 2
   
;; OPT PSEUDOSECTION:
;  EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.wang.com                               IN      A

;;ANSWER SECTION:
www.wang.com                86400   IN      A       6.6.6.6

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

;; AUTHORITY SECTION:
dns1.wang.com               86400   IN      A       192.168.40.133

然后我们需要创建192.168.40.129的从属DNS

(2)进入192.168.40.103服务器,编辑配置文件

vim /etc/named.rfc1912.zones 
zone "wang.com" {
        type slave;
        masters { 192.168.8.133;};
        file "slaves/wang.slave";
};

rndc reload,之后systemctl restart named

现在我们已经搭建好了wang.com的DNS现在我们需要搭建再上一级的COM的DNS了

(3)我们进入192.168.40.100服务器编辑配置文件

vim /etc/named.rfc
# 添加以下信息,但是不要在最后添加。
zone "com" IN {
    type master;
    file "com.zone";
};
# 然后进入
vim /var/named/com.zone
$TTL 1D @ IN SOA dns1. dnsadmian. ( 0 1H 10M 1D 3H )
            NS  dns1
    dns1    A   192.168.40.100
    wang    NS  dns2
    dns2    A   192.168.40.133

验证,不正确的话执行检查配置文件步骤

(4)我们进入192.168.40.129服务器编辑配置文件

vim /etc/named.rfc
# 添加以下信息,但是不要在最后添加。
zone "." IN {
    type hint;
    file "root.zone";
};
# 然后进入
vim /var/named/com.zone
$TTL 1D @ IN SOA dns1. dnsadmian. ( 0 1H 10M 1D 3H )
            NS  dns1
    dns1    A   192.168.40.129
    com     NS  dns2
    dns2    A   192.168.40.100

验证,不正确的话执行检查配置文件步骤
(5)创建转发dnsserver

我们进入192.168.40.135服务器编辑配置文件

vim /etc/named.rfc
Options {
forward first;
forwarders { 192.168.40.129;};
# 然后
vim /etc/named.conf
    options {
//      listen-on port 53 { 127.0.0.1; };
        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     { localhost; };
        allow-transfer  { 192.168.40.103 };
        recursion yes;
#仔细查看最后两行

然后进行测试

dig www.wang.com @192.168.40.129
    ;  <<>> DiG 9.9.4-RedHat-9.9.4-37.el7 <<>> www.wang.com @192.168.40.129
;; global options: +cmd
;; Got answer
;; ->>HEADER<<- opcode:QUERY, status: NERROR, id: 58594
   flags: qr aa rd ra; QUERY: 1 ANSWER: 1 AUTHORITY: 1 ADDITITIONAL: 2
   
;; OPT PSEUDOSECTION:
;  EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.wang.com                               IN      A

;;ANSWER SECTION:
www.wang.com                86400   IN      A       6.6.6.6

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

;; AUTHORITY SECTION:
dns1.wang.com               86400   IN      A       192.168.40.129

当出现以上字样的时候就大功告成了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、实现从根,com,rj.com 模拟互联网的DNS架构 DNS(Domain Name System,域名系统...
    ssjinyao阅读 5,415评论 0 7
  • 1. 概述 在网络环境中一般用户只需要在浏览器中输入url如www.sunny.com就可以到对应服务器获取相应的...
    ghbsunny阅读 8,459评论 0 7
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,058评论 19 139
  • 1、第八章 Samba服务器2、第八章 NFS服务器3、第十章 Linux下DNS服务器配站点,域名解析概念命令:...
    哈熝少主阅读 9,175评论 0 10
  • DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能...
    一直在努力hard阅读 10,136评论 3 19

友情链接更多精彩内容