DNS解析库

DNS解析库

  • dns
    • DNS的解析库以及域名的详解
    • 解析库
    • dns解析的端口
    • dns域名的长度限制
    • 流程
    • 优先级
    • 在现实环境中实现内网的dns解析
  • 练习(Ubuntu内网实现DNS解析)
    • 主服务器
    • 备服务器

dns

域名系统,域名和ip地址互相映射的一个分布式的数据库,方便用户访问互联网
ip地址是所有设备和网站在互联网上的唯一地址。要通信一定是ip和ip之间通信。
dns解析:根据域名在互联网当中找到对应的ip地址,访问。

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

www.baidu.com.cn.

  • .根域:服务器9台在美国 3台欧洲 1日本
    (ipv6:根域服务器,中国, 美国)

  • cn.:一级域,国家或者地区 jp. us. uk. kr. rs.

  • com.cn.:二级域,表示的组织机构,com 商业组织 edu 教育机构 org 非盈利机构 net 运营商 gov国家机构

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

  • www:主机名,主机站点,www web mail 邮箱

解析库

  • 以前 ----->vim /etc/hosts 本地做解析速度快但配置起来麻烦。
  • 现在 ----->运营商完成。如,电信 移动 联通

电信的dns解析的地址:

  • 江苏:218.2.135.1
  • 北京:202.96.199.133
  • 上海:202.96.199.132
  • 天津‌:202.99.96.68
  • 广东‌:202.96.128.143
  • 深圳‌:202.96.134.133
  • 湖南‌:202.103.0.68

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

dns解析的端口

53端口
TCP的53
UDP的53
用于连接dns服务器
用于解析域名

dns域名的长度限制

每一级长度是63个字符,总长度不能超过253个字符

流程

在这里插入图片描述

优先级

/etc/hosts和dns解析服务的优先级
本地的优先级高,但文件只能对当前主机生效

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

  • 正向解析:通过域名可与获取ip地址
  • 反向解析:通过ip获取对应的域名
  • 主从解析:两台服务器互为主备做dns解析

练习(Ubuntu内网实现DNS解析)

  • 主服务器:192.168.246.7
  • 备服务器:192.168.246.8

主服务器

# 
# 主服务器
root@du:~# apt -y install bind9   #安装dns服务
root@du:~# cd /etc/bind
root@du:/etc/bind# ls
bind.keys  db.127  db.empty  named.conf                named.conf.local    rndc.key
db.0       db.255  db.local  named.conf.default-zones  named.conf.options  zones.rfc1918
root@du:/etc/bind# vim named.conf    #bind的主配置文件,引入其他的配置文件和区域定义(无需更改)
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the 
// structure of BIND configuration files in Debian, *BEFORE* you customize 
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.localinclude "/etc/bind/named.conf.options";
#bind的主要配置和选项参数都记录在这个文件
include "/etc/bind/named.conf.local";
#默认本地的区域文件配置(对应的解析服务的配置)
include "/etc/bind/named.conf.default-zones";
#本地区域文件的详细配置,自定义配置都在这里完成
~                                             
root@du:/etc/bind# vim named.conf.options
options {directory "/var/cache/bind";listen-on port 53 { 192.168.246.7; };#指定DNS服务器监听的端口为默认端口53,只监听IP地址为192.168.246.7的接口allow-query { 192.168.246.0/24; };#许来自192.168.246.0到192.168.246.255(即整个192.168.246.0/24子网)的客户端进行DNS查询// If there is a firewall between you and nameservers you want// to talk to, you may need to fix the firewall to allow multiple// ports to talk.  See http://www.kb.cert.org/vuls/id/800113// If your ISP provided one or more IP addresses for stable// nameservers, you probably want to use them as forwarders.// Uncomment the following block, and insert the addresses replacing// the all-0's placeholder.// forwarders {//      0.0.0.0;// };//========================================================================// If BIND logs error messages about the root key being expired,// you will need to update your keys.  See https://www.isc.org/bind-keys//========================================================================dnssec-validation auto;};
~                                                                                                                                    
~        
root@du:/etc/bind# vim named.conf.default-zone
#全部添加
zone "1024.com" {        #正向解析type master;     #指定为主服务器file "/etc/bind/1024.local";allow-transfer { 192.168.246.8; };  #允许IP地址为192.168.246.8的服务器进行区域传输
};zone "246.168.192.in-addr.arpa" {     #反向解析,用于将IP地址反向解析为域名type master;file "/etc/bind/1024.local.zone";allow-transfer { 192.168.246.8; };
};
root@du:/etc/bind# vim /etc/resolv.conf   #配置DNS解析器的文件
nameserver 192.168.246.7     #互为主从
nameserver 192.168.246.8
options edns0 trust-ad
search .
~                                                                                                                                    
~                                                                                                                                    
~               
root@du:/etc/bind# cp -a db.local 1024.local          #正向解析区域文件
root@du:/etc/bind# cp -a 1024.local 1024.local.zone   #反向解析区域文件
root@du:/etc/bind# vim 1024.local
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     1024.local. admin.1024.com. (2         ; Serial604800         ; Refresh86400         ; Retry2419200         ; Expire604800 )       ; Negative Cache TTL
;
@       IN      NS      1024.com.
@       IN      A       192.168.246.100
www     IN      A       192.168.246.100
~                                                                                                                                    
~                                                                                                                                    
~                                   
root@du:/etc/bind# vim 1024.local.zone
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     1024.local. admin.1024.com. (2         ; Serial604800         ; Refresh86400         ; Retry2419200         ; Expire604800 )       ; Negative Cache TTL
;
@       IN      NS      1024.com.
@       IN      A       192.168.246.100
100     IN      PTR     www.1024.com.
~                                                                                                                                    
~    
root@du:/etc/bind# systemctl restart bind9   #重启DNS服务器

备服务器

root@du2:~# apt -y install bind9
root@du2:~# cd /etc/bind
root@du2:/var/cache/bind# vim /etc/resolv.conf      #与主配置相同
root@du2:/var/cache/bind# vim named.conf.default-zones
zone "1024.com" {   #正向解析type slave;file "1024.local";      #需要删除路径masters { 192.168.246.7; };    #指定主服务器的IP地址为192.168.246.7
};zone "246.168.192.in-addr.arpa" {   #反向解析type slave;file "1024.local.zone";masters { 192.168.246.7; };
};
root@du2:/etc/bind# vim named.conf.options
options {directory "/var/cache/bind";listen-on port 53 { any; };allow-query { any; };// If there is a firewall between you and nameservers you want// to talk to, you may need to fix the firewall to allow multiple// ports to talk.  See http://www.kb.cert.org/vuls/id/800113// If your ISP provided one or more IP addresses for stable// nameservers, you probably want to use them as forwarders.// Uncomment the following block, and insert the addresses replacing// the all-0's placeholder.// forwarders {//      0.0.0.0;// };//========================================================================// If BIND logs error messages about the root key being expired,// you will need to update your keys.  See https://www.isc.org/bind-keys//========================================================================dnssec-validation auto;};
~                                                                                                                                    
~                        
root@du2:/etc/bind# systemctl restart bind9
root@du2:/etc/bind# nslookup www.1024.com    #正向
Server:		192.168.246.7
Address:	192.168.246.7#53Name:	www.1024.com
Address: 192.168.246.100root@du2:/etc/bind# nslookup 192.168.246.100    #反向
100.246.168.192.in-addr.arpa	name = www.1024.com.root@du2:/etc/bind# cd /var/cache/bind     #主从自动备份
root@du2:/var/cache/bind# ls
1024.local  1024.local.zone  managed-keys.bind  managed-keys.bind.jnl

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

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

相关文章

kafka 生产经验——数据积压(消费者如何提高吞吐量)

bit --> byte --> kb -->mb -->gb --> tb --> pb --> eb -> zb -->yb

Database Advantages (数据库系统的优点)

数据库管理系统(DBMS)提供了一种结构化的方式来存储、管理和访问数据,与传统的文件处理系统相比,数据库提供了许多显著的优点。以下是数据库系统的主要优势: 1. Data Integrity (数据完整性) 概念:数据完整…

【记录】公司管理平台部署:容器化部署

前置条件 技能要求 了解Docker基本使用和常用命令。会写Dockerfile文件。会写docker-compose文件环境要求 云服务器,已安装好安装Docker本机 IntelliJ IDEA 2022.1.3配置 配置服务器SSH连接 进入 Settings -> Tools -> SSH Configurations 点击加号创建SSH连接配置 填…

从零开始 blender插件开发

blender 插件开发 文章目录 blender 插件开发环境配置1. 偏好设置中开启相关功能2. 命令行打开运行脚本 API学习专有名词1. bpy.data 从当前打开的blend file中,加载数据。2. bpy.context 可用于获取活动对象、场景、工具设置以及许多其他属性。3. bpy.ops 用户通常…

JavaScript 观察者设计模式

观察者模式:观察者模式(Observer mode)指的是函数自动观察数据对象,一旦对象有变化,函数就会自动执行。而js中最常见的观察者模式就是事件触发机制。 ES5/ES6实现观察者模式(自定义事件) - 简书 先搭架子 要有一个对象&#xff…

el-table 行列文字悬浮超出屏幕宽度不换行的问题

修改前的效果 修改后的效果 ui框架 element-plus 在网上找了很多例子都没找到合适的 然后这个东西鼠标挪走就不显示 控制台也不好调试 看了一下El-table的源码 他这个悬浮文字用的el-prpper 包着的 所以直接改 .el-table .el-propper 设置为max-width:1000px 就可以了 吐槽一…

IO技术详解

IO监控项在监控中一直是很重要的存在,服务有IO,磁盘有IO,操作系统也有IO,IO到底是什么呢 IO IO,即“输入/输出”(Input/Output),是指计算机系统或设备之间交换数据的过程。这个概念…

Tcp中的流量控制,拥塞控制,超时重传时间的选择,都附带相应例子说明

端口号的了解 通常进行通信时,发送方使用任意端口,指定接收方为指定端口,因为接收方在接收到后的需要根据发送方指定的接收方端口号,来选择使用哪一个服务进程进行处理。 端口号还可以分类为两个大类: TCP和UDP报文的…

Nextflow最佳实践:如何在云上高效处理大规模数据集

1. Nextflow 软件架构介绍 Nextflow 是一个用于简化数据驱动计算流程的工具,可以在各种计算环境中轻松部署。它采用了分布式计算和容器技术,实现了高度模块化、可重复性和可扩展性。NextFlow 的软件架构主要包括以下几个部分: 用户界面&…

LeetCode【0032】最长有效括号

本文目录 1 中文题目2 求解方法:动态规划2.1 方法思路2.2 Python代码2.3 复杂度分析 3 题目总结 1 中文题目 给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号 子串 的长度。 示例: 输入&…

一文看懂ERP、SCM、SRM、WMS、TMS、进销存管理系统

经常有人来私信问我ERP、SCM、SRM、WMS、TMS、进销存管理系统等等,它们听起来都很专业,但到底各自是什么?承担着怎样的角色呢?它们具体都有哪些功能?相互之间又存在怎样的关联,对企业而言又意味着什么呢&am…

c++写一个死锁并且自己解锁

刷算法题: 第一遍:1.看5分钟,没思路看题解 2.通过题解改进自己的解法,并且要写每行的注释以及自己的思路。 3.思考自己做到了题解的哪一步,下次怎么才能做对(总结方法) 4.整理到自己的自媒体平台。 5.再刷重复的类…

机器学习系列----KNN分类

目录 前言 一.KNN算法的基本原理 二.KNN分类的实现 三.总结 前言 在机器学习领域,K近邻算法(K-Nearest Neighbors, KNN)是一种非常直观且常用的分类算法。它是一种基于实例的学习方法,也被称为懒学习(Lazy Learnin…

深度学习——优化算法、激活函数、归一化、正则化

文章目录 🌺深度学习面试八股汇总🌺优化算法方法梯度下降 (Gradient Descent, GD)动量法 (Momentum)AdaGrad (Adaptive Gradient Algorithm)RMSProp (Root Mean Square Propagation)Adam (Adaptive Moment Estimation)AdamW 优化算法总结 经验和实践建议…

vue登陆验证

导航守卫:直白的说,导航守卫就是路由跳转过程中的一些钩子函数,这些函数能让你在跳转过程中操作一些其他 的事的时机,这就是导航守卫。 比如最常见的登录权限验证,当用户满足条件时,才让其进入导航&…

YOLOv11实战宠物狗分类

本文采用YOLOv11作为核心算法框架,结合PyQt5构建用户界面,使用Python3进行开发。YOLOv11以其高效的特征提取能力,在多个图像分类任务中展现出卓越性能。本研究针对5种宠物狗数据集进行训练和优化,该数据集包含丰富的宠物狗图像样本…

星期-时间范围选择器 滑动选择时间 最小粒度 vue3

星期-时间范围选择器 功能介绍属性说明事件说明实现代码使用范例 根据业务需要,实现了一个可选择时间范围的周视图。用户可以通过鼠标拖动来选择时间段,并且可以通过快速选择组件来快速选择特定的时间范围。 如图: 功能介绍 时间范围选择&…

上海ABC行测试面试题回忆版本

11.14号去ABC面试,流程上先做个半个小时的笔试,然后是排队面试。这次做笔试的人很多,有JAVA,大数据,前端,测试,我是最后一批测试。现场没有敢拍照。面试的时候,一共8个面试官&#x…

云岚到家 秒杀抢购

目录 秒杀抢购业务特点 常用技术方案 抢券 抢券界面 进行抢券 我的优惠券列表 活动查询 系统设计 活动查询分析 活动查询界面显示了哪些数据? 面向高并发如何提高活动查询性能? 如何保证缓存一致性? 数据流 Redis数据结构设计 如…

【大数据测试HBase数据库 — 详细教程(含实例与监控调优)】

大数据测试HBase数据库 1. 环境准备与安装1.1 安装 HBase 环境1.1.1 下载与安装 HBase1.1.2 配置 HBase 2. 功能测试2.1 创建表和插入数据2.2 查询数据2.3 更新数据2.4 删除数据2.5 查看表格结构 3. 性能测试3.1 使用 HBase 自带的性能测试工具3.2 使用 YCSB 进行性能测试 4. 容…