DNS域名解析服务 (花生壳)

无人久伴 提交于 2019-12-02 02:18:00

DNS服务配置

DNS解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是一一对应的,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。

 

1:开始前:准备两台虚拟机,server虚拟机(172.25.254.160)作为dns服务器,提前配置好yum源.

desktop虚拟机(172.25.254.180)作为客户端进行测试。

2:服务端(对服务端进行配置)

[root@localhost ~ ]# yum install bind -y //安装dns服务软件; -y不用与系统进行交互式访问,直接安装

[root@localhost ~]#systemctl start named  //开启服务(在启动过程中,因为加密字符不够,服务重启一直在等待,这时需要打开图形界面敲击键盘)
[root@localhost ~]#systemctl stop firewalld  //关闭防火墙

[root@localhost ~]# vim /etc/named.conf  ///编辑修改配置文件
     10  options {
     11     listen-on port 53 { any; };  //将之前默认ip改成any;控制named 侦听的ipv4地址
     12     listen-on-v6 port 53 { ::1; };
     14     dump-file       "/var/name
     13     directory       "/var/named";d/data/cache_dump.db";
     15     statistics-file "/var/named/data/named_stats.txt";
     16     memstatistics-file "/var/named/data/named_mem_stats.txt";
     17     allow-query     { any; };    //将允许设置为any;控制那些客户端可以向DNS服务器询问信息
     18     forwarders { 172.25.254.180; };//包含D的NS查询将转发至名称服务器列表(而不是直接联系外部名称服务器;)
     32     dnssec-validation no;  //将yes设置为no

[root@localhost ~]# vim /etc/resolv.conf  //编辑本地解析文件
      search example.com
      nameserver 172.25.254.180


[root@localhost ~]# systemctl restart named  //重启服务
[root@localhost ~]# systemctl restart network //重启网络


客户端:

[root@localhost ~]# vim /etc/resolv.conf
     nameserver 172.25.254.160  //这里的ip是dns服务的主机ip


[root@localhost ~]# dig www.baidu.com  //测试:查询百度的ip信息

当客户端可以查询百度ip信息时,则说明dns服务配置完成

 

dns本地正向解析(server虚拟机上进行操作)

1:[root@localhost ~]# cd /var/named  
[root@localhost named]# ls(查看该目录下有什么)
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
//新建文件,修改文件
[root@localhost named]# cp -p named.localhost westos.com.zone  


2:[root@localhost named]# vim westos.com.zone  //编辑文件 ;其中,@   “”的内容 ;SOA 授权起始主机!

3:[root@localhost named]# vim /etc/named.conf               //将上一个实验的添加的forwards这一行注释

其余的操作和之前的一样。

[root@localhost ~]# vim /etc/named.rfc1912.zones

[root@localhost named]# systemctl restart named          //重启dns服务
4:[root@localhost named]# vim /etc/resolv.conf                //修改dns解析地址,ip改为本地ip
     nameserver 172.25.254.160


5:[root@localhost named]# dig hello.swestos.com  //本机测试

轮询

[root@localhost named]# vim westos.com.zone //修改配置文件

[root@localhost named]# systemctl restart named //重启服务

[root@localhost named]# dig www.westos.com // 测试

(等待1~2s后,再次测试dig www.westos.com会发现两个ip位置会调换;)

 

dns本地反向解析服务(输入ip得到相应的域名)

[root@localhost ~]# vim /etc/named.conf //编辑配置文件(与之前的操作一样两处修改成any一处改为no)
options {
        listen-on port 53 { any; };
        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; };

[root@localhost ~]# vim /etc/named.rfc1912.zones

zone "254.25.172.in-addr.arpa" IN {  // 添加这一段;逆向输入域名
            type master;
            file "westos.com.ptr";
            allow-update { none; };
        };

[root@localhost ~]# cd /var/named
[root@localhost named]# ls
data     named.ca     named.localhost  slaves
dynamic  named.empty  named.loopback   star.com.zone
[root@localhost named]# cp -p named.loopback star.com.ptr  //将所需的文件导入westos.com.ptr中   -p表示将文件的属性也一同复制过去
[root@localhost named]# vim star.com.ptr //编辑反向解析文件!

[root@localhost ~]# vim /etc/resolv.conf
    search example.com
    nameserver 172.25.254.160(本机的ip地址)   


[root@localhost named]# systemctl restart named //重启服务
[root@localhost named]# dig -x 172.25.254.161  //测试(显示下面的结构,表示本地反向解析完成)

 

dns双向解析

[root@localhost ~]#cd /var/named
[root@localhost named]# cp -p westos.com.zone westos.com.inter //--p 是将文件属性一同复制
[root@localhost named]# vim westos.com.inter //让其他主机看到在这个文件里的ip与域名的关系,主机看到的是westos.com.zone真实存在的域名关系

[root@localhost named]# cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter

[root@localhost named]# vim /etc/named.rfc1912.inter //编辑配置文件

[root@localhost named]# vim /etc/named.conf //修改配置文件 (man 5 named可查看所需的配置)

##将这一部分注释

##添加这两段

[root@localhost named]# systemctl retstart named //重启服务
[root@localhost named]# vim /etc/resolv.conf
    search example.com
    nameserver 172.25.254.160
[root@localhost named]# dig www.westos.com  //本机测试

客户端

[root@localhost Desktop]# vim /etc/resolv.conf
    search example.com
    nameserver 172.25.254.160(dns服务端的ip)
[root@localhost Desktop]# dig www.star.com
 

两台主机dig到的ip是不一样的,这样做的好处是保证另外一定的安全性。

dns集群

服务端

[root@localhost named]# vim /etc/named.conf //恢复主配置文件(将之前做双向解析的那个的注释删除,两个view注释后面的内容注释掉)

[root@localhost named]# vim /etc/named.rfc1912.zones

(指定180主机位主dns的辅助)

[root@localhost named]# systemctl restart named //重启服务

辅助dns端

[root@localhost desktop]# yum install bind -y  //安装bind
[root@localhost desktop]#systemctl start named  //开启dns服务
[root@localhost desktop]#systemctl stop firewalld  //关闭防火墙
[root@localhost desktop]#systemctl disable firewalld
[root@localhost desktop]#vim /etc/named.conf(两处any ,一处no)

[root@localhost desktop]#vim /etc/named.rfc1912.zones // 编辑配置文件

zone "westos.com" IN {
        type slave;
        masters { 172.25.254.160; }; //主dns的ip
        file "slaves/westos.com.zone";
        allow-update { none; };
};

[root@localhost desktop]# systemctl restart named //重启named服务

测试:在主dns端:vim /var/named/westos.com.zone

将serial前的0改为1.这样子客户端才能检测到ip的变化

修改ip

在辅助dns端,dig www.westos.com,查看新ip:

客户端远程管理dns主机的dns记录(更新)

主dns端:

[root@localhost named]# cp -p westos.com.zone /mnt/  //备份
[root@localhost named]# vim /etc/named.rfc1912.zones //修改配置文件
    zone "westos.com" IN {
        type master;
        file "westos.com.zone";
        allow-update { 172.25.254.180; }; //将原来的none修改为指定的客户端ip
        also-notify{172.25.254.180;};
    };
[root@localhost named]# systemctl restart named //重启服务
[root@localhost named]# chmod 770 /var/named   //加上权限
客户端(进行测试)
 

(send后没有报错能继续输入则表示没有出错)

之后在dig www.westos.com即可查看172.25.254.111ip地址

(如果内核级防火前处于Enforcing状态):需要把named服务打开

基于key的加密更新

dns主机:

1:开始前:先删除westos.com.zone 和westos.com.zone.jn1(westos.com.zone文件一定要备份)

[root@localhost ~]# cd /mnt    //之前将westos.com/zone复制到/mnt下的
[root@localhost mnt]# ls
westos.com.zone
[root@localhost mnt]# dnssec-keygen -a HMAC-MD5 -b 128 -n  HOST westoskey
Kwestoskey.+157+20484 
//加密 (然后在ls查看/mnt下的文件)

2:查看加密生成的文件(两个钥匙是一样的)

3:编辑/etc/westos.key文件

4:编辑配置文件:

vim /etc/named.conf

vim /etc/named.rfc1912.zones(将none改为westoskey)

5:将钥匙发给客户端即可

6:然后在客户端主机的/mnt下就可以看到钥匙

7:远程客户端

[root@localhost desktop ]# vim /etc/resolv.conf  
  search ilt.example.com example.com
  nameserver 172.25.254.174
[root@localhost desktop ]# nsupdate -k  kwestos+157+40484.key

这样客户端必须带着钥匙才能管理dns主机的ip记录

 

dns智能解析(动态域名解析,又名花生壳)

1:服务端:

[root@localhost mnt]# yum install dhcp -y  //安装dhcp服务软件
[root@localhost mnt]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp: overwrite ‘/etc/dhcp/dhcpd.conf’? y
[root@localhost mnt]# vim /etc/dhcp/dhcpd.conf //编辑配置文件(35行之后全部删除)

[root@localhost mnt]# systemctl restart dhcpd   //重启dhcp服务:

2:客户端:

[root@localhost mnt]# hostnamectl set-hostname YYZZ.westos.com //修改主机名
[root@localhost mnt]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 //修改静态ip为动态获取ip
    DEVICE=eth0
    BOOTPROTO=dhcp
    ONBOOT=yes
##在这一步的时候,需要拔掉网线,再重启网络,获得ip
[root@localhost mnt]# systemctl retstart network //重启网络
[root@localhost mnt]# ifconfig   //查看是否动态获取到了ip(dhcp动态ip地址)


3:进入之前配置的/etc/dhcp/dhcp.conf文件添加所欲的信息

----(1):在第14行添加:ddns-update-style interim;

------(2):文件的最后添加两端信息                                              信息解释:                                                            

 

测试:在客户端重启网络看解析

dig YYZZ.westos.com(可以看到YYZZ.westos.com获得的是设定范围内的ip地址)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!