菜鸟学Linux 第046篇笔记 DNS相关概念

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

菜鸟学Linux 第046篇笔记 DNS相关概念





接下来要讲的课程:

DNS 域名解析  BIND: Berkeley Internet Name Domain

HTTP: HTTP协议, Apache, LAMP, Nginx(Engine X), LNMP(LEMP), MySQL, PHP, 

varnish

SSL/TLS: http-->https, OpenSSL, CA, Digital Certificate, PKI, 

CDN: DNS(View), varnish

File Server: NFS, SMB/CIFS, FTP,

Netfilter: iptables (filter, nat, mangle, raw)、 tcp wrapper

NSSwitch: framework, platform, PAM: 

SMTP/POP3/IMAP4: Mail Server

SELinux: Security Enhanced Linux

C2-->SELinux-->B1


DNS Domain Name Service

域名:www.baidu.com(主机名, FQDN: Full Qualified Domain Name)

DNS: 名称解析, Name Resolving 名称转换(背后有查询过程,数据库)

FQDN<-->IP  双向转换

nsswitch是一个平台,可以让其它应用完成名称解析

libnss_files.so libnss_dns.so


hosts files dns

files /etc/hosts

IPADDR FQDN Aliases

dns DNS

组织 IANA-->ICANN

1、周期性任务

2、Server, Server

3、分布式数据库

stub resolver 名称解析器




TLD (Top Level Doman)

组织域 .com, .org, .net, .edu

国家域 .cn, .tw, .hk, .iq, .ir, .jp

反向域: IP-->FQDN  单独的数据库 

解析

反向 IP-->FQDN

正向 FQDN-->IP



查询

递归 主机-->ns

迭代 ns-->ns

查询两段式,递归,迭代



IP-->FQDN  一个IP可以有多个FQDN

FQDN-->IP  一个FQDN也可以有多个IP 



DNS:分布式数据库

上级仅知道其直属下级

下级只知道根的位置

DNS Server

接受本地客户查询请求(递归)

外部客户端请求:请求权威答案

肯定答案:TTL

否定答案:TTL

外部客户端请求:非权威答案

本地客户端/etc/resolv.conf 里所配置的DNS服务器必须是可以为你递归的服务器


全世界根服务器只有13台,大部分都在美国

a.root-server.net~m.root-server.net



DNS服务器类型

主DNS服务器 数据修改push

辅助DNS服务器 请求数据同步pull

serial number

refresh

retry

expire

negative answer TTL

缓存DNS服务器

转发器


数据库中的,每一个条目称作资源记录(Resource Record, RR)

资源记录的格式

TTL 600;

NAME TTL IN RRT VALUE

www.mysky.com. IN A 1.1.1.1

1.1.1.1  IN PTR www.mysky.com.


资源记录类型

SOA(Start Of Authority)

ZONE NAME  TTL IN SOA FQDN ADMINNISTRATORY_MAILBOX(

serial number

refresh

retry

expire

na ttl)

时间单位: M(minutes) H(hour) D(day) W(week)

邮箱格式: admin@mysky.com --> admin.mysky.com

mysky.com. 600 IN SOA ns1.mysky.com. admin.mysky.com.(

20161213

1H

5M

1W

1D)

NS(name server) ZONE NAME--> FQDN

mysky.com 600 IN NS ns1.mysky.com.

mysky.com 600 IN NS ns2.mysky.com.

ns1.mysky.com 600 IN A 1.1.1.2

ns2.mysky.com 600 IN A 1.1.1.5

MX(Mail eXchanger): ZONE NAME --> FQDN

ZONE NAME  TTL  IN MX pri VALUE

mysky.com 600 IN MX 10 mail.mysky.com

mail.mysky.com 600 IN A 1.1.1.3

优先级 0-99 数字越小级别越高

A(address): FQDN-->IPv4


AAAA FQDN-->IPv6


PTR(pointer)IP-->FQDN


CNAME(Canonical NAME): FQDN-->FQDN

www2.mysky.com. IN CNAME www.mysky.com.

TXT


CHAOS


SRV




域: Domain

区域:Zone




.com

mysky.com. IN NS ns.mysky.com.

ns.mysky.com. IN A 192.168.1.1




mysky.com 192.168.1.0/24


www 192.168.1.1

mail 192.168.1.2, MX


建立两个区域文件

正向区域文件

mysky.com. IN SOA

www.mysky.com. IN A 192.168.1.1

上条简写为

www IN A 192.168.1.1



反向区域文件

1.168.192.in-addr.arpa IN SOA


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

1 IN PTR www.mysky.com.



区域传送的类型

完全区域传送:axfr

增量区域传送:ixfr



区域类型

主区域:master

从区域:slave

提示区域: hint (用来定义根在何处)

转发区域:forward



DNS资源记录类型及意义:

SOA 起始授权记录

NS 名称服务器

MX 服务交换器

CNAME 别名记录

A FQDN-->IPv4

AAAA FQDN-->IPv6

PTR IP-->FQDN

本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1882287如需转载请自行联系原作者

Winthcloud
相关文章
|
2月前
|
Ubuntu Linux Python
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
在Linux系统中,使用Tkinter库时可能会遇到中文显示乱码的问题,这通常是由于字体支持问题导致的,可以通过更换支持中文的字体来解决。
157 0
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
|
19天前
|
缓存 并行计算 Linux
深入解析Linux操作系统的内核优化策略
本文旨在探讨Linux操作系统内核的优化策略,包括内核参数调整、内存管理、CPU调度以及文件系统性能提升等方面。通过对这些关键领域的分析,我们可以理解如何有效地提高Linux系统的性能和稳定性,从而为用户提供更加流畅和高效的计算体验。
27 2
|
1月前
|
算法 Linux 定位技术
Linux内核中的进程调度算法解析####
【10月更文挑战第29天】 本文深入剖析了Linux操作系统的心脏——内核中至关重要的组成部分之一,即进程调度机制。不同于传统的摘要概述,我们将通过一段引人入胜的故事线来揭开进程调度算法的神秘面纱,展现其背后的精妙设计与复杂逻辑,让读者仿佛跟随一位虚拟的“进程侦探”,一步步探索Linux如何高效、公平地管理众多进程,确保系统资源的最优分配与利用。 ####
70 4
|
1月前
|
缓存 负载均衡 算法
Linux内核中的进程调度算法解析####
本文深入探讨了Linux操作系统核心组件之一——进程调度器,着重分析了其采用的CFS(完全公平调度器)算法。不同于传统摘要对研究背景、方法、结果和结论的概述,本文摘要将直接揭示CFS算法的核心优势及其在现代多核处理器环境下如何实现高效、公平的资源分配,同时简要提及该算法如何优化系统响应时间和吞吐量,为读者快速构建对Linux进程调度机制的认知框架。 ####
|
3月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
477 37
|
2月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
110 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
2月前
|
弹性计算 网络协议 Ubuntu
如何在阿里云国际版Linux云服务器中自定义配置DNS
如何在阿里云国际版Linux云服务器中自定义配置DNS
|
2月前
|
Ubuntu Java Linux
Linux操作系统——概念扫盲I
Linux操作系统——概念扫盲I
47 4
http数据包抓包解析课程笔记
http数据包抓包解析课程笔记
|
4月前
|
图形学 开发者 存储
超越基础教程:深度拆解Unity地形编辑器的每一个隐藏角落,让你的游戏世界既浩瀚无垠又细节满满——从新手到高手的全面技巧升级秘籍
【8月更文挑战第31天】Unity地形编辑器是游戏开发中的重要工具,可快速创建复杂多变的游戏环境。本文通过比较不同地形编辑技术,详细介绍如何利用其功能构建广阔且精细的游戏世界,并提供具体示例代码,展示从基础地形绘制到植被与纹理添加的全过程。通过学习这些技巧,开发者能显著提升游戏画面质量和玩家体验。
185 3

相关产品

  • 云解析DNS