centos的DNS服务工作流程及搭建
1 什么是DNS?
DNS(Domain Name Server,域名服务器)即域名解析服务,是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS中保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。 域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。
2 DNS工作方式
3 DNS应用层协议及端口
使用的协议有两种,TCP和UDP协议,端口是53,TCP协议负责主从服务器同步记录,UDP协议除了负责主从同步记录并且负责查询工作。
4 DNS服务器类型
主DNS服务器:管理和维护所负责解析的域内解析库的服务器
从DNS服务器:从主服务器或从服务器复制解析库副本
序列号:解析库版本号,主服务器解析库变化时,其序列递增刷新时间间隔:从服务器从主服务器请求同步解析的时间间隔 重试时间间隔:从服务器请求同步失败时,再次尝试时间间隔过期时长:从服务器联系不到主服务器时,多久后 停止服务
“通知”机制:主服务器解析库发生变化时,会主动通知从服务器
5 DNS解析流程
zone "chykj.com" IN { #此处填上你的域名信息
type master; #因为是主解析服务器,所以这里应该是master类型
file "chykj.com.zone" #此处填你此域名数据库文件名字,相对应的在/var/named下边也要创建你的同名文件,格式参考/var/named/named.localhost文件
allow-update { none; }; #是否允许从解析服务器同步更新
};
cp -p /var/named/named.localhost /var/named/chykj.com.zone #将named.localhost作为模板,复制一份名字为chykj.com.zone,文件属性要相同所以这里-p
这两个文件改完了,可以用named-checkconf来检测有没语法错误。
解析库文件语法检查:
named-checkzone "chykj.com" /var/named/chykj.com.zone
rndc status|reload ;service named reload
这两步都做完了,切记启动named服务,不然会报错,如果启动服务还报以下错误。
运行 rndc reload 提示 rndc: neither /etc/rndc.conf nor /etc/rndc.key was found
解决方法: 1 rndc-confgen -r /dev/urandom -a #手动创建key
2 chown root:named /etc/rndc.key #修改rndc.key 文件属主
3 chmod 644 /etc/rndc.key # 修改rndc.key 读权限
4 /etc/init.d/named restart # 重启named 服务
建立主从域名服务器:
1 yum install bind #安装bind服务
systemctl start named #启动服务
systemctl enable named #开启开机自启动
2 vim /etc/named.conf #修改主配置文件
listen-on port 53 { localhost; };
allow-query { any; }; #允许所有人查询
3 vim /etc/named.rfc1912.zones #修改rfc配置文件
zone "chykj.com" IN {
type master; #设置其为主域名服务器
file "chykj.com.zone";
};
4 vim /var/named/chykj.com.zone #修改区域数据库文件
$TTL 1D #本段域,刷新周期为1天
@ 2D IN SOA dns1 admin.chykj.com. ( #SOA记录,声明dn1为主域服务器,邮件服务器为admin.chykj.com. (如果要添加域名后缀,需在后缀加.)
2017 ; serial #标签为2017
86400 ; refresh #主从服务器更新周期为86400秒即1D
1H ; retry #如果从主联系失败后,每隔1小时重新尝试连接更新
1M ; expire #
3H ) ; minimum
NS dns1
dns1 2D A 192.168.25.107
websrv A 192.168.25.106
www CNAME websrv
chgrp named /var/named/chykj.com.zone #修改文件属组为named组
5
named-checkconf
named-checkzone chykj.com /var/named/chykj.com.zone #此两项为检查配置文件语法正确与否
systemctl restart named #重启服务生效
测试命令dig
dig [-t type] name [@SERVER] [query options]
dig只用于测试dns系统,不会查询hosts文件进行解析
查询选项:
+[no]trace:跟踪解析过程 : dig +trace chykj.com
+[no]recurse:进行递归解析
测试反向解析:
dig -x IP = dig –t ptr reverseip.in-addr.arpa
模拟区域传送:
dig -t axfr ZONE_NAME @SERVER
dig -t axfr chykj.com @10.10.10.11
dig –t axfr 100.1.10.in-addr.arpa @172.16.1.1
dig -t NS . @114.114.114.114
dig -t NS . @a.root-servers.net
========================================================================
域名反向解析
1 修改/etc/named.rfc1912.zones #修改区域数据库
zone "40.18.172.in-addr.arpa" IN { #建立一个172.18.40.0段的反向解析
type master;
file "172.18.40.zone";
};
2 在/var/named目录下建立一个172.18.40.zone配置文件
$TTL 1D
@ IN SOA dns1.chykj.com. admin.chykj.com. ( 10m 2m 1h 3h )
NS dns1.
PTR dns1.chykj.com.
PTR dns3.chykj.com.
PTR chykj.com.
=================================================
创建转发服务器
(1) 全局转发: 对非本机所负责解析区域的请求,全转发给指定的服务器
Options {
forward first|only;
forwarders { ip;};
};
#first选项:如果A向B提交一个域名解析请求,B会去网络找地址,如果找不到地址,则A机器会亲自去互联网或者根DNS找地址。
#only选项:如果A向B提交一个域名解析请求,B如果找不到地址,则此次解析任务就失败,A也不会去互联网继续找。
(2) 特定区域转发:仅转发对特定的区域的请求,比全局转发优先级高
zone "ZONE_NAME" IN {
type forward;
forward first|only;
forwarders { ip;};
};
以上操作均是在/etc/named.rfc1912.zones修改
--------------------------------------------------------------
根服务器建立是在/var/named/named.ca 修改
然后将此文件都传到各自角色的机器里即可。
centos的DNS服务工作流程及搭建的更多相关文章
- KaliLinux常用服务配置教程DHCP服务工作流程
KaliLinux常用服务配置教程DHCP服务工作流程 DHCP服务工作流程如图1.1所示. 具体的工作流程如下所示: (1)DHCP客户端以广播的方式发出DHCP Discover报文. (2)所有 ...
- 关于dns服务工作的原理,和配置的细节理解。
dns服务器相关 1,dns原理,也就是迭代,和递归查询.将域名解析为ip的过程. 一次完整的查询请求经过的流程: Client -->hosts文件 -->DNS Service Loc ...
- struts2系列(一):struts2入门(struts2的产生、struts2的工作流程、搭建struts2开发环境)
一. struts2的产生 struts1的缺点: 1. ActionForm过多,而且这个ActionForm在很大程度上又和VO(POJO)重复 ...
- centos 构建dns服务 dnsmasq
1 安装yum -y install dnsmasq开放udp tcp 53 端口2,修改配置文件 dnsmasq.conf# grep -Ev "^$|^[#;]" /etc/d ...
- 简单web服务工作流程梳理
一.用户访问web基本流转过程梳理 二.web框架粗略概括
- centos搭建dns服务
原文:(https://www.myjinji.top/articles/2020/04/02/1585800289945.html)[https://www.myjinji.top/articles ...
- 云原生学习筑基 ~ 组网必备知识点 ~ DNS服务
@ 目录 一.为啥写这篇文章? 二.DNS的作用 三.域 四.DNS工作原理 五.搭建DNS服务器 5.1.Bind 5.2.系统环境准备 5.3.安装 5.4.查看bind的相关文件 5.5.查看b ...
- k8s中的dns服务发现
一.dns服务 1.解决的问题 为了通过服务的名字在集群内进行服务相互访问,需要创建一个dns服务 2.k8s中使用的虚拟dns服务是skydns 二.搭建 1.创建并应用skydns-rc.yaml ...
- centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课
centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更 ...
随机推荐
- HDU-2732-leapin'Lizards(最大流, 拆点)
链接: https://vjudge.net/problem/HDU-2732 题意: Your platoon of wandering lizards has entered a strange ...
- HDU-1045-Fire Net(最大匹配)
链接: https://vjudge.net/problem/HDU-1045#author=zzuli_contest 题意: 假设我们有一个有直街的广场城市.城市地图是一个方形板,有n行和n列,每 ...
- 【leetcode】1229.Meeting Scheduler
题目如下: 你是一名行政助理,手里有两位客户的空闲时间表:slots1 和 slots2,以及会议的预计持续时间 duration,请你为他们安排合适的会议时间. 「会议时间」是两位客户都有空参加,并 ...
- sql 查询 某字段是否重复
select count(*) from ( select * from 客户 )C GROUP BY 客户编码 select * from ( select count(*)num from ( s ...
- [BZOJ4237]稻草人:CDQ分治+单调栈
分析 按\(y\)排序后CDQ分治,可以发现每个点可以影响的是\(x\)坐标的一段区间,可以使用扫描线+单调栈,在单调栈上二分即可解决,时间复杂度\(O(n \log^2 n)\). 通过归并排序可以 ...
- sqli-labs(19)
百度了一下 基于错误的referer头的注入 0X01爱之初体验 猜测是基于referer头的注入 我们在referer后面加入单引号测试一下 真的报错了诶 那我们猜测一下 他应该是把 referer ...
- spring security跳过认证
在启动springboot的时候,给启动注解后添加这个exclude参数后接想要跳过的类就不会加载它了. @SpringBootApplication(exclude = { org.springfr ...
- leetcode-easy-array-189 Rotate Array
mycode 75.59% class Solution(object): def rotate(self, nums, k): """ :type nums: Lis ...
- python jieba分词(结巴分词)、提取词,加载词,修改词频,定义词库 -转载
转载请注明出处 “结巴”中文分词:做最好的 Python 中文分词组件,分词模块jieba,它是python比较好用的分词模块, 支持中文简体,繁体分词,还支持自定义词库. jieba的分词,提取关 ...
- 1、VMware安装步骤
最后重启电脑