DNS服务

主从DNS服务器

**实验目的:**

       数据备份,分摊压力(调度器)

**先关闭服务器和客户机上的防火墙和SELinux**

**实验准备:**

一台主服务器、一台从服务器、一台测试机![[Pasted image 20240913135841.png]]
规划:  
7-3 #DNS主服务器  
  192.168.90.102  
7-4 #DNS从服务器  
  192.168.90.103  
7-6 #web server  
192.168.90.101 
7-7 #client  
  192.168.90.100


![[Pasted image 20240917141207.png]]


如何备份?从服务器向主服务器发起请求,然后主服务器将相关数据发送给从服务器
  ![[Pasted image 20240913144350.png]]
**搭建过程:**

服务器webserver要执行的命令 安装apache服务
``` shell
   yum -y install httpd
     systemctl start httpd
     cd /var/www/html/
     ll
     echo "欢迎" >> index.html

```

**1.**      **搭建主服务器步骤**

a.      安装bind软件

b.      主配置文件的修改
![[Pasted image 20240913141348.png]]
c.      区域配置文件的修改
![[Pasted image 20240913141230.png]]
修改为:allow-transfer { IP地址; };

d.      配置数据文件
![[Pasted image 20240913141513.png]]
正向数据文件

1.      修改版本号{格式:2024091301              #序号每次+1 最多到99

2.      添加两条解析记录

NS    dns2.xxhf.com.
dns2         A           192.168.90.103


相关命令
``` shell 
    按如下步骤
    yum -y install bind
   vim /etc/named.conf     #主配置文件
           listen-on port 53 { any; }; allow-query   { any; };
   vim /etc/named.rfc1912.zones    #区域配置文件 
           zone "xxhf.com" IN {
        type master;
        file "xxhf.localhost";
        allow-transfer { 192.168.90.103; };
};

   cd /var/named/
       cp -a named.localhost  xxhf.localhost
   vim xxhf.localhost        #域名正向解析配置文件 
       $TTL 1D
@       IN SOA  xxhf.com. rname.invalid. (
                                        2024091301      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.xxhf.com.
        NS      dns2.xxhf.com.  #在搭建的从dns服务器域名
dns     A       192.168.90.102   主dns
dns2     A       192.168.90.103   次dns
www     A       192.168.90.101    server服务器域名


   systemctl start named

```

e.      启动named服务

**2.**    **搭建从服务器步骤:**


a.        安装bind软件

b.        修改主配置文件/etc/named.conf
![[Pasted image 20240913142044.png]]
c.        配置区域文件(/etc/named.rfc1912.zones)![[Pasted image 20240913141840.png]]

注意:从配置文件的类型需要修改为slave,并且需要填写主服务器的地址,如下

type slave;

masters { 192.168.90.102; };         #大括号两侧留有空格

文件保存位置修改为 file “slaves/xxhf.localhost”;

d.        重启服务

相关命令
``` shell
    yum -y install bind
   vim /etc/named.conf 
           listen-on port 53 { any; }; allow-query   { any; };
    vim /etc/named.rfc1912.zones 
            zone "xxhf.com" IN {
            type slave;
            masters { 192.168.90.102; };
            file "slaves/xxhf.localhost"; #注意保存路径在全局路径下的相对路径多了slaves
            allow-update { none; };
      };

systemctl start named
#当修改了主dns的配置可以用 不用重新启动
systemctl reload named

```
 测试: 
在slave服务器上查看是否备份了主dns服务器的文件
![[Pasted image 20240913140622.png]]

开始测试client 先添加dns 并使用nslookup测试
``` shell 
  vim /etc/resolv.conf #添加网卡dns的配置文件
          nameserver 192.168.90.102
          nameserver 192.168.90.103
    systemctl restart network
    #要测试的命令
    nslookup www.xxhf.com
    nslookup dns.xxhf.com
    nslookup dns2.xxhf.com
    nslookup www.baidu.com
    curl www.xxhf.com

```
把主dns关闭看从dns服务器能否独立运行

![[Pasted image 20240913142725.png]]
在client端测试发现可以访问apache服务 证明从dns服务器可以独立运行但是时间不能维持很久![[Pasted image 20240913143528.png]]


ps : 扩展     curl  #url资源访问命令  不可以识别html
          elinks  #字符界面下的浏览器(需要手动安装) 可以识别html

###  DNS缓存服务器

**先关闭服务器和客户机上的防火墙和SELinux**

**实验作用:**

       加快解析速度,提高工作效率

**实验软件:**

       dnsmasq dns缓存服务

![[Pasted image 20240913145858.png]]

规划:  
7-3 #DNS主服务器  
  192.168.90.102  
7-4 #DNS缓存服务器
  192.168.90.103  
7-6 #web server  
  192.168.90.101 
7-7 #client  
  192.168.90.100

![[Pasted image 20240913144523.png]]

**搭建webserve服务器步骤**
服务器webserver要执行的命令 安装apache服务

``` shell  
    yum -y install httpd
    systemctl start httpd
    cd /var/www/html/
    ll
    echo "欢迎" >> index.html
```


**搭建dns服务器步骤**

 ``` shell 
      yum -y install bind
     vim /etc/named.conf  #修改主配置文件 改下面两个
    listen-on port 53 { any; }; listen-on port 53 { any; };
     vim /etc/named.rfc1912.zones  #修改地方
        zone "xxhf.com" IN  zone "90.168.192.in-addr.arpa" IN
   cd /var/named/
   cp -a named.localhost  named.localhost.bak
    cp -a named.loopback   named.loopback.bak 
    vim named.localhost  #正向文件
    vim named.loopback    #反向文件
    systemctl start named
```

**搭建dns缓存服务器步骤**

 ``` shell

yum -y install  dnsmasq

vim /etc/dnsmasq.conf
domain=xxhf.com
server=192.168.90.102
cache-size=5
systemctl restart dnsmasq


```
**配置文件:**

       /etc/dnsmasq.conf

           domain=域名                             #需要解析的域名

              server=ip                                   #主DNS服务器IP

             cache-size=15000                       #声明缓存条数

**重启服务:**

       systemctl restart dnsmasq

**client测试效果:**

       在测试机上填写DNS缓存服务器的ip地址
``` shell 
   vim /etc/resolv.conf #添加网卡dns的配置文件
          nameserver 192.168.90.102
          nameserver 192.168.90.103
    systemctl restart network
    #要测试的命令
    nslookup www.xxhf.com
    nslookup dns.xxhf.com
    nslookup dns2.xxhf.com
    nslookup www.baidu.com
    curl www.xxhf.com
```
![[Pasted image 20240913150911.png]]

一旦dns服务器关闭,缓存dns服务器不可以独立运行测试如下![[Pasted image 20240913151226.png]]
## 缓存服务器和从服务器的不同点?

缓存服务器保存部分常用的数据副本,以加快访问速度,当客户端请求如百度时,缓存服务器会存储这个请求的结果,供后续快速使用。不像从服务器那样复制全部数据。

``` shell
       #!/bin/bash
read i
#已实现免密登录
ssh $i
systemctl enable --now named 

if [ "$?" -ne "0" ]
then

sed -i '/server/ s/192.168.90.102/192.168.90.103/ ' /etc/dnsmasq.conf

fi
```

  
智能dns案例

![[Pasted image 20240913195906.png]]

当北京用户访问该网站时,他们的请求会被发送到本地的 DNS 服务器进行解析,并得到指向北京数据中心 IP 地址的结果;同样地,上海用户也会通过当地的 DNS 服务获取到指向上海数据中心相应 IP 的映射关系。这样一来,尽管地理位置不同,但是每个用户都能够准确地找到自己所在区域内的服务器并获得相同的内容体验。同时由于两个地区之间的数据同步功能的存在,确保了无论哪个地区的用户都能看到最新的、一致性的页面内容。

###  分离解析 (重难点)

**实验原理:**DNS分离解析即将相同域名解析为不同的IP地址。现实网络中一些网站为了让用户有更好的体验效果解析速度更快,就把来自不同运营商的用户解析到相对应的服务器这样就大大提升了访问速度   
==同一个DNS服务器在解析给不同客户端时,会根据客户端来源地址的不同解析给响应的服务 这就叫分离解析,或者叫智能DNS   智能DNS采用"就近原则",以优化用户访问资源的效率并减轻单个数据中心的压力==

网卡拓扑图

![[Pasted image 20240917142152.png]]


![[Pasted image 20240913192502.png]]
**实验环境:**
  规划:  
  7-6  #内网测试机  
  ens33  vmnet10   192.168.100.100  
    
  7-3  #web服务器  
  ens33  vmnet10   192.168.100.101  
  ens36  vmnet8  192.168.90.101    
    
  7-4  #DNS服务器  
  ens33  vmnet10   192.168.100.102 
  ens36  vmnet8  192.168.90.102    
    
  7-7  #外网测试机  
  ens33  vmnet8  192.168.90.103
![[Pasted image 20240913191632.png]]

**先关闭服务器和客户机上的防火墙和SELinux**

**先搭建dns服务器**
**实验步骤:**

**1.  请在配置网卡前安装bind软件

**2.  修改主配置文件/etc/named.conf
   ``` shell 
    vim /etc/named.conf 
     listen-on port 53 { any; }; allow-query   { any; };
      view lan {
        match-clients {  192.168.100.0/24; };
        zone "." IN {
        type hint;
        file "named.ca";
        };
        include "/etc/lan.zones";
};
    view wan {
        match-clients { any; };
        zone "." IN {
        type hint;
        file "named.ca";
        };
        include "/etc/wan.zones";
};
#include "/etc/named.rfc1912.zones";

```

![[Pasted image 20240917142343.png]]

==注意:主配置文件在调用这两个区域配置文件时, 在区域配置文件每一个单独的匹配视窗里边,单独include的某一个区域配置文件 此外要注释掉原本的区域配置文件==

**3.**  **生成自己定义的区域文件

 ``` shell
     cd /etc
    cp -a named.rfc1912.zones  lan.zones
    cp -a lan.zones  wan.zones
    
    vim  lan.zones
        zone "xxhf.com" IN {
        type master;
        file "xxhf.lan";
        allow-update { none; };
};

    vim  wan.zones
        zone "xxhf.com" IN {
        type master;
        file "xxhf.wan";
        allow-update { none; };
};


```
cp –a named.rfc1912.zones lan

cp –a named.rfc1912.zones wan

**5.**  **配置数据文件**

配置内网的正向解析文件
配置外网的正向解析文件
``` shell 
   cd /var/named/
    
cp -a named.localhost xxhf.lan #内网
 vim xxhf.lan
     $TTL 1D
@       IN SOA  xxhf.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.xxhf.com.
dns     A       192.168.100.102
www     A       192.168.100.100
                                
cp -a  xxhf.lan  xxhf.wan  #外网
vim  xxhf.wan
 $TTL 1D
@       IN SOA  xxhf.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.xxhf.com.
dns     A       192.168.90.102
www     A       192.168.90.100
                            
```

**6.**  **启动服务**

systemctl start named


**在搭建web服务器**
  **1.  请在配置网卡前安装httpd软件 并添加两个不同网络模式的网卡
      
``` shell
    #相关命令
   yum -y install httpd
    systemctl start httpd
    cd /var/www/html/
    ll
    echo "欢迎" >> index.html
    cd /etc/sysconfig/network-scripts/
    vim ifcfg-ens33 
    cp -a ifcfg-ens33 ifcfg-ens36

```
![[Pasted image 20240913194656.png]]

**在搭建内网和外网服务器**

![[Pasted image 20240913194924.png]]

![[Pasted image 20240913194956.png]]
 ``` shell 
  
  之后的操作要连接dns服务器
  
  #内网测试机 
   vim /etc/resolv.conf #添加网卡dns的配置文件
          nameserver 192.168.100.102
    systemctl restart network
    #外网测试机 
    vim /etc/resolv.conf #添加网卡dns的配置文件
          nameserver 192.168.90.102
    systemctl restart network
```

**7.**  **效果测试**

内网客户端网卡配置

    将dns和网关都指为网关服务器的内网口地址


![[Pasted image 20240913195339.png]]

外网客户端网卡配置

    将dns和网关都指为网关服务器的外网口地址

![[Pasted image 20240913195300.png]]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值