DNS服务基础
DNS服务器的功能
– 正向解析:根据注册的域名查找其对应的IP地址
– 反向解析:根据IP地址查找对应的注册域名(不常用)
NS(声明DNS记录)
A(正向解析记录)
CNAME(解析记录别名)
安装软件
bind # 域名服务包
bind-chroot #提供虚拟根支持,牢笼政策
默认端口:TCP/UDP 53
主配置文件:/etc/named.conf #负责设置本机负责解析的域名
地址库文件:/var/named/ #完整的主机名域IP对应关系
修改主配置文件
cp /etc/named.conf /root/named.bak #修改前先备份
vim /etc/name.conf
options {
directory "/var/named"; #指定地址库文件存放位置
};
zone "tedu.cn" IN { #指定本机负责解析的域名
type master; #指定主DNS服务器
file "tedu.cn.zone"; #指定创建地址库文件名称
};
建立对应的地址库文件
cp -p name.localhost tedu.cn.zone # 权限不变拷贝
所有的域名都必须以点最为结尾
如果没有以点结尾,默认补全地址库负责的域名
# vim tedu.cn.zone
tedu.cn. NS svr7 #声明域名DNS服务器
svr7 A 192.168.4.7 #DNS服务器地址解析记录
www A 1.1.1.1 #域名正向解析记录
ftp A 2.2.2.2 #域名正向解析记录
重启服务器
systemctl restart named
客户端验证
客户端解析域名优先级:
1./etc/hosts
2./etc/resolv.conf
3.交由本机127.0.0.1:53处理
指定DNS服务器地址
echo nameserver dns服务器ip > /etc/resolv.conf
DNS轮询
• 基于DNS的站点负载均衡
– 一个域名 ---> 多个不同IP地址
泛域名解析
* A 192.168.0.1
任何域名都会解析到192.168.0.1
有规律的泛域名解析
pc1.tedu.cn ------> 192.168.10.1
pc2.tedu.cn ------> 192.168.10.2
pc3.tedu.cn ------> 192.168.10.3
pc4.tedu.cn ------> 192.168.10.4
........
pc50.tedu.cn ------> 192.168.10.50
内置函数: $GENERATE 起始-结束 制造连续范围的数字
$GENERATE 1-50 pc$ A 192.168.10.$
解析记录别名CNAME
#vim/named/
baidu CNAME a.shifen
# baidu 与 a.shifen 的解析结果一致
分离解析
view "nsd" {
match-clients { 192.168.4.207; };
zone "tedu.cn" IN {
type master;
file "tedu.cn.zone";--->192.168.4.100
};
zone "sina.com" IN {
type master;
file "sina.com.other";--->10.20.30.40
};
};
view "abc" {
match-clients { 192.168.4.208; };
zone "tedu.cn" IN {
type master;
file "tedu.cn.other";--->1.2.3.4
};
zone "sina.com" IN {
type master;
file "sina.com.abc";--->192.168.4.120
};
};
view "other" {
match-clients { any; };
zone "tedu.cn" IN {
type master;
file "tedu.cn.other";--->1.2.3.4
};
zone "sina.com" IN {
type master;
file "sina.com.other";--->10.20.30.40
};
};
DNS服务基础的更多相关文章
- DNS服务基础原理介绍
FQDN 全称域名 localhost(主机名或者是别名).localdomain(域名) FQDN=主机名.域名 根域 . 顶级域名 .com .n ...
- Bind DNS服务——基础知识
Linux基础--Bind DNS服务 Part0 DNS简介 域名系统(英语:Domain Name System,缩写:DNS)是互联网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库 ...
- Linux:Day18(上) dns服务基础进阶
DNS:Domain Name Service,协议(C/S,53/udp,53/tcp):应用层协议. BIND:Bekerley Internat Name Domain,ISC(www.isc. ...
- 1、DNS服务基础
w'indows上名称解析目录: C:\Windows\System32\drivers\etc https://jocent.me/2017/06/18/dns-protocol-principle ...
- linux web服务基础知识,dns
#web服务基础知识c/s 客户端/服务器b/s 浏览器/服务器 nginx > web server 服务端浏览器 > web client 客户端 #dns解析 ...
- Linux基础服务——Bind DNS服务 Part2
Linux基础服务--Bind DNS服务 Part2 DNS反向解析与区域传送 实验环境延续Part1的实验环境. 反向区域配置 正向解析是域名到IP地址的映射,反向解析则是IP地址到域名的解析,在 ...
- Linux基础服务——Bind DNS服务 Part1
Linux基础服务--Bind DNS服务 Part1 DNS正向解析 实验环境: CentOS8.3.2011 IP地址:192.168.100.50 VMware虚拟环境 NAT网段 需要解析的区 ...
- #WEB安全基础 : HTTP协议 | 0x3 TCP三次握手和DNS服务
TCP三次握手精准无误地把数据送达目标处,TCP协议把数据包送出去后,向对方确认是否成功发送,握手过程中使用了TCP的标志(flag)——SYN和ACK 请看图 若握手中断,TCP协议再次从同样顺序发 ...
- 【Linux】DNS服务-BIND基础配置(二)
BIND简介 现在使用最为广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写,现在最新的版本是9,有ISC(Internet ...
随机推荐
- [转帖]localectl
localectl http://linux.51yip.com/search/localectl localectl 命令简介. 相关命令:暂无相关命令 localectl — 控制系统的本地化与键 ...
- Linux基础 目录
一,linux入门介绍 二,界面目录介绍 三,vim使用 四,文件管理. 文件夹管理. 五.用户创建流程.用户管理 .组管理 六.权限管理.软连接/硬链接 七.磁盘管理 八.软件包的管理 九.系统服务 ...
- Laravel三种中间件的作用
$middleware 属性: 这个属性称为全局中间件,为什么说是全局中间件呢?因为你的每一次请求,这里面的每个中间件都会执行. $routeMiddleware 属性: 这个属性称为路由中间件,为什 ...
- idea 如何加入插件SonarLint
idea 如何加入插件SonarLint IDEA的插件安装有两种方法:一是在线安装:二是离线安装,即将插件的安装包下载以后从本地安装. 一.在线安装的过程: 1.打开IDEA ...
- C#应用笔记
1.ref关键字.out关键字——引用传递参数 2.什么时候用DateReader,什么时候用DateSet呢? 3.is操作符.as操作符的使用 4.Eval方法和Bind方法的区别 5.Serve ...
- 07 Redis存储Session
django-redis-sessions 官方文档:https://pypi.org/project/django-redis-sessions/ dango-redis 官方文档:http://n ...
- express相关操作
1. 安装应用生成器npm install express-generator –g 2. 生成项目Express --view=ejs myapp 3. 进入项目安装依赖包 npm in ...
- kali linux 安装 qq (deepin-wine)
添加deeepin-wine 依赖 /etc/apt/sources.list: # Generated by deepin-installer deb http://mirrors.aliyun.c ...
- SCRUM 是一个用于开发和维护复杂产品的框架
转自:http://www.scrumcn.com/agile/scrum-knowledge-library/scrum.html#tab-id-1 Scrum 是一个用于开发和维护复杂产品的框架 ...
- 3.第一个MyBatis程序_进化
1.使用工具类 将SqlSession的获取 封装成一个工具 private static SqlSession session = null; static { try { InputStream ...