本文主要是介绍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仍可接收数据信息,体现高可用。
这篇关于DNS解析与Bond的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!