作用:
正向解析:域名---->IP地址
反向解析:IP地址---->域名 (不常用)
分布式结构:
根: .
一级DNS服务器:.com .net .edu .cn .org
二级DNS服务器:.net.cn .edu.cn .com.cn
三级DNS服务器:.sina.com.cn .pku.edu.cn
主机站点: tts9 tts6 mail wwww
域名管理:
IANA, 互联网数字分配机构
CNNIC, 中国互联网络信息中心
域名代理/注册/购买服务商:
新网,http://www.xinnet.com
万网,http://www.net.cn
中国互联,http://hulian.top
BIND域名服务:
伯克利Internet域名服务
官方站点:https://www.isc.ort/
备注的三种方式:
# 注释一整行或行内的部分文字
// 注释一整行或行内的部分文字
/* */ 注释连续的多行文字
named.com配置文件:
主程序:/usr/sbin/named
系统服务:named
默认端口:TCP/UDP 53
运行时的虚拟根环境:/var/named/chroot
主配置文件:/etc/named.conf (管理哪些区域,地址库在哪里)
地址库文件:/var/named/自定义文件名
快速搭建DNS服务器
虚拟机A(192.168.4.7)
装包
chroot 切换根目录(提供一个伪造的根)【笼环境】----> 把/var/named/chroot/ 目录当成根目录
[root@svr7 ~]# yum -y install bind bind-chroot
[root@svr7 ~]# rpm -qa bind* //-a:查询所有的安装包
配置
[root@svr7 ~]# vim /etc/named.conf #修改主配置文件
[root@svr7 ~]# cat /etc/named.conf
options {
listen-on port 53 {192.168.4.7;}; #监听地址和端口(可不写)
allow-query {any;}; #允许任何客户机查询(可不写)
directory "/var/named"; #地址文件的默认位置
};
zone "tedu.cn" {
type master; #区域类型为主DNS
file "tedu.cn.zone"; #地址库文件
};
[root@svr7 ~]# named-checkconf /etc/named.conf #检查配置语法
[root@svr7 ~]# vim /var/named/tedu.cn.zone #文件头参考named.localhost 文件的内容复制过来
$TTL 1D #生存时间
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ NS ns.tedu.cn.
ns A 192.168.4.7
svr7 A 192.168.4.7
www A 192.168.4.100
pc207 A 192.168.4.207
[root@svr7 ~]# named-checkzone tedu.cn /var/named/tedu.cn.zone #检查配置语法
启服务
[root@svr7 ~]# systemctl restart named #重启服务
[root@svr7 ~]# systemctl enable named #开机自启
DNS查询测试
虚拟机B(192.168.4.207)
[root@pc207 ~]# echo nameserver 192.168.4.7 > /etc/resolv.conf
[root@pc207 ~]# host www.tedu.cn
www.tedu.cn has address 192.168.4.100
[root@pc207 ~]# nmcli con show
[root@pc207 ~]# nmcli con mod eth0 ipv4.dns 192.168.4.7 #永久配置网卡访问的DNS
[root@pc207 ~]# nmcli con up eth0
DNS轮寻(负载均衡)
特点:同一个域名对应多个IP
[root@svr7 ~]# vim /var/named/tedu.cn.zone
... ...
@ NS ns.tedu.cn.
ns A 192.168.4.7
www A 192.168.4.100
A 192.168.4.110
A 192.168.4.120
svr7 A 192.168.4.7
泛域名解析
特点:不同的域名对应同一个IP
[root@svr7 ~]# vim /var/named/tedu.cn.zone
... ...
@ NS ns.tedu.cn.
ns A 192.168.4.7
* A 192.168.4.100
www A 192.168.4.100
扩展DNS服务器svr7的功能
除了负责tedu.cn区域以外,还能够为教学环境的example.com提供域名解析服务
[root@svr7 ~]# vim /etc/named.conf
options {
directory "/var/named";
};
zone "tedu.cn" {
type master;
file "tedu.cn.zone";
};
zone "example.com" {
type master;
file "example.com.zone";
};
[root@svr7 ~]# named-checkconf /etc/named.conf
[root@svr7 ~]# cd /var/named/
[root@svr7 named]# cp tedu.cn.zone example.com.zone
[root@svr7 named]# vim example.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ NS svr7.tedu.cn.
classroom A 172.25.254.254
server0 A 172.25.0.11
desktop0 A 172.25.0.10
[root@svr7 named]# named-checkzone example.com /var/named/example.com.zone
[root@svr7 named]# systemctl restart named
配置子域授权
子域授权的作用
使用于一个DNS组织
父/子域的解析工作由不同的DNS服务器负责
父DNS服务器应该有为子域迭代的能力
测试子域FQDN查询
虚拟机pc207
装包
[root@pc207 ~]# yum -y install bind bind-chroot
[root@pc207 ~]# rpm -qa bind*
配置
[root@pc207 ~]# vim /etc/named.conf #修改主配置文件
[root@pc207 ~]# cat /etc/named.conf
options {
directory "/var/named"; #地址文件的默认位置
};
zone "bj.tedu.cn" {
type master; #区域类型为主DNS
file "bj.tedu.cn.zone"; #地址库文件
};
[root@pc207 ~]# named-checkconf /etc/named.conf #检查配置语法
[root@pc207 ~]# vim /var/named/bj.tedu.cn.zone
... ...
@ NS pc207.bj.tedu.cn.
pc207 A 192.168.4.207
www A 1.2.3.4
[root@pc207 ~]# named-checkzone bj.tedu.cn /var/named/bj.tedu.cn.zone #检查配置语法
启服务
[root@pc207 ~]# systemctl restart named #重启服务
[root@pc207 ~]# systemctl enable named #开机自启
为父DNS启用子域授权
虚拟机svr7
[root@svr7 ~]# vim /var/named/tedu.cn.zone
... ...
bj.tedu.cn. NS pc207.bj.tedu.cn.
pc207.bj.tedu.cn. A 192.168.4.207
递归/迭代查询
虚拟机pc207
[root@pc207 ~]# vim /etc/named.conf #修改主配置文件
options {
directory "/var/named"; #地址文件的默认位置
recursion yes; #启用迭代查询,默认是开启
};
zone "bj.tedu.cn" {
type master; #区域类型为主DNS
file "bj.tedu.cn.zone"; #地址库文件
};
[root@pc207 ~]# named-checkconf /etc/named.conf #检查配置语法
停用与DNS服务冲突的其他服务(dnsmasq)
[root@svr7 ~]# pkill -9 dnsmasq
装包添加转发器,并启用named服务
[root@svr7 ~]# yum -y install bind bind-chroot
配置
[root@svr7 ~]# vim /etc/named.conf #修改主配置文件
options {
forwarders { 176.233.0.227; 8.8.8.8;}
};
启服务named
[root@svr7 ~]# systemctl restart named
测试
[root@pc207 ~]# host www.qq.com 192.168.4.7
为不同类别的客户机提供不同的解析结果
配置分离解析
建立2份地址库
[root@svr7 named]# cp -p tedu.cn.zone tedu.cn.zone.1
[root@svr7 named]# cp -p tedu.cn.zone tedu.cn.zone.2
[root@svr7 named]# vim tedu.cn.zone.1
... ...
@ NS ns.tedu.cn.
ns A 192.168.4.7
svr7 A 192.168.4.7
www A 192.168.4.100
[root@svr7 named]# vim tedu.cn.zone.2
... ...
@ NS ns.tedu.cn.
ns A 192.168.4.7
svr7 A 192.168.4.7
www A 1.2.3.4
针对来源地址定义acl列表
options {
directory "/var/named";
};
acl "mylan"{
192.168.4.207;
192.168.7.0/24;
};
配置2个view,调用不用的地址库
view "mylan" {
match-clients {mylan;};
zone "tedu.cn" {
type master;
file "tedu.cn.zone.1";
};
};
view "other" {
match-clients { any; };
zone "tedu.cn" {
type master;
file "tedu.cn.zone.2";
};
};