DNS服务的基本配置与多域配置
一、DNS服务
// DNS服务器的功能
// 正向解析:根据注册的域名查找其对应的IP地址
// 反向解析:根据IP地址查找对应的注册域名,不常用
// DNS服务器分类:
// 根域名服务器、一级DNS服务器、二级DNS服务器、三级DNS服务器
// 域名系统: 所有的域名都必须要以点作为结尾,树型结构
// www.baidu.com www.qq.com.
//根域名 : .
// 一级域名: .cn .us .tw .hk .jp
// 二级域名: .com.cn .org.cn .net.cn ………
// 三级域名: test.com.cn test1.com.cn .....
// BIND(Berkeley Internet Name Daemon)
// 伯克利 Internet 域名服务
// 官方站点:https://www.isc.org/
// BIND服务器端程序
// 主要执行程序:/usr/sbin/named
// 系统服务:named
// DNS协议默认端口:TCP/UDP 53
// 运行时的虚拟根环境:/var/named/chroot/
// 主配置文件:/etc/named.conf // 设置负责解析的域名
// 地址库文件:/var/named/ // 完全合格的主机名与IP地址对应关系
二、DNS配置
[root@tk named]# yum -y install bind bind-chroot.
[root@tk named]# cp /etc/named.conf /root #备份数据
[root@tk named]# vim /etc/named.conf
[root@tk named]# cat /etc/named.conf
//
// named.conf
// ...
options {
# 定义地址库文件存放路径
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
// 书写我们自己的zone
zone "test.cn" IN {
// 设置为主服务器
type master;
// 地址库文件名称
file "test.cn.zone";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
[root@tk named]#
// 建立地址库文件
[root@tk named]#cp -p named.localhost tedu.cn.zone
// 书写我们的规则
[root@tk named]# cat test.cn.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
# 声明DNS服务器为tk
test.cn. NS tk
# tk解析结果为10.0.0.200
tk A 10.0.0.200
www A 1.1.1.1
[root@tk named]#
// 虚拟机B:测试DNS服务器
[root@gitlab yum.repos.d]# echo nameserver 10.0.0.200 > /etc/resolv.conf
[root@gitlab yum.repos.d]# cat /etc/resolv.conf
nameserver 10.0.0.200
[root@gitlab yum.repos.d]# nslookup www.test.cn
Server: 10.0.0.200
Address: 10.0.0.200#53
Name: www.test.cn
Address: 1.1.1.1
三、多区域的DNS服务器
[root@tk named]# cat /etc/named.conf
//
// named.conf
//
options {
directory "/var/named";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
zone "test.cn" IN {
type master;
file "test.cn.zone";
};
// 添加新的域
zone "test1.cn" IN {
type master;
file "test1.cn.zone";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
[root@tk named]#
[root@tk named]# cp -p test.cn.zone test1.cn.zone
[root@tk named]# vim test1.cn.zone
[root@tk named]# cat test1.cn.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
test1.cn. NS tk
tk A 10.0.0.200
www A 1.1.1.1
[root@tk named]# systemctl restart named
[root@gitlab yum.repos.d]# nslookup www.test1.cn
Server: 10.0.0.200
Address: 10.0.0.200#53
Name: www.test1.cn
Address: 1.1.1.1
[root@gitlab yum.repos.d]#