Llinux运维-DNS

DNS(Domain Name System,域名系统):
   安装服务
bind.x86_64
   bind的主配置文件是
/etc/named.conf
   /var/named:包含名称服务器所使用的其他数据文件

 • DNS 区域采用资源记录的形式存储信息,每条资源记录均具有一个类型, 表明其保留的数据类型。
    – A : 名称至 IPv4地址
    – AAAA : 名称至IPv6 地址
    – CNAME : 名称至” 规范名称 “ ( 包含 A/AAAA 记录的另一个名称 )
    – PTR : IPv4/IPv6 地址至名称

    – MX : 用于名称的邮件交换器 ( 向何处发送其电子邮件 )
    – NS : 域名的名称服务器

    – SOA :” 授权起始“ , DNS 区域的信息 ( 管理信息 )

 DNS 排错:

 • 它显示来自 DNS 查找的详细信息 , 其中包括为什么查询失败 :
    – NOERROR : 查询成功

    – NXDOMAIN : DNS 服务器提示不存在这样的名称
    – SERVFAIL : DNS 服务器停机或 DNSSEC 响应验证失败
    – REFUSED : DNS 服务器拒绝回答 ( 也许是出于访问控制原因 )

 dig 输出的部分内容

 • 标题指出关于查询和答案的信息, 其中包括响应状态和设置的任何特殊标记 ( aa 表示权威答案 , 等等 )
    – QUESTION : 提出实际的 DNS 查询

    – ANSWER : 响应( 如果有 )
    – AUTHORITY : 负责域 / 区域的名称服务器

    – ADDITIONAL : 提供的其他信息 , 通常是关于名称服务器
    – 底部的注释指出发送查询的递归名称服务器以及获得响应所花费的时间


 
实验:
       将虚拟机内存改为1000后reset
       更改ip为172.25.254.122/222;设置yum源为真机的yum仓库。


    1.
搭建高速缓存DNS:(server)
     systemctl stop firewalld
     yum install bind.x86_64 -y
         systemctl start named
     vim /etc/named.conf
        listen-on port 53 { any; };         ##
访问主机的53端口
        allow-query { any; };               ##允许任何地址来访问
            forwarders{ 172.25.254.250; };         ##访问250服务器解析域名

     systemctl restart named               

        (client)

     systemctl stop firewalld
         vim /etc/resolv.conf
        nameserver172.25.254.122
     dig www.baidu.com                  ##
查询baidu的IP   

    2.设置自己为权威dns服务器,并指定www.westos.com的IP为
172.25.254.222
          server:

      systemctl stop firewalld
      vim /etc/named.conf
        forwarders { 172.25.254.250; };         ##
删除此行

      vim /etc/named.rfc1912.zones

      cd /var/named
      cp -p named.localhost westos.com.zone
      vim westos.com.zone
        $TTL 1D         ##缓存dns服务器使用期限:
1day
        @       IN SOA  dns.westos.com.(服务器) root.westos.com.(设置可访问用户) ##若此文件中字符结尾不加".",默认以“@”结尾

                                        0       ; serial
                                        1D     ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                NS      dns.westos.com.    
        dns         A       172.25.254.122      ##dns
服务器
        www         A       172.25.254.222      ##指定www.westos.com的IP为172.25.254.123
        music       CNAME   music.a.westos.com. ##域名规范

        music.a     A   172.25.254.100         
        music.a     A   172.25.254.200
        westos.com. MX 1    172.25.254.222.     ##
邮件dns,发送邮件到223上,MX 1:邮件等级

    systemctl restart named  ##重新服务,如果重启失败可以查询日志

    dig www.westos.com  ##可查询到westos.com的IP为172.25.254.222


    client:

     systemctl stop firewalld
     dig www.westos.com

     dig music.westos.com      ##查询music.westos.com的
IP 

     dig -t mx westos.com      ##查询邮件接受方的
IP

     mail root@westos.com      ##给westos.com发送邮件

        ctrl-D          ##结束
     mailq             ##查看邮件发送状态  
      


    3.多项解析dns服务器:(不同网段的客户机解析出的IP也不同)

    server:
   
给server虚拟机增加一块网卡eth1,ip为172.25.22.11

    systemctl restart network
    cd /var/named
    cp -p westos.com.zonewestos.com.inter
    vim westos.com.inter
        $TTL 1D
        @       IN SOA  dns.westos.com. root.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )   ; minimum
                NS      dns.westos.com.
        dns             A       172.25.22.122
        www             A       172.25.22.222
        music           CNAME   music.a.westos.com.
        music.a         A      172.25.22.100
        music.a         A      172.25.22.200
        westos.com.     MX 1   172.25.22.222.

    cp -p /etc/named.rfc1912.zones/etc/named.rfc1912.inter
    vim /etc/named.conf     ##将原来的zone"."那一段注释掉,添加以下内容:

        view localnet {
            match-clients {172.25.254.0/24; };
            zone "." IN {
            type hint;
            file "named.ca";
            };
            include"/etc/named.rfc1912.zones";
        };

        view inter {
            match-clients {172.25.22.0/24; };
            zone "." IN {
            type hint;
            file"named.ca";
            };
            include"/etc/named.rfc1912.inter";
        };

    systemctl restart named
    
    测试:
 
    client:

    vim /etc/resolv.conf
        nameserver 172.25.22.11

    dig www.westos.com      ##查询的结果是
172.25.22.222

    真机:

    vim /etc/resolv.conf
        nameserver 172.25.254.122

    dig www.westos.com      ##查询的结果是
172.25.254.222


    4.反向解析:

    server
    vim /etc/named.rfc1912.zones
        zone"254.25.172.in-addr.arpa" IN {
            type master;
            file"westos.com.ptr";
            allow-update { none; };
        };

    cp -p /var/named/named.loopback/var/named/westos.com.ptr
    vim /var/named/westos.com.ptr

        $TTL 1D
        @       IN SOA dns.westos.com. root.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
            NS      dns.westos.com.
        dns     A      172.25.254.122
        122     PTR    dss.westos.com.
        111     PTR    www.westos.com.

    systemctl restart named

    测试:

    vim /etc/resolv.conf
        nameserver 172.25.254.122

    dig -x 172.25.254.122       ##结果:
www.westos.com.

    dig -x 172.25.254.111       ##结果:
dss.westos.com.


    5.DNS更新:

    server
    cp -p /var/named/westos.com.zone/mnt/                 ##备份原始文件,实验后可恢复
    vim /etc/named.rfc1912.zones
        zone "westos.com" IN{
            type master;
            file"westos.com.zone";
            allow-update { 172.25.254.122;};   ##
允许122这台机子更新DNS
        };

    chmod 770 /var/named
    setsebool -P named_write_master_zones1
    systemctl restart named

    client:                        ##ip为
172.25.254.222
    nsupdate
    > server 172.25.254.122
    > update add hello.westos.com 86400A 172.25.254.134    ##增加域名

    > send

    server:

    dig hello.westos.com                    ##查询到IP为172.25.254.134

    此时westos.com.zone里面并没有同步,若要同步的话重启
named
    systemctl restart named
    vim /var/named/westos.com.zone      ##此时已经同步


        nsupdate
        > server 172.25.254.122
    > update delete hello.westos.com            ##删除域名

    > send

        dig www.westos.com


    rm -fr /var/named/westos.com.zone/var/named/westos.com.zone.jnl  ##删除更新过的文件

    cp -p /mnt/westos.com.zone/var/named/                            ##将备份在/mnt的文件复制回来,为下面实验创造实验环境。


    6.dns更新加密:

    server
    cd /mnt
    dnssec-keygen -a HMAC-MD5 -b 256 -nHOST dnskey ##-a
加密类型,-b字符长度,-n用途   ##在server里面敲一些字符,敲够256个字符就会自动生成加密文件。
    ls
    cp -p /etc/rndc.key /etc/dns.key
    [root@dns mnt]# catKdnskey.+157+40648.key
            dnskey. IN KEY 512 3 157FDkuJP2ybsMMhxpsbYT8fCAo9ihtdSdSENsAuZoiApQ=  ##
查询密码

    vim /etc/dns.key
        key "dnskey" {              ##名字为指定的
dnskey
            algorithm hmac-md5;
            secret"FDkuJP2ybsMMhxpsbYT8fCAo9ihtdSdSENsAuZoiApQ=";  ##密码

        };

    vim /etc/named.conf
        include "/etc/dns.key";         ##43行加入此命令


    vim /etc/named.rfc1912.zones
        zone "westos.com" IN{
            type master;
            file"westos.com.zone";
            allow-update { key dnskey; };   ##名字为指定的
dnskey
        };

    systemctl restart named
    scp Kdnskey.+157+52554.*root@172.25.254.222:/mnt/  ##分发钥匙


    client:

    [root@dns-desktop mnt]# nsupdate -kKdnskey.+157+52554.private
    > server 172.25.254.122
    > update add hello.westos.com 86400A 172.25.254.188
    > send

    server:

    dig hello.westos.com                ##结果:172.25.254.188


    7.动态dns域名解析:

    随着IP获取的不同,域名解析出来的IP随着IP获取而改变(每获取新的IP,域名解析出来的IP就是新的IP)
        dns-server:
   
前提:
    /var/named/的权限为770
    setsebool -P named_write_master_zones1
    删除/var/named/里的westso.com.zone.jnl和westso.com.zone,复制/mnt/westos.com.zone到
/var/named


    yum install dhcp -y         ##安装dhcp服务

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

    vim dhcpd.conf             
        option domain-name"westos.com";    ##域名

        option domain-name-servers172.25.254.122;  ##dns服务器IP
        default-lease-time 600;
        max-lease-time 7200;
        ddns-update-style interim;          ##允许通过钥匙更新
dns
        log-facility local7;
        subnet 172.25.254.0 netmask255.255.255.0 { ##网段

         range 172.25.254.150 172.25.254.158;      ##网池,IP从160到165随意分配
         option routers 172.25.254.250;        ##网关
        }

        key dnskey {
            algorithm hmac-md5;
            secret FDkuJP2ybsMMhxpsbYT8fCAo9ihtdSdSENsAuZoiApQ=;
        };

        zone westos.com. {
            primary 127.0.0.1;  ##
采用回环接口IP,提升效率,安全性
            key dnskey;
        }

    vim /etc/named.conf
        view localnet {
            match-clients {172.25.254.0/24; 127.0.0.1; };  ##增加
127.0.0.1
            zone "." IN {
            typehint;
            file"named.ca";
            };
            include"/etc/named.rfc1912.zones";
        };

        view inter {
            match-clients {172.25.23.0/24; 127.0.0.1; };   ##增加
127.0.0.1
            zone "." IN {
            type hint;
            file"named.ca";
            };
            include"/etc/named.rfc1912.inter";
        };

    systemctl restart named
    systemctl restart dhcpd
     client测试:

    hostnamectl set-hostnametest.westos.com    ##设置主机名
    vim/etc/sysconfig/network-scripts/ifcfg-eth0   ##动态获取IP
        DEVICE=eth0
        BOOTPROTO=dhcp
        ONBOOT=yes

    systemctl restart network
    ifconfig
    dig test.westos.com             ##得到的IP是dhcp给的
IP
42

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值