实现Internet的DNS服务架构

实现Internet的DNS服务架构

一.准备

1.安装最小化系统并进行必要配置

  • 安装最小系统

  • 配置网络

    • 1.修改centos7,8网卡名为传统网卡名
      sed -i.org '/GRUB_CMDLINE_LINUX/s@"$@ net.ifnames=0 "@' /etc/default/grub
      grub2-mkconfig -o /etc/grub2.cfg
      reboot

    • 2.配置静态网址

      vim /etc/sysconfig/network-scripts/ifcfg-eth0
      DEVICE=eth0
      NAME=eth0
      BOOTPROTO=static
      HWADDR=
      IPADDR=192.168.131.
      NETMASK=255.255.255.0
      GATEWAY=192.168.131.2
      
    • 3.reboot

  • 安装必要软件

    • 挂载光盘
    mount /dev/sr0 /mnt
    cat > /etc/yum.repo.d/base <<eof
    [base]  
    name=base  
    baseurl=file:///mnt/  
    gpgcheck=0  
    enabled=1
    
    • 安装相关软件
    yum install httpd|bind vim
    

2.关闭防火墙

  • CentOS6
    chkconfig iptables off
    service stop iptables
  • CentOS7|8
    systemctl disable firewalld
    systemctl stop firewalld

3.关闭SElinux

  • CentOS6|7|8
    sed -i 's#SELINUX=enforcing#SELINUX=disabled#' /etc/selinux/config &> /dev/null

4.时间同步

CentOS6作为客户端

  • 确认ntpd服务状态和配置文件
rpm -ql ntp
chkconfig ntpd on
service start ntpd
ss -unlp
  • 编辑/etc/ntpd.conf,注释原来的国外的ntp服务器添加:
server ntp.aliyun.com iburst
server ntp1-7.aliyun.com iburst

CentOS6作为时间同步服务器

  • 编辑修改/etc/ntpd.conf
添加:
server 172.20.3.82 iburst
更改:
restrict default nomodify notrap nopeer noquery --> restrict default nomodify
service ntpd start   启动服务
chkconfig ntpd on    开机启动
ss -unl              确认监听udp/123

CentOS7|8作为客户端

  • 确认chronyd服务的状态
rpm -ql chrony
yum install chrony
systemctl status chronyd.seervice
systemctl start chronyd.seervice
  • 编辑/etc/chrony.conf,注释原来的国外的ntp服务器,并添加阿里的公共ntp服务器
添加:
server ntp.aliyun.com iburst
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst
server ntp4.aliyun.com iburst
server ntp5.aliyun.com iburst
server ntp6.aliyun.com iburst
server ntp7.aliyun.com iburst

CentOS7|8作为服务器

  • 编辑修改/etc/chronyd.conf
注释server开头的行
添加阿里的公共ntp服务器域名
ntp.aliyun.com iburst添加本地可连接本机同步的主机
allow 192.168.0.0/16即使本机时间未和阿里的ntp服务器时间同步,也向本地的其它主机提供时间同步服务
local stratum 10
  • 此处实验可以使用某台主机同步互联网的时间,其他主机同步该主机时间

5.主机需求及解析区域分配

主机地址
DNS客户端192.168.131.6/24
本地DNS服务器(cache DNS)192.168.131.8/24
转发目标DNS服务器192.168.131.18/24
根DNS服务器192.168.131.28/24
cn域DNS服务器192.168.131.38/24
suosuoli.cn域主DNS服务器192.168.131.48/24
suosuoli.cn域从DNS服务器192.168.131.58/24
www.suosuoli.cn的WEB服务器192.168.131.68/24

二.实现

1.实现思路

  • 由于该实验涉及到多台DNS服务器的配置,不可随意配置,需要以方便测试和排错为原则来
    进行部署实现;此次部署实验大致顺序如下:
1.配置客户端地址并将其DNS服务器指向本地DNS服务器(192.168.131.8)
2.接着配置WEB服务器,并保证客户端可以访问WEB服务器
3.接下来配置suosuoli.cn域的主DNS服务器,并保证客服端通过指定该主服务器能够顺利解析
suosuoli.cn(192.168.131.6:$dig www.suosuoli.cn @192.168.131.48 )
4.接着配置suosuoli.cn域的从DNS服务器,并保证将主DNS服务停止后客服端通过指定该从服
务器能够顺利解析suosuoli.cn(192.168.131.6:$dig www.suosuoli.cn @192.168.131.58 )
5.在主从DNS服务器配置OK后,就可以配置cn域DNS服务器了,配置完成后保证客户端通过指定
从cn域DNS服务器能够解析www.suosuoli.cn(192.168.131.6:$dig www.suosuoli.cn @192.168.131.28 )
6.配置转发目标DNS服务器,同样确保可以通过该转发服务器解析
7.配置本地DNS服务器,此时直接访问www.suosuoli.cn即可(curl www.suosuoli.cn)

2.实现步骤

2.1 客户端网络配置192.168.131.6/24

vim /etc/sysconfig/network-scripts/ifcfg-eth0
NAME=eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.131.6
NETMASK=255.255.255.0
DNS1=192.168.8.8
ONBOOT=yes
service network restart | systemctl restart NetworkManager

2.2 WEB服务器配置192.168.131.68/24

rpm -q httpd || yum install httpd
echo www.magedu.org  > /var/www/html/index.html
service httpd restart | systemctl start httpd
在客户端访问测试
192.168.131.6:$curl 192.168.131.68

2.3 suosuoli.cn域的主DNS服务器配置192.168.131.48/24

1.安装DNS实现BIND软件
rpm -q bind || yum install bind -yvim /etc/named.conf
2.注释掉相应配置项,以允许其它主机通过本服务器查询
//  listen-on port 53 { 127.0.0.1; };
//  allow-query     { localhost; };3.在主配置文件添加选项只允许从服务器进行区域传输
allow-transfer { 192.168.131.58 ; };3.定义区域数据库类型和文件名
vim /etc/named.rfc1912.zones
zone "suosuoli.cn" {type master;file "suosuoli.cn.zone";
};4.定义区域数据库文件suosuoli.cn.zone
vim /var/named/suosuoli.cn.zone
$TTL 1D
@    IN     SOA  master admin.suosuoli.cn. (2019111709   ; serial2D           ; refresh2H           ; retry5D           ; expire2H )         ; minimumNS   masterNS   slave
master      A    192.168.131.48
slave       A    192.168.131.585.更改所属组和权限
chgrp named  /var/named/suosuoli.cn.zone
chmod 640    /var/named/suosuoli.cn.zone
service named start | systemctl start named          # 第一次启动服务
rndc reload         # 第一次启动服务后更改配置后使用rndc重新载入配置文件6.在客户端测试
192.168.131.6:$dig www.suosuoli.cn @192.168.131.48

2.4 suosuoli.cn域的从DNS服务器配置192.168.131.58/24

1.安装DNS实现BIND软件
rpm -q bind || yum install bind -y
2.vim /etc/named.conf
//  listen-on port 53 { 127.0.0.1; };
//  allow-query     { localhost; };
3.添加配置项,不允许其它主机进行区域传输
allow-transfer { none; };
4.定义区域数据库类型和文件名
vim /etc/named.rfc1912.zones
zone "suosuoli.cn" {type slave;masters { 192.168.131.48; };file "slaves/suosuoli.cn.slave";
};
service named start | systemctl start named
5.检查区域数据库是否生成
ls -l /var/named/slaves/suosuoli.cn.slave6.在客户端测试(先停止主服务器named)
192.168.131.48:service named stop | systemctl stop named
192.168.131.6:$dig www.suosuoli.cn @192.168.131.58

2.5 cn域的主DNS服务器配置192.168.131.38/24

yum install bind -y
1.注释两行
//  listen-on port 53 { 127.0.0.1; };
//  allow-query     { localhost; };2.定义区域数据库类型和文件名
vim /etc/named.rfc1912.zones
zone "cn" {type master;file "cn.zone";
};3.编写区域数据库
vim /var/named/org.zone
$TTL 1D
@    IN     SOA  master admin.suosuoli.cn. (2019111709   ; serial2D           ; refresh2H           ; retry5D           ; expire2H )         ; minimumNS   master
suosuoli    NS   suousolins1
suosuoli    NS   suousolins2
master      A    192.168.131.38
suousolins1 A 192.168.131.48
suousolins2 A 192.168.131.584.权限和所属组配置
chgrp named  /var/named/cn.zone
chmod 640    /var/named/cn.zoneservice named start | systemctl start named5.在客户端测试
192.168.131.6:$dig www.suosuoli.cn @192.168.131.38

2.6 根域服务器主DNS服务器配置192.168.131.28/24

yum install bind -y
1.注释两行,并直接在主配置文件中定义根域文件名
//  listen-on port 53 { 127.0.0.1; };
//  allow-query     { localhost; };
zone "." IN {type master;file "root.zone"
};2.编写区域数据库
vim /var/named/root.zone
@TTL  1D
@    IN     SOA  master admin.suosuoli.cn. (2019111709   ; serial2D           ; refresh2H           ; retry5D           ; expire2H )         ; minimumNS    master
cn      NS    cnns
master  A     192.168.131.28
cnns    A     192.168.131.383.组和权限设置
chgrp named  /var/named/root.zone
chmod 640    /var/named/root.zoneservice named start | systemctl start named4.在客户端测试
192.168.131.6:$dig www.suosuoli.cn @192.168.131.28

2.7 转发目标DNS服务器配置192.168.131.18/24

yum install bind -y1.注释两行
vim /etc/named.conf
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; }2.编写区域数据库文件(在根区域数据库文件的基础上更改)
vim /var/named/named.ca
使用‘;;’两个分号注释掉其它行,添加下面两行
.                       518400    IN        NS        a.root-servers.net.
a.root-servers.net.     3600000   IN        NS        192.168.131.28service named start | systemctl start named3.在客户端测试
192.168.131.6:$dig www.suosuoli.cn @192.168.131.18

2.8 本地DNS服务器配置192.168.131.8/24

yum install bind -y1.注释两行,并添加转发配置项,接着失能两项DNS安全检查配置项
vim /etc/named.conf
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; }
forward only;
forwarders { 192.168.131.18; };dnssec-enable no;
dnssec-validation no;service named start | systemctl start named3.在客户端测试
192.168.131.6:$dig www.suosuoli.cn @192.168.131.8

2.9 客服端测试

cat /etc/resolv.conf
nameserver 192.168.131.8
dig www.suosuoli.cn
root@localhost ~]# dig www.suosuoli.cn; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> www.suosuoli.cn
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 432453
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.suosuoli.cn.            IN  A
;; ANSWER SECTION:
www.suosuoli.cn.     86181   IN  A   192.168.131.68
;; AUTHORITY SECTION:
suosuoli.cn.     86181   IN  NS  ns2.suosuoli.cn.
suosuoli.cn.     86181   IN  NS  ns1.suosuoli.cn.
;; ADDITIONAL SECTION:
suosuoli.cn.     86181   IN  A  192.168.131.48
suosuoli.cn.     86181   IN  A  192.168.131.58
;; Query time: 1 msec
;; SERVER: 192.168.8.8#53(192.168.8.8)
;; WHEN: Sun Nov 10 10:53:39 CST 2019
;; MSG SIZE  rcvd: 127curl www.suosuooli.cn
<h1>Welcome!<h1>

关于DNS的介绍

3.Trouble shooting

  • 1.解析出错状态分析
SERVFAIL:The nameserver encountered a problem while processing the query. 可使用dig +trace排错,可能是网络和防火墙导致 
NXDOMAIN:The queried name does not exist in the zone. 可能是CNAME对应的A记录不存在导致 
REFUSED:The nameserver refused the client's DNS request due to policy restrictions. 可能是DNS策略导致

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/76826.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

9月1日作业

思维导图 服务器代码 #include<myhead.h>#define PORT 4567 #define IP "192.168.6.225"struct msg //接收到的客户端信息结构体 {char type;char name[20];char txt[128]; };//定义节点类型 typedef struct Node {union{struct sockaddr_in cin; //数据…

SpringMVC增删改查(CRUD)的实现

目录 前言 一、前期准备 1.pom.xml---依赖与插件的导入 2.jdbc.properties---数据库连接 3.log4j2.xml---日志文件 4.spring-mybatis---mybatis与spring整合文件 5.spring-context---spring上下文配置 6.spring-mvc 7.generatorConfig.xml---代码生成器 8.web.xml 二…

核心实验16_端口镜像_ENSP

项目场景&#xff1a; 核心实验16_端口镜像_ENSP 实搭拓扑图&#xff1a; 具体操作&#xff1a; 交换机: [garliccc]observe-port 1 interface GigabitEthernet 0/0/3 /设置0/0/3为观察口 [garliccc]int g0/0/2 [garliccc-GigabitEthernet0/0/2]port-mirroring to observe-po…

win 10 安装新程序总是弹出提示:目前无法访问smartscreen

win 10 安装新程序总是弹出提示&#xff1a;目前无法访问smartscreen 因为后来无法再现警告&#xff0c;无法截图 搜索安全&#xff0c;找到 Windows 安全中心 找到“应用和浏览器控制”&#xff0c;关闭其中 2 项 SmartScreen 奇怪的是&#xff0c;之后我又改回去了&#x…

npm install失败的分析与解决方案,以及修复完成的代码地址

问题描述&#xff1a; 在引入vue-element-admin后npm i 初始化失败&#xff0c;或者对下载的vue项目npm i 任何插件都会失败&#xff0c;且安装依赖时报错 npm ERR! Error while executing npm ERR! Error while executing: npm ERR! H:\Program Files\git\Git\cmd\git.EXE ls…

latex 源码,\section如何居左显示

目录 问题描述&#xff1a; 问题解决&#xff1a; 不显示序号的办法&#xff1a; 居左对齐的方法&#xff1a; 问题描述&#xff1a; 一般无论是投稿期刊还是投稿会议&#xff0c;默认的.tex源码中的\section未必是居左显示的&#xff0c;有时候&#xff0c;需要在不更改.…

接口测试(详细总结)

序章 ​ 说起接口测试&#xff0c;网上有很多例子&#xff0c;看了不不知道他们说的什么&#xff0c;觉得接口测试&#xff0c;好高大上。认为学会了接口测试就能屌丝逆袭&#xff0c;走上人生巅峰&#xff0c;迎娶白富美。因此学了点开发知识后&#xff0c;发现接口测试其实都…

第P4周:猴痘病识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f366; 参考文章&#xff1a;Pytorch实战 | 第P4周&#xff1a;猴痘病识别&#x1f356; 原作者&#xff1a;K同学啊|接辅导、项目定制 一、前期准备 1.设置GPU 设置GPU device torch.device…

系统架构设计师-嵌入式系统

目录 一、嵌入式系统概述 1、基本概念 2、嵌入式系统软件组成架构 二、嵌入式软件开发 三、嵌入式硬件 1、嵌入式微处理器 2、人工智能芯片 3、嵌入式微处理器体系结构 4、总线 四、嵌入式操作系统 1、嵌入式实时操作系统 2、操作系统内核架构 3、鸿蒙操作系统 五、嵌入式…

hive的语言元素

参考文档地址 http://www.hplsql.org/doc 数据类型 可以在HPL/SQL程序中使用以下数据类型&#xff1a; 数据类型描述BIGINT / INT864位整数BINARY_DOUBLE双精度浮点数BINARY_FLOAT单精度浮点数BINARY_INTEGER32位整数BIT0、1或NULLBOOL / BOOLEAN真或假CHAR(n) / CHARACTER…

postman token 请求头添加

思路&#xff1a; 1、登录成功后将 得到的token设置为集合变量 2、在需要携带Authorization的请求头上使用该集合变量 关键代码 const responseData pm.response.json(); if(responseData.code 1) {// 获取tokenconst {data:{token}} responseData// 设置为集合变量pm.colle…

编译OpenWrt内核驱动

编译OpenWrt内核驱动可以参考OpenWrt内部其它驱动的编写例程&#xff0c;来修改成自己需要的驱动 一、OpenWrt源代码获取与编译 1.1、搭建环境 下载OpenWrt的官方源码&#xff1a; git clone https://github.com/openwrt/openwrt.git1.2、安装编译依赖项 sudo apt update -…

vue中如何给特殊字段设置插槽

大纲: <template><div><div><span>卡号</span><el-input type"text" v-model"cardNo" clearable placeholder"请输入卡号" /><el-button type"primary" plain icon"el-icon-search"…

Python操作Excel实战:Excel行转列

# 1、原始数据准备 样例数据准备 地区1m2-5m6-10m11-20m21-40m地区单价计费单位费用最小值费用最大值北京13012011010090     天津13012011010090     石家庄13012011010090     保定140130120110100     张家口170150130120110     邢台1401201101…

我们如何在工作与生活中找到平衡点?

找到工作与生活中的平衡点是每个人都必须面对的问题。以下是一些建议&#xff0c;可以帮助你在工作和生活之间找到平衡&#xff1a; 制定时间表&#xff1a;确保你有足够的时间来处理工作和生活中的各种任务。为工作、学习和个人生活设定优先级&#xff0c;并确保时间分配合理…

玩转Mysql系列 - 第15篇:详解视图

这是Mysql系列第15篇。 环境&#xff1a;mysql5.7.25&#xff0c;cmd命令中进行演示。 需求背景 电商公司领导说&#xff1a;给我统计一下&#xff1a;当月订单总金额、订单量、男女订单占比等信息&#xff0c;我们啪啦啪啦写了一堆很复杂的sql&#xff0c;然后发给领导。 …

ElasticSearch第三讲:ES详解 - Elastic Stack生态和场景方案

ElasticSearch第三讲&#xff1a;ES详解 - Elastic Stack生态和场景方案 本文是ElasticSearch第三讲&#xff0c;在了解ElaticSearch之后&#xff0c;我们还要了解Elastic背后的生态 即我们常说的ELK&#xff1b;与此同时&#xff0c;还会给你展示ElasticSearch的案例场景&…

k8s配置ingress访问集群外部资源

使用ingress访问外部资源&#xff0c;首先需要创建service指向我们需要访问的资源 而每个service包含一个endpoint endpoint是k8s集群中的一个资源对象&#xff0c;存储在etcd中&#xff0c;用来记录一个service对应的所有pod的访问地址。service配置selector&#xff0c;endpo…

浅谈限流式保护器在高校防火工作的应用

安科瑞 华楠 【摘要】摘要&#xff1a;为了预防火灾和减少火灾带来的危害&#xff0c;保护校园和师生生命财产安全&#xff0c; 建和谐安宁的校园环境&#xff0c;保障学校安全稳定发展&#xff0c;我们必须要时刻拧紧消防安全这弦&#xff0c;时刻注意这根高压线。随着近年来…

el-select下拉框定位问题

1.当el-select所在页面滚动时或者el-select上面区域高度发生变化时&#xff0c;定位存在偏差 2.解决办法&#xff1a; 1. el-select自带属性popper-append-to-body&#xff1a;true&#xff0c;可能会无效 2.设置ref,监听高度变化或者滚动时&#xff0c;手动执行刷新方法&…