Linux基础;Day07
主域名服务器
辅助域名服务器
缓存域名服务器
转发域名服务器
1、安装dns的程序包--bind Berkeley Internet Name Domain
yum install bind -y
rpm -ql bind
/etc/named.conf
/etc/named.rfc1912.zone
/etc/rndc
/etc/init.d/named
/var/named/name.ca
/var/named/named.localhost //正向解析库文件
/var/named/named.loopback //反向解析库文件
整个bind的程序都是由C语言开发,语法格式遵循c语言格式!
1、行尾必须加 ; 号
2、// 单行注释 /* 多行注释 */
zone "zone_name" IN {
type master;
file "对应库文件"; //授权的问题 chmod :named 文件
}
zone "IP.in-addr.arpa" IN { //ip一定要反过来写
type masker;
file "对应库文件";
}
正向和反向
SOA SOA
NS NS
A PTR
域名解析 : 域名转换为IP地址一个过程; 方便人们更好的记忆网站;
直接记忆IP地址;
|
网站逐渐增加,1、给取名 2、找地方记录下来; -- hosts 文件
C:\Windows\System32\drivers\etc\hosts
/etc/hosts 文件
|
网站逐渐增加(更加多了)
把解析工作交给专门的服务器去做解析;
IANA (所有的解析记录)
|
网站逐渐增加(更加多了)
创建分级结构,此时,IANA的根域名服务器不再直接为客户提供解析记录,而是转而将这个工作交给“小弟”
一级“小弟”,我们叫做顶级域名服务器;
早期的顶级域名服务,只有7个: .com .gov .org .net .mil .edu .int
随着时间推移:公开域名权限,分为三类:1、国家类 .cn 2、反向类 3、组织类
1、 本区域内查找域名
2、查找区域外的域名
递归 -- 一次查找,获得结果
迭代 -- 多次查找,获得结果
本地的DNS服务器才会替代PC机器,去向互联网做迭代查找,先找根 再找顶级域名 最后找到公司域名;
可以指定其他互联网DNS服务器为我们做解析;
DNS的分类:
1、主DNS服务器
解析库 -- SOA记录:(起始授权记录)
SOA记录中有一些列的时间:
1、序列号 serial 定义当前时间 -- 20190904 -- 每次修改,序列号要 加1 ;它可以出发解析库同步;
2、刷新时长 从服务器从主服务器同步解析库的时间间隔、多长时间同步一次
3、重试时长 从服务器没有同步成功,过多久再去同步一次
4、过期时长 试了多长时间以后,确认主服务器down机 【特性:主挂了,从服务器也无法提供解析服务】
5、最小TTL值 所有域名解析记录最小的生存时间(DNS记录的缓存时间)
2、从DNS服务器
3、缓存服务器 -- 默认安装bind的程序,启动起来就是一个缓存服务器
4、转发器 -- 不做解析,将解析请求转发给指定的DNS服务器即可;
UDP53 -- 查询请求以及恢复
TCP53 -- 主从同步
*DNS解析库:*(RR)
被解析条目 TTL值 IN 解析条目类型 解析后条目
【注意:TTL值通过 首行写$的方式,定义了,所以我们看到的都没有写TTL;】
解析条目类型:
SOA 起始授权记录
NS 域名服务 -- 指定DNS服务器
【注意:如果当前条目所指定的被解析条目与上一条相同,即可省略;】
【衍生:如果同一个被解析条目对应了两个服务器,而这个两个服务器提供同样的应用,就可以实现基于DNS的负载均衡】
A iPv4的正向解析记录
【注意:被解析记录是支持模糊查找的,比如 * 代表所有字符,一般配置在最后;】
PTR 反向解析记录
AAAA ipv6的正向解析记录
MX 邮件服务器的解析记录
有一个优先级要定义,范围为 0-99 越低越优先;邮件的解析记录和NS一样,要写A记录;
test.com. IN MX 10 mail1.test.com.
IN MX 20 mail2.test.com.
mail1 IN A 192.168.94.188
mail2 IN A 192.168.94.189
CNAME 别名记录
将原有的一个DNS记录转换另外一个名字;
在当今互联网上使用广泛;
主服务器 -- master ;
从服务器 -- slave ;
通过TCP53号端口进行数据同步;
从服务器,需要指定主(master);
只需要指定:
从服务器上 named.rfc1912.zones
zone "test.com" IN {
type slave;
masters { 192.168.94.128; };
file "slaves/test.zone";
};
zone "94.168.192.in-addr.arpa" IN {
type slave;
masters { 192.168.94.128; };
file "slaves/192.168.94.zone";
};
测试:主卦了 备挂不挂?
原理:基于DNS服务器的分层结构;
我们下一级的域环境需要父域进行授权;
父域进入本级的库文件中,去指定子域的NS服务器即可,注意,对应的A记录也要写上;
配置:
父域DNS:
xny.test.com IN NS ns.xny.test.com
ns.xny.test.com IN A 192.168.94.130
子域DNS:
正常配置即可;
转发器
/etc/named.conf
option {
forward { first | only }; //first --> 第一次找转发服务器指定的DNS,如果被指定的DNS无法做解析,就可以自己解析
//only --> 只依靠指定的DNS服务器;
forwarders;
};
zone "test.com" IN {
type forward;
forward { first | only };
forwarders;
};
Linux基础;Day07的更多相关文章
- Linux基础练习题(二)
Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...
- 大数据每日干货第四天(linux基础之一目录结构与常用命令)
为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop. ...
- Linux课程实践一:Linux基础实践(SSH)
一.SSH服务 1. 安装SSH (1)查看是否已经安装过ssh服务 rpm -qa |grep ssh (2)进行安装 sudo apt-get install openssh-server Ubu ...
- 还是不想改报告,伊阿忆啊哟-Linux基础继续
hi 虽然今天是最最美好的周六(前不着工作日后不着工作日),但老子还要来改报告,但额就是不想改,你拿我有啥办法啊... 争取完结Linux基础 一.Linux常用命令(三) 4.帮助命令 4.1 帮助 ...
- 原来今天是感恩节-Linux基础继续&MySQL和PHP
hi 原来今天是感恩节.虽然一直没有过这个节日的习惯,但仅仅是听到感恩的消息,都能想到一幅幅画面.愿大家安好! 下午开题会议还是有所收获,悄悄的,就变向那个不喜欢自己的人了. 一.Linux基础(二) ...
- 买错的电影票,含着泪也得看-LAMP搭建&Linux基础
hi 没说过,上周五室友过生请客,在龙湖里吃嗨了喝爽了,回去的路上侃侃而谈.说好的这周一起去看年内最后的大片,火星救援的,谁知道老子眼神不好,买错了电影的时间...把周六的约定提前到了今儿个下午,ma ...
- Linux基础3(文件权限)
文件权限 1.普通权限 (登陆用户对文件或目录的读写执行的权限) 普通权限对管理员用户无效 文件和目录 都有4中类型的用户u 所有者 : 文件.目录的创建者g 所属组 : 文件.目录属于的用户组o 其 ...
- Linux课程实践一:Linux基础实践(基础操作)
一.软件源维护 1. 基本操作 (1)查看源列表 sudo vim /etc/apt/sources.list deb:二进制软件安装包 deb-src:源码包 (2)备份软件源列表 sudo cp ...
- 实践一:Linux基础实践
一.Linux基础实践 1.1 1. 掌握软件源的维护方法,配置系统使用软件源镜像.掌握通过软件源来查找,安装,卸载,更新软件的方法. 这部分内容在许多学长学姐的报告里都有很详细的讲解,我在此就不赘述 ...
随机推荐
- unittest测试框架详解
单元测试的定义 1. 什么是单元测试? 单元测试是指,对软件中的最小可测试单元在与程序其他部分相隔离的情况下进行检查和验证的工作,这里的最小可测试单元通常是指函数或者类,一般是开发来做的,按照测试 ...
- MATLAB神经网络(4) 神经网络遗传算法函数极值寻优——非线性函数极值寻优
4.1 案例背景 \[y = {x_1}^2 + {x_2}^2\] 4.2 模型建立 神经网络训练拟合根据寻优函数的特点构建合适的BP神经网络,用非线性函数的输入输出数据训练BP神经网络,训练后的B ...
- Spyder——科学的Python开发环境
刚开始接触Python的时候,网上找到的资料基本上上来就是介绍Python语言,很少有对开发环境进行讲解的,但如果在学习的过程中不断练习,这样效率会更高,所以特意将一个Python的开发环境Spyde ...
- 【JAVA进阶架构师指南】之一:如何进行架构设计
前言 本博客是长篇系列博客,旨在帮助想提升自己,突破技术瓶颈,但又苦于不知道如何进行系统学习从而提升自己的童鞋.笔者假设读者具有3-5年开发经验,java基础扎实,想突破自己的技术瓶颈,成为一位优 ...
- yield 语法备忘录
yield 语法备忘录 yield 语法备忘录 语法 .net yield 读作:“一有得” 英式发音 皮一下~ yield 关键字向编译器指示它所在的方法是迭代器块. 编译器生成一个类来实现 ...
- C#中无边框窗体拖动
//定义一个bool变量标识是否拖动窗体 private bool isMove = false; //记录鼠标的位置 private Point point; 定义的变量 /// <summa ...
- WEB应用之httpd基础入门(二)
前文我们聊了下httpd的一些基础设置,聊了下httpd的配置文件格式,长连接.mpm的配置以及访问控制基于文件路径和URL管控,回顾请参考https://www.cnblogs.com/qiuhom ...
- Shell 截取字符串方法
原文链接 方法1 "${varible##*string}" 从左向右截取最后一个string后的字符串 e.g. exampleString="abc//888//ab ...
- jenkins-gitlab-harbor-ceph基于Kubernetes的CI/CD运用(二)
一张网图 因为我们使用了Docker in Docker技术,就是把jenkins部署在k8s里.jenkins master会动态创建slave pod,使用slave pod运行代码克隆,项目构建 ...
- Dapper操作MySQL数据库获取JSON数据中文乱码
前言 在项目中利用Dapper将JSON数据存储到MySQL数据库,结果发现JSON数据中的中文乱码,特此记录,希望对存储JSON的童鞋能有所帮助,文中若有错误之处,还望批评指正. Dapper获取J ...