linux系统服务学习(八)DNS域名系统配置

news2024/9/27 5:35:52

文章目录

  • DNS域名管理系统
    • 一、DNS概述
      • 1、DNS系统概述
      • ☆ DNS的正向解析
      • ☆ DNS的反向解析
      • ☆ 根域(.)
      • ☆ 一级域名<顶级域|国家域>
      • ☆ 二级域名(自己购买管理)
      • ☆ 域名机构
    • 2、DNS工作原理
    • 3、dig工具使用
  • 二、DNS服务器的搭建
    • 1、DNS服务器端软件
    • 2、DNS服务器搭建
      • ☆ 第一步:环境准备
      • ☆第二步:安装DNS软件
      • ☆第三步:DNS正向解析配置(域名=>IP)
      • ☆第四步:检查named.conf与zones文件
      • ☆第五步:启动DNS服务(named)
    • 3、Web服务搭建(192.168.1.13)
    • 4、测试DNS服务器的正向解析
      • ☆添加DNS服务器(三台都要改)
      • ☆使用nslookup检测正向解析是否生效
      • ☆使用elinks命令行浏览器或curl来实现访问
  • 三、DNS反向解析
    • 1、DNS两种解析
    • 2、DNS的反向解析
    • 3、VMware与CentOS7网络的小bug
    • 四、DNS主从部署

DNS域名管理系统

一、DNS概述

1、DNS系统概述

DNS(domain name system ) 域名管理系统

域名:

由特定的格式组成,用来表示互联网中某一台计算机或者计算机组的名称,能够使人更方便的访问互联网,而不用记住能够被机器直接读取的IP地址。

计算机 => IP地址,互联网中的计算机都是通过IP地址进行互相访问的。(IP地址过于复杂)

域名:代替IP实现计算机的访问(高级 => 上层应用,底层还是IP地址)

每个域名 => DNS服务器 => 对应的IP地址

dns作用:将域名解析成ip地址

☆ DNS的正向解析

域名的正向解析

将主机域名转换为对应的IP 地址,以便网络程序能够通过主机域名访问到对应的服务器主机

域名——>IP A记录

☆ DNS的反向解析

域名的反向解析

将主机的IP地址转换为对应的域名,以便网络(服务)程序能够通过IP地址查询到主机的域名

IP——>域名 PTR记录

☆ 根域(.)

· 在整个 DNS 系统的最上方一定是 . (小数点) 这个 DNS 服务器 (称为 root),也叫”根域“。

· 根域 (13台 全世界只有13台。1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。)

☆ 一级域名<顶级域|国家域>

com net edu gov org cc io| cn uk us ru ja ko

.com : 商业公司

.net :互联网公司

.edu :教育(中小学、高中、大学…)

.gov :政府

.io :存储设备,redis

.cn :中国域名(国家域)

☆ 二级域名(自己购买管理)

qq.com**.** baidu.com. google.com.

☆ 域名机构

收费(新网|万网) 老牌免费域名:TK顶级域名、TK域名DNS、TK域名商

2、DNS工作原理

在这里插入图片描述

如果询问一次得到结果 递归查询 C-S 如果询问多次得到结果 迭代查询 S-S

一次递归 多次迭代

3、dig工具使用

# dig +trace www.baidu.cn 追踪DNS的解析过程
# dig www.baidu.cn 正向解析
# dig -x IP地址   反向解析

二、DNS服务器的搭建

1、DNS服务器端软件

DNS 的域名解析都是 udp/53 . 主从之间的数据传输默认使用**tcp/53**

DNS服务器端软件:

**Bind**是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley(伯克利)分校开发和维护的,全名为Berkeley Internet Name Domain它是目前世界上使用最为广泛的DNS服务器软件,支持各种unix平台和windows平台。BIND现在由互联网系统协会(Internet Systems Consortium)负责开发与维护。

2、DNS服务器搭建

☆ 第一步:环境准备

编号主机名称IP地址备注信息
1client.hd.com192.168.1.11client客户端,用于测试
2dns.hd.com192.168.1.12dns服务器,用于实现域名解析
3www.hd.com192.168.1.13web服务器,用于搭建内部web服务

① 更改主机名称与IP地址

# hostnamectl set-hostname client.hd.com
# hostnamectl set-hostname dns.hd.com
# hostnamectl set-hostname www.hd.com

# su
# vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=none
IPADDR=192.168.1.11/12/13
更改UUID编号的后3位,必须是唯一的

② 使用MX进行连接

③ 关闭防火墙与SELinux

# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
# vim /etc/selinux/config
SELINUX=disabled

④ 配置YUM源(有网配置公网YUM源、无网就配置光盘或自建YUM源)

# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# yum clean all
# yum makecache

☆第二步:安装DNS软件

DNS服务器1.12上安装:

# yum install bind -y

安装完毕后,可以使用rpm -q查询是否安装成功:

# rpm -q bind

# rpm -ql bind
# 日志轮转文件
/etc/logrotate.d/named
# 配置文件目录
/etc/named
# 主配置文件
/etc/named.conf
# zone文件,定义域
/etc/named.rfc1912.zones
# 服务管理脚本
/usr/lib/systemd/system/named.service
# 二进制程序文件
/usr/sbin/named
# 检测配置文件
/usr/sbin/named-checkconf
# 检测域文件
/usr/sbin/named-checkzone
# 根域服务器
/var/named/named.ca
# 正向解析区域文件模板
/var/named/named.localhost
# 反向解析区域文件模板
/var/named/named.loopback
# dns服务器下载文件的默认路径
/var/named/slaves
# 进程pid
/var/rum/named

find主要用来搜索计算机中的文件,rpm主要用来检查计算机中是否安装过某个软件

☆第三步:DNS正向解析配置(域名=>IP)

/etc/named.conf主要配置访问权限控制(哪些IP或哪些主机可以访问DNS服务器)

/etc/named.rfc1912.zones主要定义域名如何解析(正向解析),解析到具体哪个IP地址

① 对named.conf以及named.rfc1912.zones进行备份
cp /etc/named.conf /etc/named.conf.bak
cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak
② named.conf主配置文件详解(访问权限控制)
# vim /etc/named.conf

添加任何主机都可以访问的权限:

在这里插入图片描述
这里也可以配置成想要监听的ip(192.168.1.11)

1、 zones子配置文件详解(域名应该指向哪个IP地址)

# vim /etc/named.rfc1912.zones
...
zone "hd.com" IN {
       type master;
       file "hd.com.zone";
       allow-update { none; };
};

2、 在/var/named目录创建hd.com.zone文件定义正向解析

# cd /var/named
# cp -p named.localhost hd.com.zone
扩展:-p代表复制文件时保留文件的原有属性

3、 编辑hd.com.zone文件,定义域名的指向

# vim hd.com.zone 

在这里插入图片描述

扩展:zone文件的格式说明

zone文件详解
# $TTL 缓存的生存周期
# @ = zonename = hd.com 当前域
# IN 互联网
# SOA 开始授权
# NS  dns服务端 nameserver
# A   ipv4 正向
# AAAA IPV6
# CNAME 别名
# MX 邮件交互记录 5 数字代表优先级 数字越小优先级越高
# 0       ; serial   更新序列号 
# 1D     ; refresh   更新间隔(从服务器下载数据)
# 1H     ; retry     失败重试
# 1W     ; expire   区域文件的过期时间
# 3H )   ; minimum   缓存的最小生存周期

# D Day、H Hour、W Week

☆第四步:检查named.conf与zones文件

# named-checkconf /etc/named.conf
# named-checkconf /etc/named.rfc1912.zones
检查hd.com.zone文件
# cd /var/named
# named-checkzone hd.com.zone hd.com.zone

☆第五步:启动DNS服务(named)

# systemctl restart named
# netstat -tnlp |grep named

3、Web服务搭建(192.168.1.13)

# yum install httpd -y
# systemctl start httpd
# echo 'DNS Test ...' > /var/www/html/index.html

4、测试DNS服务器的正向解析

☆添加DNS服务器(三台都要改)

# 
echo 'nameserver 192.168.1.12' > /etc/resolv.conf
或者
# 永久添加
vim /etc/sysconfig/network-scripts/ifcfg-ens33
DNS1=192.168.1.12

☆使用nslookup检测正向解析是否生效

# nslookup www.hd.com
# nslookup client.hd.com

☆使用elinks命令行浏览器或curl来实现访问

# yum install elinks -y
# elinks
输入www.hd.com
# curl www.hd.com 

三、DNS反向解析

1、DNS两种解析

正向解析:把域名解析为对应的IP地址

反向解析:把IP地址解析为对应的域名

2、DNS的反向解析

目标:把192.168.1.13这个IP地址通过DNS服务器指向www.hd.com域名

第1步:在zones文件中定义zone文件

# vim /etc/named.rfc1912.zones
#49行
 zone "1.168.192.in-addr.arpa" IN {
         type master;
         file "192.168.1.zone";
         allow-update { none; };
};

第2步:cd /var/named进入到DNS zone配置文件目录,复制named.loopback文件

# cd /var/named

# cp -p named.loopback 192.168.1.zone

第3步:编辑192.168.1.zone文件,把IP地址=>192.168.1.13指向www.hd.com域名

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                       0       ; serial
                                       1D      ; refresh
                                       1H      ; retry
                                       1W      ; expire
                                       3H )    ; minimum
       NS      @
       A       127.0.0.1
       AAAA    ::1
       PTR     localhost.
#增加一条反向解析,把192.168.1.13 => PTR => www.hd.com
13      PTR     www.hd.com

第4步:检查与客户端测试

DNS服务器:

# named-checkconf /etc/named.conf
# named-checkconf /etc/named.rfc1912.zones
# cd /var/named
# named-checkzone 192.168.1.zone 192.168.1.zone

# systemctl restart named

客户端检测(1.11):

# echo 'nameserver 192.168.1.12' > /etc/resolv.conf
# nslookup 192.168.1.13
13.1.168.192.in-addr.arpa	name = www.hd.com.

3、VMware与CentOS7网络的小bug

DNS的临时配置方式 => echo ‘nameserver 10.1.1.12’ > /etc/resolv.conf

注:当VMware关闭或者挂起时,临时设置的DNS会被重置

CentOS7版本中,有的时候,在网络配置时,明明设置了静态IP,但是无论重启网络、重启网卡,其设置的IP地址都没有生效。

出现以上问题的主要原因在于图形化界面中的NetworkManager服务没有关闭!

解决方案:

# systemctl stop NetworkManager
# systemctl disable NetworkManager

四、DNS主从部署

在这里插入图片描述

主(192.168.1.12)从部署的核心思路:

1. master和slave的系统时间保持一致
2. slave服务器上安装相应的软件(系统版本、软件版本保持一致)
3. 根据需求修改相应的配置文件(master和slave都应该去修改)
4. 主从同步的核心是slave同步master上的区域文件(zone文件)

master:主 slave:从

第一步:准备一台slave从服务器(192.168.1.11)

第二步:更改主dns服务器,允许其他的从服务器下载同步资源

# vim /etc/named.conf
12 options {
13         listen-on port 53 { 127.0.0.1;any; };
14         listen-on-v6 port 53 { ::1; };
15         allow-transfer {192.168.1.11; }; =>  允许从服务器的IP地址过来同步资源
16         directory       "/var/named";
17         dump-file       "/var/named/data/cache_dump.db";
18         statistics-file "/var/named/data/named_stats.txt";
19         memstatistics-file "/var/named/data/named_mem_stats.txt";
20         recursing-file  "/var/named/data/named.recursing";
21         secroots-file   "/var/named/data/named.secroots";
22         allow-query     { localhost;any;};


# systemctl restart named

第三步:SLAVE从服务器配置

# yum install bind -y

# vim /etc/named.conf
12 options {
13         listen-on port 53 { 127.0.0.1;any; };
14         listen-on-v6 port 53 { ::1; };
15         directory       "/var/named";
16         dump-file       "/var/named/data/cache_dump.db";
17         statistics-file "/var/named/data/named_stats.txt";
18         memstatistics-file "/var/named/data/named_mem_stats.txt";
19         recursing-file  "/var/named/data/named.recursing";
20         secroots-file   "/var/named/data/named.secroots";
21         allow-query     { localhost;any; };

# vim /etc/named.rfc1912.zones
zone "hd.com" IN {
       type slave;
       file "slaves/hd.com";
       masters { 192.168.1.12; };
};


# 检测配置文件是否有错(略)
# named-checkconf ...

# systemctl restart named

第四步:在Client客户端,把Slave从服务器的IP设置为DNS

# echo 'nameserver 192.168.1.11' > /etc/resolv.conf
# nslookup www.hd.com
# 
echo 'nameserver 192.168.1.12' > /etc/resolv.conf
或者
# 永久添加
vim /etc/sysconfig/network-scripts/ifcfg-ens33
DNS1=192.168.1.12

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

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

相关文章

运行软件mfc140u.dll丢失怎么办?mfc140u.dll的三个修复方法

最近我在使用一款软件时遇到了一个问题&#xff0c;提示缺少mfc140u.dll文件。。这个文件是我在使用某个应用程序时所需要的&#xff0c;但是由于某种原因&#xff0c;它变得无法正常使用了。经过一番搜索和了解&#xff0c;我了解到mfc140u.dll是Microsoft Visual Studio 2015…

关于openfeign调用时content-type的问题

问题1描述&#xff1a; 今天在A服务使用openfeign调用B服务的时候&#xff0c;发现经常会偶发性报错。错误如下&#xff1a; 情况为偶发&#xff0c;很让人头疼。 两个接口如下&#xff1a; A服务接口&#xff1a; delayReasonApi.test(student);就是使用openfeign调用B服务的…

计组 | DMA

前言 记录一些计组相关联的题集与知识点&#xff0c;方便记忆与理解。 DMA 采用DMA方式传送数据时&#xff0c;每传送一个数据就要用一个&#xff08; C&#xff09;时间。 A 指令周期 B 机器周期 C 存储周期 D 总线周期发…

macOS(m1/m2)破解Sublime Text和Navicat16

破解Sublime Text 说明&#xff1a;全程使用的是终端操作 1. 下载Sublime Text&#xff0c;建议使用brew下载 2. 进入到下载的app的文件夹 cd "/Applications/Sublime Text.app/Contents/MacOS/"3. 执行以下操作以确认版本是否匹配 md5 -q sublime_text | grep -i…

分析区域产业发展现状,谋划产业发展路径,提升产业竞争力

随着经济全球化的深入发展&#xff0c;产业与区域经济发展有着不可分割的关系&#xff0c;产业是区域经济发展的基础&#xff0c;产业链的形成可以促进区域经济的协调发展&#xff0c;产业竞争力的提升能够带动区域经济的增长。那么该如何打造区域产业链闭环&#xff0c;提升产…

如何将labelImg打包成exe

最近整理一下数据标注这块的内容&#xff0c;在目标检测和目标分割里面用的最多的标注工具labelimg&#xff0c;labelme labelimg主要用于目标检测领域制作自己的数据集&#xff0c;如&#xff1a;YOLO系列目标检测模型 labelme主要用于图像分割领域制作自己的数据集&#xf…

静态代码测试工具HelixQAC新版对MISRA C规则提供100%覆盖率

Helix QAC 2023.2中的新增功能 Helix QAC 2023.2对 MISRA C:2012 和 MISRA C:2023 规则提供了100% 的覆盖率&#xff0c;并更新了相应的合规性模块以适用于MISRA C:2023。此外&#xff0c;此版本还包括改进的 C23 语言支持、对 Validate 平台的改进和 Helix QAC 和 Validate 的…

什么是客户自助服务?

自助服务是指通过自动化技术和系统&#xff0c;使顾客或用户能够自主完成某些服务或操作&#xff0c;而无需直接依赖人工的帮助。它提供了一种方便、快捷和高效的方式&#xff0c;让用户可以自行完成特定任务或获取所需的信息。 自助服务可以在各种场景中应用&#xff0c;例如…

unity拓展 unity自带的类(Tranform为例)

因为我们使用了ILRuntime热更&#xff0c;unity 打出的WebGL包&#xff0c;运行就会报找不到DoTween里面的方法&#xff0c;所以吧DoTween拓展到tranform类里面&#xff0c;这样就不会报错了&#xff0c;下面是示例 using DG.Tweening; using System.Collections; using Syste…

Python搭建http文件服务器实现手机电脑文件传输功能

第一种代码的界面如下&#xff1a;&#xff08;有缺点&#xff0c;中文乱码&#xff09; # !/usr/bin/env python3 # -*- coding:utf-8 _*-"""Simple HTTP Server With Upload. python -V3.6 This module builds on http.server by implementing the standard G…

java 工程管理系统源码+项目说明+功能描述+前后端分离 + 二次开发 em

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下&#xff1a; 首页 工作台&#xff1a;待办工作、消息通知、预警信息&#xff0c;点击可进入相应的列表 项目进度图表&#xff1a;选择&#xff08;总体或单个&#xff09;项目显…

适合使用CRM系统的行业有哪些?

激烈的竞争环境下&#xff0c;企业急需一款工具来管理客户关系。CRM正是这样一款软件&#xff0c;可以帮助企业管理客户&#xff0c;提高客户满意度&#xff0c;从而实现业绩增长。那么&#xff0c;哪些行业适合使用CRM系统&#xff1f;为什么&#xff1f; 一、零售行业 CRM系…

redis-基础

1、redis简述 redis 是一门C语音开发的&#xff0c;redis开发者&#xff0c;一开始的本意是作用消息队列&#xff0c;后面随着IT圈的迅速发展&#xff0c;redis不满足诉求&#xff1b;最后开发成k/v形式的内存存储的工具 特性&#xff1a;速度快、单进程单线程、支持集群、持…

32.Netty源码之服务端如何处理客户端新建连接

highlight: arduino-light 服务端如何处理客户端新建连接 Netty 服务端完全启动后&#xff0c;就可以对外工作了。接下来 Netty 服务端是如何处理客户端新建连接的呢&#xff1f; 主要分为四步&#xff1a; md Boss NioEventLoop 线程轮询客户端新连接 OP_ACCEPT 事件&#xff…

CS:GO升级 Linux不再是“法外之地”

在前天的VAC大规模封禁中&#xff0c;有不少Linux平台的作弊玩家也迎来了“迟到”的VAC封禁。   一直以来&#xff0c;Linux就是VAC封禁的法外之地。虽然大部分玩家都使用Windows平台进行游戏。但实际上&#xff0c;使用Linux畅玩CS:GO的玩家也不在少数。 以前V社主要打击W…

【React学习】—组件三大核心属性: state(七)

【React学习】—组件三大核心属性: state&#xff08;七&#xff09; 2.2.2. 理解 state是组件对象最重要的属性, 值是对象(可以包含多个key-value的组合)组件被称为"状态机", 通过更新组件的state来更新对应的页面显示(重新渲染组件) 2.2.3. 强烈注意 组件中rend…

版本控制工具Git集成IDEA的学习笔记(第一篇Gitee)

目录 一、Gitee的使用 1、注册网站会员 2、用户中心 3、创建远程仓库 4、配置SSH免密登录 二、集成IDEA&#xff0c;Git项目搭建 1、本地仓库搭建 1&#xff09;创建一个新项目 2&#xff09;打开终端&#xff0c;在当前目录新建一个Git代码库 3&#xff09;忽略文件 …

《HeadFirst设计模式(第二版)》第八章代码——模板方法模式

代码文件目录&#xff1a; CaffeineBeverage package Chapter8_TemplateMethodPattern;/*** Author 竹心* Date 2023/8/17**/public abstract class CaffeineBeverage {final void prepareRecipe(){boilWater();brew();pourInCup();//这里使用钩子customerWantsCondiments()来…

JavaScript 快速入门手册

本篇文章学习&#xff1a; 菜鸟教程、尚硅谷。 JavaScript 快速入门手册 &#x1f4af; 前言&#xff1a; 本人目前算是一个Java程序员&#xff0c;但是目前环境… ε(ο&#xff40;*))) 一言难尽啊&#xff0c;blog也好久好久没有更新了&#xff0c;一部分工作原因吧(外包真…

【word密码】word怎么限制格式,但可以修改文字?

想要限制word文件中文字的格式&#xff0c;但是又希望别人能够删除、输入文字&#xff0c;想要实现这种设置我们可以对word文件设置限制编辑。 点击word文件工具栏中的审阅 – 限制编辑&#xff0c;勾选上【限制对选定的样式设置格式】 然后在弹出的提示框中&#xff0c;输入我…