Linux(8.3)DNS

一、概念

domain name server 域名服务
域名:
常见域名:www.baidu.com
完整域名:www.baidu.com.
完整域名后会有一个点

解析方式

  • 正向解析:域名-----IP
  • 反向解析:IP------域名

工作方式

  • 递归:本地DNS服务器无法解析时,替客户端向根服务器发起访问
  • 迭代:本地DNS服务器无法解析时,由客户端向其他DNS服务器发起访问

DNS类型

  • 主域名服务器
  • 从域名服务器
  • 缓存域名服务器

二、详解

软件名:bind

服务名:named

端口

  • UDP/53 数据通信(域名解析)
  • TCP/53 数据同步(主从同步)

DNS解析命令:nslookup

语法:nslookup + 域名/IP

配置文件

  • 主配置文件:/etc/named.conf
    在这里插入图片描述
  • 区域配置文件:/etc/named.rfc1912.zones

在这里插入图片描述

数据配置文件:/var/named/

drwxrwx---. 2 named named   23 1226 11:25 data
drwxrwx---. 2 named named   60 1226 13:49 dynamic
-rw-r-----. 1 root  named 2112  828 04:14 named.ca
-rw-r-----. 1 root  named  152  828 04:14 named.empty			#反向代理文件
-rw-r-----. 1 root  named  152  828 04:14 named.localhost		#正向代理文件
-rw-r-----. 1 root  named  168  828 04:14 named.loopback
drwxrwx---. 2 named named    6  828 04:14 slaves

在这里插入图片描述

三、DNS服务搭建

配置DNS地址:/etc/resolv.conf

检查语法错误:named-checkconf -z /etc/named.conf

1)基本服务搭建

一、DNS服务端配置

(1)安装bind
yum -y install bind
(2)配置文件

1、配置主文件 vim /etc/named.conf

options {
        listen-on port 53 { any; };	#本机IP地址 / any
        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";
        secroots-file   "/var/named/data/named.secroots";
        recursing-file  "/var/named/data/named.recursing";
        allow-query     { any; };	#

2、配置区域文件 vim /etc/named.rfc1912.zones

zone "aaa.com" IN {		#要解析的域名
        type master;
        file "aaa.localhost";	#指向正向解析的文件(默认在/var/named)
        allow-update { none; };
};



zone "100.168.192.in-addr.arpa" IN {	#反向解析的IP地址	IP地址要反写
        type master;
        file "aaa.empty";		#指向反向解析的文件
        allow-update { none; };
};

3、配置正向解析文件 cp -p /var/named/named.localhost /var/named/aaa.localhost

[!WARNING]

注意文件属主和属组

-rw-r-----. 1 root  named  191 1226 13:39 aaa.localhost
-rw-r-----. 1 root  named  191 1226 13:39 aaa.empty
$TTL 1D
@       IN SOA  aaa.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.aaa.com.
dns     A       192.168.100.100
www     A       192.168.100.101

4、配置反向解析文件 cp -p /var/named/named.empty /var/named/aaa.empty

$TTL 3H
@       IN SOA  aaa.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.aaa.com.
100     PTR     dns.aaa.com.
101     PTR     www.aaa.com.

二、客户端配置

(1)安装工具包
yum -y install bind-utils
(2)给网卡添加DNS
DNS1=192.168.100.100	#DNS服务器IP地址
(3)重启网络

三、测试 nslookup

  • 正向解析测试

    [root@localhost ~]# nslookup www.aaa.com
    Server:		192.168.100.100
    Address:	192.168.100.100#53
    
    Name:	www.aaa.com
    Address: 192.168.100.101
    
  • 反向解析测试

    [root@localhost ~]# nslookup 192.168.100.101
    101.100.168.192.in-addr.arpa	name = www.aaa.com.
    

2)主从DNS服务器搭建

减轻主服务器的压力,数据从主服务器上复制到从服务器上

一、主服务器的配置

1、配置主文件 vim/etc/named.conf

options {
        listen-on port 53 { 192.168.100.100; };
        allow-query     { any; };

2、配置区域文件 vim/etc/named.rfc1912.zones

zone "aaa.com" IN {
        type master;
        file "aaa.localhost";
        allow-transfer { 192.168.100.106; };	#声明允许同步数据的主机
        also-notify { 192.168.100.106; };
};


zone "100.168.192.in-addr.arpa" IN {
        type master;
        file "aaa.empty";
        allow-transfer { 192.168.100.106; };	#声明允许同步数据的主机
};

3、配置正向解析文件(/var/named)

$TTL 1D
@       IN SOA  aaa.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.aaa.com.
dns     A       192.168.100.100
www     A       192.168.100.101

4、配置反向解析文件

$TTL 3H
@       IN SOA  aaa.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.aaa.com.
100     PTR     dns.aaa.com.
101     PTR     www.aaa.com.

5、检查并开启服务

named-checkconf -z /etc/named.conf  &&  systemctl start named

二、从服务器的配置

1、安装bind

2、修改主配置文件 vim /etc/named.conf

options {
        listen-on port 53 { 192.168.100.106; };		#本机IP地址(从服务器)
        
        allow-query     { any; };

3、修改区域配置文件

zone "aaa.com" IN {
        type slave;				#类型为:slave 	从服务器
        masters { 192.168.100.100; };	#主服务器的IP
        allow-notify { 192.168.100.100; };
        file "slaves/aaa.com.localhost";	#在/var/named/slaves/
};


zone "100.168.192.in-addr.arpa" IN {
        type slave;
        masters { 192.168.100.100; };
        allow-notify { 192.168.100.100; };
        file "slaves/aaa.com.empty";
};

4、启动服务 systemctl start named

开启后,在slaves目录下生成两个文件
[root@localhost slaves]# ll
总用量 8
-rw-r--r--. 1 named named 307 1226 15:47 aaa.com.empty
-rw-r--r--. 1 named named 221 1226 15:38 aaa.com.localhost

三、客户端

DNS指向从DNS服务IP

访问测试(关闭主DNS服务,依旧可以解析)

  • 正向解析测试

    [root@localhost ~]# nslookup www.aaa.com
    Server:		192.168.100.100
    Address:	192.168.100.100#53
    
    Name:	www.aaa.com
    Address: 192.168.100.101
    
  • 反向解析测试

    [root@localhost ~]# nslookup 192.168.100.101
    101.100.168.192.in-addr.arpa	name = www.aaa.com.
    

3)主从服务器DNS实现跨网段解析

一、服务器规划

服务器IP地址网关
DNS-Master192.168.100.100192.168.100.254
DNS-Slave192.168.200.200192.168.200.254
路由器192.168.100.254
192.168.200.254
客户端192.168.200.210192.168.200.254

二、主服务器配置

1、安装bind

yum -y install bind

2、修改主配置文件

options {
        listen-on port 53 { 192.168.100.100; };
        allow-query     { any; };

3、配置区域配置文件

zone "aaa.com" IN {
        type master;
        file "aaa.localhost";
        allow-transfer { 192.168.200.200; };	#声明允许同步数据的主机
        also-notify { 192.168.200.200; };
};

zone "100.168.192.in-addr.arpa" IN {
        type master;
        file "aaa.empty";						#不能写到一个配置文件里
        allow-transfer { 192.168.200.200; };	#声明允许同步数据的主机
};

zone "200.168.192.in-addr.arpa" IN {
        type master;
        file "aaa-1.empty";
        allow-transfer { 192.168.200.200; };	#声明允许同步数据的主机
};

4、配置正向解析文件
路径:/var/named

cp -p named.localhost aaa.lcoalhost
vim aaa.localhost


$TTL 1D
@       IN SOA  aaa.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.aaa.com.
dns     A       192.168.100.100
www     A       192.168.200.200			##将www.aaa.com解析为192.168.200.200

5、配置反向解析文件

  • /var/named/aaa.empty
$TTL 3H
@       IN SOA  aaa.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.aaa.com.
100     PTR     dns.aaa.com.
  • /var/named/aaa-1.empty
$TTL 3H
@       IN SOA  aaa.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      www.aaa.com.
200     PTR     www.aaa.com.

6、检查并启动服务

named-checkconf -z && systemctl start named

三、从服务器配置

1、安装bind

yum -y install bind

2、配置主配置文件

options {
        listen-on port 53 { 192.168.200.200; };		##从服务器的IP地址
        allow-query     { any; };

3、修改区域配置文件

zone "aaa.com" IN {
        type slave;				#类型为:slave 	从服务器
        masters { 192.168.100.100; };	#主服务器的IP
        allow-notify { 192.168.100.100; };
        file "slaves/aaa.com.localhost";	#在/var/named/slaves/
};


zone "100.168.192.in-addr.arpa" IN {
        type slave;
        masters { 192.168.100.100; };
        allow-notify { 192.168.100.100; };
        file "slaves/aaa.com.empty";
};

zone "200.168.192.in-addr.arpa" IN {
        type slave;
        masters { 192.168.100.100; };
        allow-notify { 192.168.100.100; };
        file "slaves/aaa-1.com.empty";
};

4、检查并启动服务

named-checkconf -z && systemctl start named			##成功后在/var/named下出现文件

四、路由器配置

配置双网卡

100网段vm7 200网段vm9

开启路由转发

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p

五、客户端验证

1、配置dns为主服务器和从服务器的IP

vim /etc/resolv.conf
nameserver 192.168.100.100
nameserver 192.168.200.200

2、使用nslookup命令解析www.aaa.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值