nginx搭建DNS服务器

news2024/11/25 11:40:51

目录

    • 搭建DNS服务器
      • 搭建一个DNS缓存域名服务器
      • 主从DNS服务器的工作原理
      • 查域里的域名服务器记录
        • 记录类型
        • 做一个自己的域名数据库,给sc.com提供解析
      • 反向解析的配置文件和数据文件

搭建DNS服务器

主配置文件:/etc/named.conf
次要配置文件:/etc/named.rfc1912.zones
named.ca:记录13台根域名服务器地址的文件
主进程:named
监听的端口:53 tcp/udp
数据文件(存放域名解析的相关数据):/var/named/chroot/var/named

搭建一个DNS缓存域名服务器

  1. 准备工作:关闭防火墙和selinux

    service firewalld stop
    systemctl disable firewalld
    
    setenforce 0
    # 将selinux配置文件enforcing改为disabled,永久关闭
    sed -i '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config
    
  2. 安装bind,bind(The Berkrlry Internet Name Domain DNS server)是历史非常悠久而且性能非常好的DNS域名系统的软件

    yum install bind* -y
    
  3. 设置named服务器开机启动,并且立马启动DNS服务

    named是DNS服务的名字(named deamon)

    service named start
    systemctl enable named
    
  4. 修改域名解析文件

    [root@localhost conf]# cat /etc/resolv.conf 
    # Generated by NetworkManager
    #search localdomain
    #nameserver 192.168.232.2
    # 这个IP地址是用来测试TCP/IP协议在本机是否能正常运行,这个IP地址只能在本机访问,如果其他主机想要通过这个DNS服务器来上网,需要在named配置文件中修改监听IP127.0.0.1为0.0.0.0
    nameserver 127.0.0.1
    

    修改完成之后使用nslookup命令查看能不能解析域名的IP地址,如果可以解析就说明修改成功

    在这里插入图片描述

  5. 修改监听的IP,任何人都可以访问

    vim /etc/named.conf
    
    options {
            listen-on port 53 { any; };
            listen-on-v6 port 53 { any; };
            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";
            recursing-file  "/var/named/data/named.recursing";
            secroots-file   "/var/named/data/named.secroots";
            allow-query     { any; };
    

    修改完成之后重启named服务service named restart

查询追踪整个域名解析的过程dig +trace www.baidu.com

主从DNS服务器的工作原理

主从 DNS 服务器架构提供了高可用性和负载均衡的好处。即使主服务器不可用,从服务器仍然可以提供域名解析服务。当主服务器恢复时,从服务器会同步更新以保持数据一致性。这种架构还可以减轻主服务器的负载,提高系统的性能和可靠性

  • 当客户端发出 DNS 查询请求时,请求会首先发送到从服务器,因为它们可以提供更快的响应时间。
  • 如果从服务器拥有所需的域名解析记录,它会立即返回解析结果给客户端。
  • 如果从服务器没有所需的记录,或者记录已过期,它会向主服务器发出查询请求,以获取最新的记录。
  • 主服务器会响应查询请求,并将最新的 DNS 记录发送给从服务器。
  • 从服务器将获取到的记录存储在本地,并响应客户端的查询请求。

查域里的域名服务器记录

dig qq.com NS
或
[root@localhost named]# nslookup
> set type=ns
> qq.com

记录类型

  • A 记录(Address Record):将域名映射到 IPv4 地址

    www.example.com. IN A 192.168.1.1
    
  • AAAA 记录(IPv6 Address Record):将域名映射到 IPv6 地址

    ipv6.example.com. IN AAAA 2001:db8::1
    
  • CNAME 记录(Canonical Name Record):创建域名的别名,指向另一个域名

    mail.example.com. IN CNAME server.example.com.
    
  • NS 记录(Name Server Record):指定域名的权威域名服务器

    example.com. IN NS ns1.example.com.
    
  • MX 记录(Mail Exchange Record):指定邮件服务器的优先级和域名。用于电子邮件服务

    example.com. IN MX 10 mail.example.com.
    
  • TXT 记录(Text Record):存储文本信息,通常用于验证域名所有权或提供其他信息

    example.com. IN TXT "This is a sample TXT record."
    
  • PTR 记录(Pointer Record):用于反向解析,将 IP 地址映射到域名

    1.1.168.192.in-addr.arpa. IN PTR www.example.com.
    

做一个自己的域名数据库,给sc.com提供解析

vim /etc/named.rfc1912.zones
# 以下配置建议加在localhost的后面
zone "sc.com" IN {
	type master;    # 主域名
	file "sc.com.zone";    # 这个文件需要自己创建
	allow-update { none; };
}

然后在/var/named/目录下创建一个sc.com的数据文件,修改A记录为自己的IP地址

cd /var/named/
cp -a named.localhost sc.com.zone

检查区域文件

named-checkconf /etc/named.rfc1912.zones
named-checkzone sc.com /var/named/sc.com.zone

反向解析的配置文件和数据文件

  1. 在配置文件里添加反向解析的zone

    vim /etc/named.rfc1912.zones
    
    zone "1.0.0.127.in-addr.arpa" IN {
    	type master;
    	file "named.loopback";
    	allow-update { none; };
    };
    
    zone "232.168.192.in-addr.arpa" IN {
    	type master;
    	file "192.168.232.zone";
    	allow-update { none; };
    };
    
  2. 然后再数据文件里添加记录

    [root@localhost named]# cat 192.168.232.zone
    $TTL 1D
    @	IN SOA	@ rname.invalid. (
    					0	; serial
    					1D	; refresh
    					1H	; retry
    					1W	; expire
    					3H )	; minimum
    	NS	@
    	A	192.168.232.161
    	PTR ns1.chen.com
    161 IN PTR www.chen.com
    162 IN PRT db.chen.com
    
  3. 测试,如果能解析出域名就是成功了

    nslookup 192.168.232.161
    

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

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

相关文章

openGauss学习笔记-61 openGauss 数据库管理-常见主备部署方案

文章目录 openGauss学习笔记-61 openGauss 数据库管理-常见主备部署方案61.1 单中心61.2 同城双中心61.3 两地三中心61.4 两地三中心流式容灾方案 openGauss学习笔记-61 openGauss 数据库管理-常见主备部署方案 61.1 单中心 图 1 单中心部署图 组网特点: 单AZ部署…

【大数据】Flink 详解(七):源码篇 Ⅱ

本系列包含: 【大数据】Flink 详解(一):基础篇【大数据】Flink 详解(二):核心篇 Ⅰ【大数据】Flink 详解(三):核心篇 Ⅱ【大数据】Flink 详解(四…

CocosCreator3.8研究笔记(八)CocosCreator 节点和组件的使用

我们知道,在CocosCreator 节点和组件的修改有两种方法: 属性检查器中的设置脚本中的动态修改 脚本中动态修改,能实现各种各样的游戏逻辑,例如响应玩家输入,删除、修改、销毁节点或组件。 不过想要实现这些游戏逻辑&a…

51单片机简易时钟闹钟八位数码管显示仿真( proteus仿真+程序+原理图+报告+讲解视频)

51单片机简易时钟闹钟八位数码管显示仿真( proteus仿真程序原理图报告讲解视频) 1.主要功能:2.仿真3. 程序代码4. 原理图元器件清单 5. 设计报告6. 设计资料内容清单&&下载链接资料下载链接(可点击): 51单片机…

数据结构插入排序

好久不见,这几天有点事情,都快一个礼拜没有学习,对键盘都要陌生起来了,今天也是刚刚学了一点排序,在这里也给大家更新一个插入排序,后面也会渐渐的把八大排序更新完的,还有就是二叉树&#xff0…

【大数据Hive】hive 加载数据常用方案使用详解

目录 一、前言 二、load 命令使用 2.1 load 概述 2.1.1 load 语法规则 2.1.2 load语法规则重要参数说明 2.2 load 数据加载操作演示 2.2.1 前置准备 2.2.2 加载本地数据 2.2.3 HDFS加载数据 2.2.4 从HDFS加载数据到分区表中并指定分区 2.3 hive3.0 load 命令新特性 …

学习Bootstrap 5的第五天

目录 图像 图像形状 实例 对齐图像 实例 居中图像 实例 响应式图像 实例 Jumbotron 实例 图像 图像形状 .rounded 类可以用于为图像或任何具有边框的元素添加圆角。这个类适用于Bootstrap的所有版本&#xff0c;并且在最新版本中得到了进一步的增强。 实例 <…

【爬虫】7.4. 字体反爬案例分析与爬取实战

字体反爬案例分析与爬取实战 文章目录 字体反爬案例分析与爬取实战1. 案例介绍2. 案例分析3. 爬取 本节来分析一个反爬案例&#xff0c;该案例将真实的数据隐藏到字体文件里&#xff0c;即使我们获取了页面源代码&#xff0c;也无法直接提取数据的真实值。 1. 案例介绍 案例网…

WPF调用Grpc

一、服务端 1、创建proto文件&#xff1a; Protos文件夹 —>右键添加新建项 —> ASP.Net Core下常规中选择"协议缓冲区文件" 2、proto文件协议&#xff1a; 需要使用空参数和空返回值时&#xff0c;需要使用这个协议文件 import “google/protobuf/empty.pr…

windows系统一键开启防火墙并设置开放规则

脚本 echo off REM 设置开放端口&#xff0c;上下行 set PORT1433-1488,33,44REM 关闭防火墙 netsh advfirewall set allprofiles state off REM 打开防火墙 netsh advfirewall set allprofiles state onrem 设置指定端口变量和出入站规则名称 set INPUT_RULE_NAMEZLG-IN set …

Python3.x 文件读写操作

文章目录 一、文件读写操作1、文件的打开方法—open 内建函数&#xff08;1&#xff09;基本语法&#xff08;2&#xff09;参数介绍 2、文件读操作&#xff08;1&#xff09;read 方法 —— 读取文件&#xff08;2&#xff09;文件指针&#xff08;3&#xff09;readline 方法…

一维数组笔试题及其解析

Lei宝啊 &#xff1a;个人主页 愿所有美好不期而遇 前言&#xff1a; 数组名在寻常情况下表示首元素地址&#xff0c;但有两种情况例外&#xff1a; 1.sizeof(数组名)&#xff0c;这里的数组名表示整个数组&#xff0c;计算的是整个数组的大小 2.&数组名&#xff0c;这里的…

AJAX学习笔记7 AJAX实现省市联动

需求:网页上选择对应省份之后,动态的关联出该省份对应的市.选择对应的市之后,动态的关联出该市对应的区 关于省市区全国三级Mysql数据&#xff1a;全国省市区三级地区MySQL数据_biubiubiu0706的博客-CSDN博客 页面加载完毕显示所有省份 <!DOCTYPE html> <html lang&…

行业追踪,2023-09-05

自动复盘 2023-09-05 凡所有相&#xff0c;皆是虚妄。若见诸相非相&#xff0c;即见如来。 k 线图是最好的老师&#xff0c;每天持续发布板块的rps排名&#xff0c;追踪板块&#xff0c;板块来开仓&#xff0c;板块去清仓&#xff0c;丢弃自以为是的想法&#xff0c;板块去留让…

Win11查看安装的Python路径及安装的库

Win11查看安装的Python路径及安装的库 anaconda3最新版安装|使用详情|Error: Please select a valid Python interpreter 一: python安装路径查看 1.1: windows键R 打开cmd窗口&#xff1a;输入python 然后输入import sys ; sys.path; 如下图所示即可查看安装的位置; 退…

同步FIFO的verilog实现(1)——计数法

一、FIFO概述 1、FIFO的定义 FIFO是英文First-In-First-Out的缩写&#xff0c;是一种先入先出的数据缓冲器&#xff0c;与一般的存储器的区别在于没有地址线&#xff0c; 使用起来简单&#xff0c;缺点是只能顺序读写数据&#xff0c;其数据地址由内部读写指针自动加1完成&…

Flex 布局详解

Flex布局的概念与基础概况 Flex布局又称弹性布局。它使用Flex Box使得容器有了弹性&#xff0c;更加适应不同的设备的不同高度&#xff0c;而不必依赖于传统的块状布局和浮动布局。它是css3中新增的规范&#xff0c;目前主流的浏览器都已支持。但flex不支持IE9及以下版本。 F…

uniapp 解决跨域的问题

uniapp 解决跨域的问题 我真的是个 沙雕 找对了解决办法 写错了地方 "h5" : {"devServer" : {"disableHostCheck" : true,"https": false,"proxy" : {"/app" : {"target" : "https://192.16…

使用IntelliJ IDEA本地启动调试Flink流计算工程的2个异常解决

记录&#xff1a;471 场景&#xff1a;使用IntelliJ IDEA本地启动调试Flink流计算时&#xff0c;报错一&#xff1a;加载DataStream报错java.lang.ClassNotFoundException。报错二&#xff1a;No ExecutorFactory found to execute the application。 版本&#xff1a;JDK 1.…

Windows中多线程的基础知识1——互斥对象

目录 1 多线程的基本概念1.1 进程一、程序和进程的概念二、进程组成三、进程地址空间 1.2 线程一、线程组成二、线程运行三、线程创建函数 1.3 多进程与多线程并发一、多进程并发二、多线程并发 2 线程同步2.1 一个经典的线程同步问题2.2 利用互斥对象实现线程同步一、创建互斥…