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

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

前置条件 技能要求 了解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 用户通常…

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

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

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

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

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

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

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

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

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

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

YOLOv11实战宠物狗分类

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

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

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

云岚到家 秒杀抢购

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

JavaWeb常见注解

1.Controller 在 JavaWeb 开发中,Controller是 Spring 框架中的一个注解,主要用于定义控制器类(Controller),是 Spring MVC 模式的核心组件之一。它表示该类是一个 Spring MVC 控制器,用来处理 HTTP 请求并…

光伏储能微电网协调控制器

安科瑞 Acrel-Tu1990 1. 产品介绍 ACCU-100微电网协调控制器是一款专为微电网、分布式发电和储能系统设计的智能协调控制设备。该装置能够兼容包括光伏系统、风力发电、储能系统以及充电桩等多种设备的接入。它通过全天候的数据采集与分析,实时监控光伏、风能、储…

【C++课程学习】:继承:默认成员函数

🎁个人主页:我们的五年 🔍系列专栏:C课程学习 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 构造函数 🍩默认构造函数(这里指的是编译器生成的构造函数)&#…

泷羽sec学习打卡-Linux基础2

声明 学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 关于Linux的那些事儿-Base2 一、Linux-Base2linux有哪些目录呢?不同目录下有哪些具体的文件呢…

TCP拥塞控制

TCP拥塞控制(Congestion Control) 什么是拥塞控制? 拥塞控制(Congestion Control)主要针对整个网络中的数据传输速率进行调节,防止过多的数据注入网络中,这样可以使网络中的路由器或链路不致于过载,以避免…

Unity教程(十八)战斗系统 攻击逻辑

Unity开发2D类银河恶魔城游戏学习笔记 Unity教程(零)Unity和VS的使用相关内容 Unity教程(一)开始学习状态机 Unity教程(二)角色移动的实现 Unity教程(三)角色跳跃的实现 Unity教程&…

自动驾驶合集(更新中)

文章目录 车辆模型控制路径规划 车辆模型 车辆模型基础合集 控制 控制合集 路径规划 规划合集

网站架构知识之Ansible进阶(day022)

1.handler触发器 应用场景:一般用于分发配置文件时候,如果配置文件有变化,则重启服务,如果没有变化,则不重启服务 案列01:分发nfs配置文件,若文件发生改变则重启服务 2.when判断 用于给ans运…

整理5个优秀的微信小程序开源项目

​ 一、Bee GitHub: https://github.com/woniudiancang/bee Bee是一个餐饮点餐商城微信小程序,是针对餐饮行业推出的一套完整的餐饮解决方案,实现了用户在线点餐下单、外卖、叫号排队、支付、配送等功能,完美的使餐饮行业更高效便捷&#x…