linux-DNS解析

dns解析

dns:域名系统,将域名和ip地址互相映射的一个分布式的数据库,方便用户访问互联网。

ip地址:是所有设备和网站在互联网上的唯一地址,通信一定是ip和ip之间的通信。

dns解析:根据域名在互联网当中找到对应的ip地址并进行访问。

DNS的解析库以及域名的详解

www.baidu.com.cn.=www.baidu.com 从右往左

.(根域):根域的服务器在全球有13台,9台在美国,3台在欧洲,1台在日本

cn.:一级域,代表国家或者地区,例如(jp、us、kr、rs)

ipv6:根域服务器,(中国,美国)

com.cn.:二级域,表示组织机构,com 商业组织 edu 教育机构 org 非盈利性机构 net 运营商 gov 政府

baidu(狭义上的域名).com.cn.:三级域,企业或者组织在互联网上的唯一标识

www.baidu.com.cn.:主机名,主机站点 web mail 邮箱(应用)

解析库的建立

/etc/hosts  本地做解析 快 配置起来麻烦

运营商完成 (电信、移动、联通)

电信的dns解析的地址:218.2.135.1 江苏电信的dns解析地址

8.8.8.8:谷歌通用的dns解析地址

移动的解析地址:114.114.114.114 移动的dns解析地址

dns解析的端口(服务器):53端口 TCP的53 UDP的53端口

TCP的53端口:用于连接dns服务器

UDP的53端口:用于解析域名

dns域名的长度限制:每一级长度是63个字符,不能超过253个字符

访问www.baidu.com(dns的迭代和递归)

0、用户(访问www.baidu.com)

1、本地解析

2、运营商

3、根域(已经知道了结果,但是不会直接反馈,让你去下一级继续查找)

4、一级域(已经知道了结果,但是不会直接反馈,让你去下一级继续查找)

5、二级域(已经知道了结果,但是不会直接反馈,让你去下一级继续查找)

6、三级域(子域),结果已经有了,并反馈到运营商,或者是本地文件(需要手动操作),再反馈给用户。

从根域到子域的查询过程叫迭代,返回客户端的过程叫递归。

curl命令 直接测试web页面(是否可以浏览)

-I 查询webserver服务器

-k 给后台页面传参数

在实验环境中实现内网的dns解析

正向解析:通过域名可以获取ip地址

反向解析:通过ip地址获得域名

主从解析:两台服务器互为主备做dns解析

/etc/hosts和dns解析服务器谁的优先级高?本机高,但是只对本机有效

bind  内网解析dns,外网不行

实验

主服务器

第一步

apt -y install bind9
cd /etc/bind
root@cwq-virtual-machine:/etc/bind# vim named.conf.options

named.conf.options的配置文件

directory "/var/cache/bind";
        listen-on port 53 {192.168.213.11;};   监听哪一台主机的53端口
        allow-query {192.168.213.0/24;};       允许哪些服务器允许向dns服务器提交查询请求

 第二步

root@cwq-virtual-machine:/etc/bind# vim named.conf.default-zones

named.conf.default-zones的配置文件

zone "localhost" {
        type master;
        file "/etc/bind/db.local";
};

zone "pikaqiu.com" {
        type master;    #状态为主服务器
        file "/etc/bind/pikaqiu.local";   #建立域名映射需要参考该文件
        allow-transfer { 192.168.213.31; };  #哪些DNS服务器允许获得主服务器的dns记录
};
zone "127.in-addr.arpa" {
        type master;
        file "/etc/bind/db.127";
};

zone "213.168.192.in-addr.arpa" {
        type master;
        file "/etc/bind/pikaqiu.local.zone";
        allow-transfer { 192.168.213.31; };
};

pikaqiu.local的配置文件

pikaiqiu.local.zone的配置文件

  1. $TTL 604800

    • 这行定义了默认的生存时间(TTL),单位为秒。604800秒等于7天,这意味着该区域文件中的所有记录在没有其他TTL指定时,默认缓存时间为7天。
  2. @ IN SOA localhost. root.localhost. (

    • 这行定义了起始授权区域(SOA)记录。
    • @符号表示当前区域文件的根域。
    • IN表示使用Internet标准。
    • SOA是起始授权区域的缩写。
    • localhost. root.localhost.是SOA记录的域名部分,通常包括主域名和托管该区域的邮局域名。
  3. serial 2

    • 这是SOA记录中的序列号,用于标识版本的更新。每次区域文件更新时,序列号应递增。这个数值帮助DNS服务器判断是否需要更新其缓存。
  4. refresh 604800

    • 这是刷新时间,表示其他DNS服务器应该多久检查一次这个区域的最新状态。604800秒(7天)表示其他DNS服务器应在7天后尝试刷新缓存。
  5. retry 86400

    • 这是重试时间,表示在刷新失败后,其他DNS服务器应该等待多久再次尝试刷新。86400秒(24小时)表示在刷新失败后会等待24小时再重试。
  6. expire 2419200

    • 这是过期时间,表示超过这个时间后,DNS服务器将放弃该区域的缓存数据。2419200秒(60天)表示如果60天内没有收到更新,DNS服务器将认为该区域数据已过期。
  7. Negative Cache TTL 604800

    • 这是负缓存TTL,表示其他DNS服务器缓存否定回答的时间。604800秒(7天)表示其他DNS服务器会将否定回答(如DNS查询失败)缓存7天。
  8. IN NS localhost.

    • 这行定义了名称服务器(NS)记录,指定哪个DNS服务器负责解析这个区域。
    • IN表示使用Internet标准。
    • NS是名称服务器的缩写。
    • localhost.表示本地主机作为名称服务器。
  9. IN A 127.0.0.1

    • 这行定义了A记录,将域名解析到IPv4地址。
    • IN表示使用Internet标准。
    • A是IPv4地址的缩写。
    • 127.0.0.1是本地回环地址,通常用于测试或本机服务。
  10. IN AAAA ::1

    • 这行定义了AAAA记录,将域名解析到IPv6地址。
    • IN表示使用Internet标准。
    • AAAA是IPv6地址的缩写。
    • ::1是本地回环地址,通常用于测试或本机服务。

从服务器 

第一步

apt -y install bind9
cd /etc/bind
vim named.conf.options

named.conf.options的配置文件

 directory "/var/cache/bind";
        listen-on port 53 { any; };
        allow-query { any; };
vim named.conf.default-zones

named.conf.defaults-zones的配置文件 

zone "localhost" {
        type master;
        file "/etc/bind/db.local";
};
zone "pikaqiu.com" {
        type slave;            #状态为从服务器
        file "pikaqiu.local";  #注定从服务器区域数据的文件
        masters { 192.168.213.11; };  #指定主服务器的ip地址
};
zone "213.168.192.in-addr.arpa" {
        type slave;
        file "pikaqiu.local.zone";
        masters { 192.168.213.11; };
};

zone "127.in-addr.arpa" {
        type master;
        file "/etc/bind/db.127";
};


检验命令

nslookup(查询域名系统(DNS)以获取域名或 IP 地址的相关信息) www.pikaqiu.com/192.168.213.31

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Playwright 快速入门:Playwright 是一个用于浏览器自动化测试的 Node.js 库

Playwright 是一个用于浏览器自动化测试的 Node.js 库,它支持 Chromium, Firefox 和 WebKit 浏览器引擎。Playwright 提供了一套强大的 API 来进行网页自动化测试,包括页面导航、元素选择、表单提交等操作,并且能够处理现代网页中的异步加载内…

【maven踩坑】一个坑 junit报错 但真正导致这个的不是junit的原因

目录 事件起因环境和工具操作过程解决办法结束语 事件起因 报错一: Internal Error occurred. org.junit.platform.commons.JUnitException: TestEngine with ID junit-vintage failed to discover tests报错二: Internal Error occurred. org.junit.pl…

ONNX: export failure: DLL load failed while importing _message: 找不到指定的程序。

ONNX: export failure 问题其他解决快速解决 问题 使用pytorch导出onnx(Open Neural Network Exchange)模型,结果使用conda安装完onnx之后,问题就出现了 ONNX: export failure: DLL load failed while importing _message: 找不到…

Redis做分布式锁

(一)为什么要有分布式锁以及本质 在一个分布式的系统中,会涉及到多个客户端访问同一个公共资源的问题,这时候我们就需要通过锁来做互斥控制,来避免类似于线程安全的问题 因为我们学过的sychronized只能对线程加锁&…

用Tokio掌握Rust异步编程

在Rust中构建可伸缩且高效的应用程序时,异步编程必不可少。异步编程能显著提高性能,让代码在不阻塞的情况下并发处理多个任务。在本教程中,我们将探索Tokio,介绍异步编程原理及应用场景,并逐步带你编写异步代码。 Toki…

推荐一款3D建模软件:Agisoft Metashape Pro

Agisoft Metashape Pro是一款强大的多视点三维建模设计辅助软件,Agisoft Metashape是一款独立的软件产品,可对数字图像进行摄影测量处理,并生成3D空间数据,用于GIS应用,文化遗产文档和视觉效果制作,以及间接…

记录日志中logback和log4j2不能共存的问题

本文章记录设置两个日志时候,控制台直接报错 标黄处就是错误原因:1. SLF4J(W):类路径包含多个SLF4J提供程序。 SLF4J(W):找到提供程序[org.apache.logging.slf4j. net]。 SLF4J(W):找到提供程序[ch.qos.log .classi…

【论文阅读】Virtual Compiler Is All You Need For Assembly Code Search

阅读笔记:Virtual Compiler Is All You Need For Assembly Code Search 1. 研究背景 逆向工程:逆向工程需要在庞大的二进制文件中快速定位特定功能(例如恶意行为)。传统方法依赖于经验和启发式算法,效率低下。汇编代码搜索:通过自然语言搜索汇编代码功能,能够更高效地处…

洛古---越狱问题【快速幂】

今天和大家讲一个洛古的算法题,我觉得还是比较有含金量的,今天给大家分享一下 题目描述 监狱有 𝑛n个房间,每个房间关押一个犯人,有 𝑚 种宗教,每个犯人会信仰其中一种。如果相邻房间的犯人的宗…

Python3.11.9+selenium,选择证书用多线程+键盘enter解决

Python3.11.9+selenium,选择证书用多线程+键盘enter解决 1、遇到问题:弹出证书选择,无法点击确定 import pyautogui pyautogui.press(enter) 键盘enter也无法点击 2、解决办法:用多线程解决同时执行click链接和Enter点击证书的确定 1、点击操作 # # 通过文本链接文本…

1、使用vscode+eide+stm32cubeMx开发stm32

步骤1:在vscode中安装如下的插件 步骤2:点击Embedded IDE,点击“新建项目”-----空项目-----Cortex-M项目。 步骤3:输入项目名,回车后会要制定保存路径,此时就是一个已项目名命名的文件夹。 步骤4&#xff…

网站小程序app怎么查有没有备案?

网站小程序app怎么查有没有备案?只需要官方一个网址就可以,工信部备案查询官网地址有且只有一个,百度搜索 "ICP备案查询" 找到官方gov.cn网站即可查询! 注:网站小程序app备案查询,可通过输入单位…

SpringCloud篇(注册中心 - Nacos)

目录 一、Nacos安装指南 1. Windows安装 1.1. 下载安装包 1.2. 解压 1.3. 端口配置 1.4. 启动 1.5. 访问 2. Linux安装 2.1. 安装JDK 2.2. 上传安装包 2.3. 解压 2.4. 端口配置 2.5. 启动 3. Nacos的依赖 二、Nacos注册中心的入门使用 1. 认识和安装Nacos 2. 服…

不对称信息

你买了一辆二手车,你并不知道它出过几次事故,但它之前的车主却对此了如指掌。来买保险的公司都是那些出险概率很大的(比如矿工、化工厂),但那些安全的公司很少去买保险,这两种问题都属于信息不对称问题。 …

加深深度学习矩阵计算理解--用人类直觉 走进线性代数(非应试)

文章目录 前言一、向量二、线性组合、空间与基三、矩阵和线性变换四、矩阵乘法与线性变化复合1、矩阵乘法代表线性变换的复合2、实例说明 五、三维空间的线性变换1、基本性质2、直觉理解3、矩阵表示 六、行列式一、行列式的定义2、行列式在空间中的抽象理解 七、逆矩阵 列空间秩…

Collections 工具类

在 Java 编程中,集合(Collections)是处理数据的核心工具之一。为了简化集合操作并提高代码的可读性和可维护性,JDK 提供了一个强大的工具类:java.util.Collections。这个类包含了一系列静态方法,用于对集合…

Nginx在Windows上和Linux上(Docker启动)分别配置基本身份认证示例

场景 Nginx代理的资源或网站等,url直接暴露有风险,需要添加身份认证,即输入用户名密码后才能成功访问。 注: 博客:霸道流氓气质-CSDN博客 实现 Windows上配置Nginx实现基本身份认证 修改nginx的配置文件 添加基…

K8S之Prometheus 部署(二十)

部署方式:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/prometheus 源码目录:kubernetes/cluster/addons/prometheus 服务发现:https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kube…

Spring Boot——日志介绍和配置

1. 日志的介绍 在前面的学习中,控制台上打印出来的一大堆内容就是日志,可以帮助我们发现问题,分析问题,定位问题,除此之外,日志还可以进行系统的监控,数据采集等 2. 日志的使用 在程序中获取日…

systemd

文章目录 运行模式获取需要开机启动的服务UnitServiceInstall 添加开机自启程序 在centos6之前使用上面方式(串) 在centos7之后(含centos7)使用systemd来管理程序, 通过ls -al /sbin/init 查看链接指向了systemd程序:(并&#xf…