DNS理论知识
一、DNS服务器概念及作用
DNS全称为Domain Name System,即域名系统,
其作用就是将域名解析为IP地址。
1.1 解析方式
正向解析:根据主机名称(域名)查找对应的IP地址
反向解析:根据IP地址查找对应的主机域名
DNS 服务器中存储着大量的ip和域名映射记录,它的记录文件也分为正向解析文件和反射解析文件。
正向解析文件中存储的记录称为A记录,A记录记录着域名和 IP的映射关系。
反向解析文件中存储的记录称为PTR指针,PTR 记录着 IP和域名的映射关系。
DNS服务既属于TCP协议也属于UDP协议,端口号为53号。
1.2 DNS系统的分布式数据结构
.根域
国家域∶cn 中国,hk 香港,uk英国,au 澳大利亚。
顶级域(领域)∶com 商业用途 net 网络组织 edu 教育
二级域∶个性化的名称,每个域的二级域都不一样
主机名(用途)∶www(网页),mail(邮件)
二 : DNS系统类型
2.1 缓存域名服务器
- 也称为高速缓存服务器
- 通过向其他域名服务器查询获得域名->IP地址记录
- 将域名查询结果缓存到本地,提高重复查询时的速度
在服务安装完毕时,就是缓存服务器
2.2 主域名服务器(master)
- master主服务器
- 特定DNS区域的官方服务器,具有唯一性
- 负责维护该区域内所有域名->IP地址的映射记录
2.3 从域名服务器(slave)
- slave 服务器
- 也称为辅助域名服务器
- 其维护的域名->IP地址记录,来源于主域名服务器
三、项目 :构建缓存域名服务器
实验准备:一台服务器,一台测试机
第一步:装DNS服务
yum clean all //清空缓存
yum makecache //创建缓存
yum -y install bind* //安装DNS服务
第二步:添加网卡
ifconfig //查看网卡接口配置
第三步:修改DNS主配置文件
vi /etc/named.conf
options {
listen-on port 53 { 192.168.6.128; }; //改成VMnet1的内网地址
listen-on-v6 port 53 { ::1; };
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; }; //改成所有人可以发起访问请求
systemctl start named //启动DNS服务
第四步:修改网卡配置
检测下本地服务:
nslookup www.baidu.com
ping www.baidu.com
会发现连接不到外网
vi /etc/resolv.conf //去查看网卡配置,并修改。
改成原来可以上网的网卡地址。
现在再去检测:
第五步:开启服务器的路由
永久开启:vi /etc/sysctl.conf
net.ipv4.ip_forward=1
[root@DNS ~]# sysctl -p
net.ipv4.ip_forward = 1
第六步:测试机的配置及测试
1.先将网络连接改成VMnet1(主机模式)
2.修改网卡配置
vi /etc/sysconfig/network-scripts/ifcfg-ens33
将IPADDR=x.x.x.x改成本机VMnet1的地址。
systemctl restart network //重启网卡
3.修改网关配置
vi /etc/resolv.conf
将上网的网关地址改成服务器的内网VMnet1地址。
4.测试结果
[root@DNS ~]# nslookup www.baidu.com
Server: 192.168.6.128
Address: 192.168.6.128#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 180.101.49.12
Name: www.a.shifen.com
Address: 180.101.49.11
四、项目:构建主、从域名服务器
实验目的∶
减轻主服务器的压力。
实验准备∶
一台主服务器、一台从服务器、一台测试机.
先关闭服务器和客户机上的防火墙和SELinux。
搭建过程∶
1.搭建主服务器步骤
先设置DNS地址
vi/etc/resolv.conf
nameserver 192.168.1.100
nameserver 192.168.1.101
a.安装bind软件
yum -y install bind*
b.主配置文件的修改
vi /etc/named.conf
options {
listen-on port 53 {192.168.1.100;}; #改成服务器地址
allow-query {any;}; #这边改成任何人都能访问,你还可以写IP地址网段
};
c.区域配置文件的修改
vi /etc/named.rfc1912. zones //解析文件路径
zone aa.com" IN { //正向解析
type master;file"aa.com.zone"; #表示该服务为域内主DNS服务器
allow-transfer{192.168.1.101;};
also-notify{192.168.1.101;}; #括号内为从服务器地址
};
zone"1.168.192.in-addr.arpa"IN { //反向解析
type master;
file"aa.com.local";
allow-transfer{192.168.1.101;};
};
d.配置数据文件
我们从/var/named/下面复制一份正向解析的模板文件,然后把域名和IP地址对应数据填写进去。(named-checkconf、named-checkzone 这两个命令可以帮助我们检查语法或参数中的错误。)
cd /var/named
cp -a named.localhost aa.com.zone
cp -a named.loopback aa.com.local
正向数据文件。 反向数据文件(可选做)
vi aa.com.zone #正向区域文件
$TTL 1D
@ IN SOA@ rname.invalid. (
200 ; serial #更新序列号,这里主>从即刻。
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.linuxprobe.com. #域名服务器记录
IN A 192.168.10.100 #地址记录
www IN A 192.168.10.100 #地址记录
ftp IN A 192.168.10.101 #地址记录
mail IN CNAME www #地址记录
vi aa.com.local #反向区域文件
$TTL 1D
@ IN SOA aa.com. rname.invalid.(
200 ; serial #更新序列号,这里主>从即刻。
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS aa.com. #域名服务器记录
A 192.168.1.100
119 IN PTR www.aa.com.
120 IN PTR ftp.aa.com.
启动DNS服务
systemctl start named. service
e.测试DNS解析
自己检测下本地服务有没有问题
nslookup www.aa.com
2.配置从DNS服务器
1.主配置文件的修改
vi /etc/named.conf
options {
listen-on port 53 {192.168.1.101;}; #改成从服务器地址
allow-query {any;};
};
2.区域配置文件的修改
vi /etc/named.rfc1912. zones //解析文件路径
zone aa.com" IN { //正向解析
type slave; #表示该服务为域内从DNS服务器
masters { 192.168.1.100; }; #括号内为主DNS服务器的地址
allow-notify{192.168.1.100;};
file "slaves/aa.com.zone"; #该域的配置文件的名字
};
zone"1.168.192.in-addr.arpa"IN { //反向解析
type slave;
masters { 192.168.1.100; };
allow-notify{192.168.1.100;};
file "slaves/aa.com.local";
};
3.重启服务,更新配置文件
systemctl start named
此时DNS从服务器也配置完成了,接下来开始测试。
3.测试
1.开启主、从DNS服务器
测试结果:
[root@localhost ~]# nslookup www.aa.com
www.aa.com
Server: 192.168.1.100
Address: 192.168.1.100#53
Name: www.aa.com
Address: 192.168.1.100
2.关闭主DNS服务器、打开从DNS服务器
[root@localhost ~]# systemctl stop named
测试结果:
www.linuxprobe.com
Server: 192.168.1.101
Address: 192.168.1.101#53
Name: www.linuxprobe.com
Address: 192.168.1.100
从实验结果看,我们的主从DNS服务器已经配置完成了。