美文网首页
LInux项目之实现根DNS到客户端的简单实现

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

作者: 王王王小白 | 来源:发表于2017-09-16 11:36 被阅读0次

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

    yum -y install bind
    iptables -F
    setenforce 0
    

    实验流程框图:


    imageimage

    实验步骤:

    检查命令:

    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
    

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

    相关文章

      网友评论

          本文标题:LInux项目之实现根DNS到客户端的简单实现

          本文链接:https://www.haomeiwen.com/subject/nipysxtx.html