DNS服务基础原理介绍
FQDN 全称域名
localhost(主机名或者是别名).localdomain(域名)
FQDN=主机名.域名
根域 .
顶级域名 .com .net .org
二级域名
www 一般是代表一台主机的别名
DNS服务基础原理
1.小型规模 适用于企业内部网络
2.DNS解析原理
DNS解决方案
1.bind 使用最广泛
2.Unbond
DNS:Domain Name Service 应用层协议
1.udp 53
2.tcp 53
DNS服务器类型
主DNS服务器
(1) 在主配置文件中定义区域
zone "ZONE_NAME" IN
{
type { master|slave|hint|forward};
file "ZONE_NAME.zone";
};
(2) 定义区域解析库文件
出现的内容
宏定义
资源记录
从DNS服务器
1、应该为一台独立的名称服务器
2、主服务器的区域解析库文件中必须有一条NS记录指向从服务器
3、从服务器只需要定义区域,而无须提供解析库文件;解析库文件应该放置于 /var/named/slaves/目录中
4、主服务器得允许从服务器作区域传送
5、主从服务器时间应该同步,可通过ntp进行;
6、bind程序的版本应该保持一致; 否则,应该从高 主低
定义从区域的方法:
zone "ZONE_NAME" IN {
type slave;
masters { MASTER_IP; };
file "slaves/ZONE_NAME.zone";
};
转发器(缓存)DNS服务器
注意:被转发的服务器需要能够为请求者做递归,否则转发请求不予进行
(1) 全局转发: 对非本机所负责解析区域的请求,全转发给指定的服务器 Options { forward first|only; forwarders { ip;}; };
(2) 特定区域转发:仅转发对特定的区域的请求,比全局转发优先级高 zone "ZONE_NAME" IN { type forward; forward first|only; forwarders { ip;}; };
注意:关闭dnssec功能: dnssec-enable no; dnssec-validation no;
DNS基础搭建示例
- options {
- listen-on port { localhost; };
- listen-on-v6 port { ::; };
- directory "/var/named";
- dump-file "/var/named/data/cache_dump.db";
- statistics-file "/var/named/data/named_stats.txt";
- memstatistics-file "/var/named/data/named_mem_stats.txt";
- allow-query { any; };
- }
/etc/named.conf
- zone "yxh.com" IN {
- type master;
- file "yxh.com.zone";
- };
/etc/named.rfc1912.zones
- $TTL 1D
- @ IN SOA master.yxh.com. admin.yxh.com. (
- ; serial
- 1D ; refresh
- 1H ; retry
- 1W ; expire
- 3H ) ; minimum
- NS master
- master A 192.168.231.15
- www A 192.168.231.15
/var/named/yxh.com.zone
- #查看命令来自于哪个安装包
- [root@localhost named]# which host
- /usr/bin/host
- [root@localhost named]# rpm -qf /usr/bin/host
- bind-utils-9.9.-.el7.x86_64
- #查看端口占用
- [root@localhost centos7]# ss -ntl
- State Recv-Q Send-Q Local Address:Port Peer Address:Port
- LISTEN *: *:*
- LISTEN 127.0.0.1: *:*
- [root@yxh6 centos6]# netstat -ntlp | grep
- tcp 0.0.0.0: 0.0.0.0:* LISTEN /nginx
- tcp ::: :::* LISTEN /nginx
- [root@localhost named]# tail -f /var/log/messages
- Jun :: localhost named[]: zone localhost/IN: loaded serial
- Jun :: localhost named[]: zone localhost.localdomain/IN: loaded serial
- Jun :: localhost named[]: zone yxh.com/IN: loading from master file yxh.com.zone failed: permission denied
- #修改文件的属主属组
- [root@localhost named]# chown root:named yxh.com.zone
- [root@localhost named]# host www.yxh.com 192.168.231.15
- Using domain server:
- Name: 192.168.231.15
- Address: 192.168.231.15#
- Aliases:
- www.yxh.com has address 192.168.231.15
- [root@localhost named]# systemctl restart named
- [root@localhost named]# dig www.yxh.com @192.168.231.15
- [root@localhost network-scripts]# vi /etc/resolv.conf
- # Generated by NetworkManager
- nameserver 192.168.231.15
- nameserver 223.5.5.5
- nameserver 223.6.6.6
- [root@localhost network-scripts]# ping www.yxh.com
- PING www.yxh.com (192.168.231.15) () bytes of data.
- bytes from localhost.localdomain (192.168.231.15): icmp_seq= ttl= time=0.016 ms
- [root@localhost network-scripts]# ping www.yxh.com
- ping: www.yxh.com: Name or service not known
- [root@localhost network-scripts]# cat /etc/resolv.conf
- # Generated by NetworkManager
- nameserver 223.5.5.5
- nameserver 223.6.6.6
- nameserver 192.168.231.15
其它注意事项
DNS数据库资源记录
区域解析库:由众多RR组成:
资源记录:Resource Record, RR
记录类型:A, AAAA, PTR, SOA, NS, CNAME, MX
SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录, 必须位于解析库的第一条记录
A:internet Address,作用,FQDN --> IP
AAAA: FQDN --> IPv6
PTR: PoinTeR,IP --> FQDN
NS: Name Server,专用于标明当前区域的DNS服务器
CNAME:Canonical Name,别名记录
MX: Mail eXchanger,邮件交换器
SOA记录
name: 当前区域的名字,例如“yxh.com.”
value: 有多部分组成
(1) 当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字;
(2) 当前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换,例如 linuxedu.yxh.com
(3) 主从服务区域传输相关定义以及否定的答案的统一的TTL
例如: yxh.com. 86400 IN SOA ns.yxh.com. nsadmin.yxh.com.
(
2015042201 ;序列号
2H ;刷新时间
10M ;重试时间
1W ;过期时间
1D ;否定答案的TTL值
)
NS记录
name: 当前区域的名字
value: 当前区域的某DNS服务器的名字,例如ns.yxh.com.
注意:一个区域可以有多个NS记录
例如: yxh.com. IN NS ns1.yxh.com.
yxh.com. IN NS ns2.yxh.com.
注意:
(1) 相邻的两个资源记录的name相同时,后续的可省略
(2) 对NS记录 而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A记录
DNS服务管理工具
dig:只用于测试dns系统,不会查询hosts文件进行解析
- -x IP :测试反向解析
- -t axfr ZONE_NAME @SERVER :模拟区域传送
- -t NS . @a.root-servers.net :查询所有的根DNS服务器
host
- -t:指定查询记录类型
- host www.yxh.tech 192.168.0.7 :向192.168.0.7查询www.yxh.tech这个域名
rndc
- reload: 重载主配置文件和区域解析库文件
- reload zonename: 重载区域解析库文件
- retransfer zonename: 手动启动区域传送,而不管序列号是否增加
- notify zonename: 重新对区域传送发通知
- reconfig: 重载主配置文件
- querylog: 开启或关闭查询日志文件/var/log/message
- trace: 递增debug一个级别
- trace LEVEL: 指定使用的级别
- notrace:将调试级别设置为 0
- flush:清空DNS服务器的所有缓存记录
nsupdate : 远程管理DNS数据库记录
指定的zone语句块中:Allow-update {any;};
chmod 770 /var/named
setsebool -P named_write_master_zones on
nsupdate
>server 127.0.0.1
>zone yxh.com
>update add ftp.yxh.com 88888 IN A 8.8.8.8
>send
>update delete www.yxh.com A
>send
send的结果会立即保存到yxh.com.zone.jnl的文件中,需要隔断时间后台服务才会自动合并到 yxh.com.zone数据库中
测试:dig ftp.yxh.com @127.0.0.1
ll /var/named/yxh.com.zone.jnl
cat /var/named/yxh.com.zone
named-checkconf:检查配置文件的语法
named-checkzone "yxh.com" /var/named/yxh.com.zone :查询区域数据库文件的语法
DNS服务基础原理介绍的更多相关文章
- Sql注入基础原理介绍
说明:文章所有内容均截选自实验楼教程[Sql注入基础原理介绍]~ 实验原理 Sql 注入攻击是通过将恶意的 Sql 查询或添加语句插入到应用的输入参数中,再在后台 Sql 服务器上解析执行进行的攻击, ...
- Ambari 自定义服务集成原理介绍
之前,在 github 上开源了 ambari-Kylin 项目,可离线部署,支持 hdp 2.6+ 及 hdp 3.0+ .github 地址为:https://github.com/8418090 ...
- Bind DNS服务——基础知识
Linux基础--Bind DNS服务 Part0 DNS简介 域名系统(英语:Domain Name System,缩写:DNS)是互联网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库 ...
- HAProxy基础原理介绍
HAProxy的功能概述 反向代理 1. mode http,https: 七层反向代理(仅支持http,https七层协议) 2. mode tcp: (伪)四层反向代理 调度器 ...
- Http服务基础原理
http服务相关解释 http : Hyper Text Transfer Protocol, 80/tcp 超文本传输协议,基于tcp传输协议的80端口传输 html: Hyper Text M ...
- Linux:Day18(上) dns服务基础进阶
DNS:Domain Name Service,协议(C/S,53/udp,53/tcp):应用层协议. BIND:Bekerley Internat Name Domain,ISC(www.isc. ...
- DNS服务基础
DNS服务器的功能 – 正向解析:根据注册的域名查找其对应的IP地址 – 反向解析:根据IP地址查找对应的注册域名(不常用) NS(声明DNS记录) A(正向解析记录) CNAME(解析记录别名) 安 ...
- 1、DNS服务基础
w'indows上名称解析目录: C:\Windows\System32\drivers\etc https://jocent.me/2017/06/18/dns-protocol-principle ...
- DNS服务器:主要介绍DNS的服务原理以及安装及其主从配置
DNS服务器:主要介绍DNS的服务原理以及安装及其主从配置 一.DNS简介 1.DNS DNS是域名系统(Domain Name System)的简称,它是一个将域名和IP相互映射的分布式数据库 ...
随机推荐
- [Localization] MobileNet with SSD
先来一波各版本性能展览: Pre-trained Models Choose the right MobileNet model to fit your latency and size budget ...
- [Algorithm] Polynomial and FFT
排序:nlogn 二分查找:logn <-- 利用单调性,查n次,每次logn Multiply the following pairs of polynomials using at most ...
- [UI] 05 - Bootstrap: built-in components
前言 一.资源 From: http://www.imooc.com/code/3777 内置组件 一.缩略图 <div class="col-xs-6 col-md-3"& ...
- 【代码审计】XYHCMS V3.5任意文件下载漏洞分析
0x00 环境准备 XYHCMS官网:http://www.xyhcms.com/ 网站源码版本:XYHCMS V3.5(2017-12-04 更新) 程序源码下载:http://www.xyhc ...
- sklearn中的回归器性能评估方法
explained_variance_score() mean_absolute_error() mean_squared_error() r2_score() 以上四个函数的相同点: 这些函数都有一 ...
- 关于删除 hao123 主页设置的一点经验
:first-child { margin-top: 0px; } blockquote>:last-child { margin-bottom: 0px; } --> 说一说关于删除 h ...
- Elasticsearch 学习之不停止服务,完成升级重启维护操作
我们可以设置集群的平衡参数来暂时禁用掉平衡,具体步骤如下: 1.如果可能的话,先暂停掉数据新增和更新操作,这样会提高集群恢复的时间: 2.禁用集群分片平衡操作,直到告诉集群可以恢复平衡操作为止,禁用配 ...
- 7.17python
1.事件: # !/usr/bin/env python # !--*--coding:utf-8 --*-- # !@Time :2018/7/17 10:38 # !@Author TrueNew ...
- python 解释器
原文 Python 能让程序紧凑, 可读性增强. 用 Python 写的程序通常比同样的 C, C++ 或 Java 程序要短得多, 这是因为以下几个原因: 高级数据结构使你可以在单独的语句中也能表述 ...
- 杭电ACM 1297 Children’s Queue
这道题是排序问题,可以用递归方法解决. 计算F(n): 一:当最后一个是男孩M时候,前面n-1个随便排出来,只要符合规则就可以,即是F(n-1): 二:当最后一个是女孩F时候,第n-1个肯定是女孩F, ...