DNS解析与Bond

一、DNS

1、DNS概念

  • DNS是域名系统的简称:域名和ip地址之间的映射关系
  • 互联网中IP地址是通信的唯一标识,逻辑地址
  • 访问网站,有域名,ip地址不好记,域名朗朗上口,好记。

域名解析的目的:实现访问域名就等于访问ip地址。

在访问域名的时候,通过dns解析,把域名映射的ip地址解析出来,然后实际上访问的还是域名映射的ip地址。

类似于导航,输入域名之后,就可以定位出他的ip地址,然后访问。

访问百度就是计算机向dns服务器发起查询请求,dns搜索自己的数据库,域名和ip的映射关系,然后ip地址的结果返还给计算机,计算机访问的还是域名对应的ip。

2、DNS系统分作用

3、 域名体系结构

例如:www.baidu.com.cn.

从右往左看

  • .根域 根域名dns服务器,专门负责解析根域
  • cn. 一级域,一般是国家或者地区的名称 jp. uk. hk. us.
  • 13个根域10个在美国1个在日本1个在英国1个在瑞典
  • ipv4地址根服务器,国内有2个镜像服务器
  • ipv6根域服务,1主3从 美国1主2从
  • com. 二级域 组织名称 com. 商业组织 edu.教育机构 org 非盈利组织 net运营商 gov政府机构
  • baidu. 三级域(域名)需要花钱购买 (子域)
  • www 主机名,就是一台具体的计算机

4、 NS解析使用的协议和端口

  • 协议tcp和udp
  • 端口均53
  • tcp的53端口用于DNS服务器
  • udp的53端口用于解析DNS
  • DNS域名的长度限制,每一级的域名长度限制是63个字符,域名的总长度不能超过253个字符。

5、 DNS域名解析的过程

第一步:查询本机的缓存记录:hosts文件 访问速度最快

第二步:本地缓存未找到----->查询DNS服务器(三大运营商)

第三步:运营商未找到----->查询根域服务器 . --------->根域已经知道结果,但不直接告诉你,他会要求你去一级域查询

第四步:顶级域.cn. ---------->顶级域知道结果,也不直接告诉你,要你去二级域查询

第五步:.com.cn.(找到)二级域找到网站对应的ip地址,先返回DNS服务器,然后直接返还给用户

6、查询过程中的迭代和递归  

迭代:从根域到顶级域(一级域名)到二级域这个过程叫迭代 第三步 第四步 第五步

递归:结果返回给用户的过程是递归

7、 DNS解析的优先级

hosts本地文件 优先级是最高的,只对当前主机有效。可以提高访问速度 /etc/hosts

DNS服务器(运营商)第二个

二、实验

如何实现域名解析(仅限于内网/局域网内部的域名解析)

bind 用来做局域网内部的域名解析。

内网的DNS不需要注册,仅限于内部使用

1、正向解析

2、反向解析

3、主从服务器解析

主服务ip:test2 192.168.10.10

从服务ip:test2-1 192.168.10.30

1、正向解析

DNS正向解析

1、关闭防火墙,安全机制

2、下载bind

[root@localhost ~]# yum -y install bind

3、配置文件

1、进入/etc/named.conf 配置bind的主配置文件,保存退出。

2、进入/etc/named.rfc1912.zones 区域配置文件,复制一行模版并修改,保存退出。  

3、将/var/named/named.localhost 配置数据文件,解析地址 保留权限的复制在当前目录下,并更改文件名,更改的文件名要与2区域配置文件中的自定义名称一致,然后对其进行修改,保存退出。

[root@localhost named]# cp -a named.localhost zlm102.com.znoe

4、修改 vim /etc/resolv.conf配置文件,增加本机的解析地址,保存退出。  

5、重启bind服务,并解析  

[root@localhost named]# systemctl restart named

输入域名mail.zlm102.com和www.zlm102.com,正向解析自定义的ip地址

2、反向解析

 1、在实验1正向解析的基础上,进入/etc/named.rfc1912.zones 区域配置文件也复制一行模版,进行修改,保存退出。

2、将/var/named/zlm102.com.zonezl 配置数据文件,解析地址 保留权限的复制在当前目录下,并更改文件名,更改的文件名要与2区域配置文件中的自定义名称一致,然后对其进行修改,保存退出。  

[root@localhost named]# cp -a zlm102.com.zone zlm102.com.zone.local

 

3、重启bind服务,并解析  

[root@localhost named]# systemctl restart named  #重启

3、主从服务器解析

1、从服务器关闭防火墙,安装bind服务

2、1、进入/etc/named.conf 配置bind的主配置文件,保存退出。

3、进入/etc/named.rfc1912.zones 区域配置文件,在实验二的基础上,将主服务器的配置文件修改,并将修改的内容复制到从服务器上。

主服务器的 区域配置文件进行修改/etc/named.rfc1912.zones并将这两端内容复制到从服务的区域配置文件内,保存退出  

从服务器的 区域配置文件进行修改/etc/named.rfc1912.zones  

4、修改从服务器的DNS解析  

5、主、从服务器重启bind服务,查看从服务中/var/named/slaves目录下是否有主服务器的两个文件

主服务器中传递过来两个文件,表示从从服务器建立成功,当主服务器不工作时,从服务器上线代替主服务器工作

从服务器进行正向解析,反向解析    

三、bond网卡

linux网卡的绑定模式:

mode=0 负载均衡方式 load-balancing 负载均衡 两个网卡都工作

mode=1 冗余 只有主工作 从不工作,主挂了,从才工作

mode=2 平衡策略,负载均衡和容错能力 冗余的升级版

mode=3 广播策略 (不用)

mode=4 动态链聚合 (连接交换机)

mode=5 负载均衡化模式,但是需要额外插件,ethool支持每个slave的速率(定制模式,很少)

mode=6 适配器的负载均衡(很好)

实验:两张网卡,用一个ip地址,相当于做网卡的高可用和负载均衡

1、在虚拟机新增一个网卡

 2、新增一个ens36网卡

 配置/etc/sysconfig/network-scripts/ens33的文件,ens33 与 ens36 均是bond的从服务器  

新增一个配置/etc/sysconfig/network-scripts/ens36的文件  

新增一个配置/etc/sysconfig/network-scripts/bond0的文件,保存退出  

BONDING_OPTS="miimon=100 mode=0 fail_over_mac=1"

miimon=100 检查所有从设备的连接状态 100毫秒 每隔100毫秒检查从设备网卡的连接状态

fail_over_mac=1 表示在故障切换时,备用接口获取主接口amc地址,减少切换过程中可能出现的故障。

如果计算机连接交换机,交换机不需要重新学习mac地址,ens33和ens36都知道对方的mac地址。

3、刷新网卡,重启网卡

[root@localhost network-scripts]# modprobe bonding  #刷新网卡
[root@localhost network-scripts]# systemctl restart network 

4、ifconfig查询网卡信息    

同时打开三个终端

终端1:输入tcpdump -i ens33

终端2: 输入tcpdump -i ens36

tcpdump linux自带的网络抓包工具

-i 设备 抓取指定设备的数据包

终端3:ping 192.168.10.200

终端3进行ping 192.168.10.200,终端1,终端2 同步进行数据传输

在终端1中使用ifdown ens33 对网卡ens33设备进行停用

在终端3进行ping命令,终端2仍可接收数据信息,体现高可用。

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

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

相关文章

LeetCode 算法:最大子数组和c++

原题链接🔗:最大子数组和 难度:中等⭐️⭐️ 题目 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组是数组中的一个连续部分。 …

JVM之【字节码/Class文件/ClassFile 内容解析】

说在前面的话 Java语言:跨平台的语言(write once,run anywhere) 当Java源代码成功编译成字节码后,如果想在不同的平台上面运行,则无须再次编译这个优势不再那么吸引人了。Python、PHP、Perl、Ruby、Lisp等有强大的解释器。跨平台似乎已经快成为一门语言…

Vue 3 Teleport:掌控渲染的艺术

title: Vue 3 Teleport:掌控渲染的艺术 date: 2024/6/5 updated: 2024/6/5 description: 这篇文章介绍了Vue3框架中的一个创新特性——Teleport,它允许开发者将组件内容投送到文档对象模型(DOM)中的任意位置,即使这个位…

房地产3d全景数字化看房成为转发的好工具

在短视频盛行的时代,某地产企业为了吸引客流,联合我们深圳VR公司定制了楼盘小区3D全景展示视频,不同于市面上常见的楼盘视频或3D电影,楼盘小区3D全景展示视频让您在小区建成之前,就能提前感受未来的生活场景。 无需昂贵…

C++第三方库【httplib】断点续传

什么是断点续传 上图是我们平时在浏览器下载文件的场景,下载的本质是数据的传输。当出现网络异常,浏览器异常,或者文件源的服务器异常,下载都可能会终止。而当异常解除后,重新下载文件,我们希望从上一次下载…

【技巧】系统语音是英文 影刀如何设置中文-作者:【小可耐教你学影刀RPA】

写在前面 嘿哈! 有些跨境或香港的小伙伴,可能需要使用英文操作界面的影刀 该功能目前还没有现成的可视化按钮🔘 但其实这个效果可以实现~ 1、效果图 2、实现原理 %影刀安装目录%\ShadowBot-版本号\ShadowBot.Shell.dll.confi…

2024050401-重学 Java 设计模式《实战代理模式》

重学 Java 设计模式:实战代理模式「模拟mybatis-spring中定义DAO接口,使用代理类方式操作数据库原理实现场景」 一、前言 难以跨越的瓶颈期,把你拿捏滴死死的! 编程开发学习过程中遇到的瓶颈期,往往是由于看不到前进…

机器学习:更多关于元学习

目录 Meta Learning vs Self-supervised Learning 自监督学习——找初始化的参数MAML 自动学出合适的参数 MAML:不断的学初始化参数MAML的初始化参数来自BERT MAML:找出来的初始化参数能在训练任务上表现的很好BERT:自监督目标是不同的下游任…

odoo10 权限控制用户只允许看到自己的字段

假设一个小区管理员用户&#xff0c;只想看到自己小区的信息。 首先添加一个用户信息选项卡界面&#xff0c;如下图的 用户 > 隶属信息&#xff1a; 我们在自己创建的user模块中&#xff0c;views文件夹下添加base_user.xml <?xml version"1.0" encoding&q…

Angular17(2):angular项目中使用NG-ZORRO

1、使用Angular CLI创建空项目 ng new angular-admin-web --stylescss 2、执行ng add ng-zorro-antd命令安装 &#xff08;1&#xff09;ng add ng-zorro-antd 在angular项目下运行命令 ng add ng-zorro-antd 跟随选项便可完成初始化配置&#xff0c;包括引入国际化文件&…

上位机图像处理和嵌入式模块部署(f407 mcu中的单独上位机烧录方法)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 前面我们说过&#xff0c;stm32有三种烧录方法&#xff0c;一种是st-link v2&#xff0c;一种是dap&#xff0c;一种是j-link。不过我们在实际操作…

C++基础编程100题-004 OpenJudge-1.1-06 空格分隔输出

更多资源请关注纽扣编程微信公众号 http://noi.openjudge.cn/ch0101/06/ 描述 读入一个字符&#xff0c;一个整数&#xff0c;一个单精度浮点数&#xff0c;一个双精度浮点数&#xff0c;然后按顺序输出它们&#xff0c;并且要求在他们之间用一个空格分隔。输出浮点数时保留…

中信证券:A股下半年将迎来年度级别上涨行情的起点

中信证券认为&#xff0c; 过去3年压制A股表现的经济动能转换&#xff0c;资本市场生态&#xff0c;中美战略博弈这三大叙事都将迎来重大拐点&#xff0c;随着政策、价格、外部三类信号逐步验证&#xff0c;2024年下半年A股市场将迎来年度级别上涨行情的起点 过去3年压制A股表…

鸿蒙开发接口安全:【@ohos.userIAM.userAuth (用户认证)】

用户认证 说明&#xff1a; 本模块首批接口从API version 6开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import userIAM_userAuth from ohos.userIAM.userAuth;完整示例 // API version 6 import userIAM_userAuth from ohos.use…

最小栈、栈的弹出(C++)

1.最小栈 思路分析&#xff1a; 代码&#xff1a; class MinStack { public:MinStack() {}void push(int val) {st.push(val);//两种情况需要更新最小值//1.最小栈为空(就是存最小值的那个栈)//2.插入的值小于或等于最小栈的栈顶元素if(minstack.empty()||minstack.top()>…

C++--DAY3

思维导图 设计一个Per类&#xff0c;类中包含私有成员:姓名、年龄、指针成员身高、体重&#xff0c;再设计一个Stu类&#xff0c;类中包含私有成员:成绩、Per类对象p1&#xff0c;设计这两个类的构造函数、析构函数。 #include <iostream>using namespace std; class …

SOCKS 代理 和 HTTP 代理, WebSocket

SOCKS 代理 和 HTTP 代理 的区别 SOCKS 代理 和 HTTP 代理 都是代理服务器&#xff0c;它们充当客户端和目标服务器之间的中介&#xff0c;但它们的工作方式和应用场景有所不同。 1. SOCKS 代理&#xff1a; 工作原理&#xff1a; SOCKS 代理是一种更底层的代理&#xff0c;…

查看docker中各个容器所占的资源

要查看Docker中的每个容器占用的资源&#xff0c;可以使用docker stats命令。这个命令提供了容器的实时资源使用统计&#xff0c;包括内存使用情况。以下是如何使用docker stats命令的示例&#xff1a; docker stats --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsa…

【QT5】<总览三> QT常用控件

文章目录 前言 一、QWidget---界面 二、QPushButton---按钮 三、QRadioButton---单选按钮 四、QCheckBox---多选、三选按钮 五、margin&padding---边距控制 六、QHBoxLayout---水平布局 七、QVBoxLayout---垂直布局 八、QGridLayout---网格布局 九、QSplitter---…

React@16.x(20)渲染流程-首次渲染

目录 1&#xff0c;渲染的前置知识点1.1&#xff0c;React 元素1.2&#xff0c;React 节点1.3&#xff0c;节点类型1.4&#xff0c;真实DOM 2&#xff0c;首次渲染2.1&#xff0c;根据参数创建节点2.2&#xff0c;不同节点&#xff0c;有不同处理2.3&#xff0c;生成虚拟DOM树2…