DNS服务(bind)

1.BIND服务器简介:

Bind是Berkeley Internet Name Domain Service的简写,它是一款实现DNS服务器的开放源码软件。Bind原本是美国DARPA资助伯克利大学(Berkeley)开设的一个研究生课题,后来经过多年的变化发展,已经成为世界上使用最为广泛的DNS服务器软件,目前Internet上半数以上的DNS服务器有都是用Bind来架设的。

1.1 服务的特性:

运行于后台,处于监听(listen)状态

1.2 DNS服务器类型:

  • 缓存服务器:不负责解析,仅为加速,不需要注册
  • 主DNS服务器:负责解析本地客户端请求
  • 辅助DNS服务器:辅助服务器的区域数据都是从主服务器复制而来,其数据都是只读的

1.3 bind详解:

包名:bind

进程:named

协议:dns

使用端口:53(tcp,udp)

相关包:

bind-chroot:将named进程的活动范围限定在chroot目录,保证安全性。

bind-devel:与开发相关的头文件和库文件(编译安装bind时所需)

bind-libs:bind服务器端和客户端都使用到的公共库文件

bind-utils : bind客户端工具

程序文件:/usr/sbin/named

bind权限相关:

安装完named会自动创建用户named系统用户

[root@wyz ~]# grep "named" /etc/passwd
named:x:25:25:Named:/var/named:/sbin/nologin

Tips: 早期Linux服务都是以root权限启动和运行的,随着技术的发展,各种服务变得越来越复杂,导致BUG和漏洞越来越多。黑客利用服务的漏洞入侵系统,能获得root级别的权限,从而控制整个系统。为了减缓这种攻击所带来的负面影响,现在服务器软件通常设计为以root权限启动,然后服务器进程自行放弃root,再以某个低权限的系统账号(named)来运行进程。这种方式的好处在于该服务被攻击者利用漏洞入侵时,由于进程权限很低,攻击者得到的访问权限又是基于这个较低权限。

【配置文件】:

[root@wyz ~]# rpm -qc bind
/etc/logrotate.d/named/etc/named.conf   //主配置文件
/etc/named.rfc1912.zones    			//区域配置文件(用include指令包含在主配置文件)
/etc/named.root.key         			//根区域的key文件以实现事务签名;
/etc/rndc.conf                  		//rndc(远程名称服务器控制器)配置文件
/etc/rndc.key                   		//rndc加密密钥
/etc/sysconfig/named 
/var/named/named.ca      				//13个根服务器存放文件/var/named/named.empty 
/var/named/named.localhost
/var/named/named.loopback

重点只需要关心主配置文件:

主配置文件: named.conf,每个语句都要使用分号结尾;其功能如下:

  • 定义区域
  • 定义各区域的全局配置
  • 定义视图
  • 定义日志

dig命令:

语法:dig -t 资源记录类型  名称 @server-ip
//常用选项:
dig -x IP @server-ip:查询反向解析
dig - t 资源记录类型 名称 +trace:追踪解析过程
dig -t axfr zone :验证完全区域传送

2. DNS(bind)服务器的配置:

DNS服务器配置分四个:

  • 配置正向解析的bind
  • 配置反向解析的bind
  • 配置辅助bind
  • 实现主辅DNS之间的区域传送

2.1 配置正向、反向解析

//yum安装bind
[root@wyz ~]# yum install -y bind

//自己创建或修改主配置文件(/etc/named.conf)
[root@wyz ~]# vim /etc/named.conf
//注释如下三行:
//listen-on port 53 { 127.0.0.1; }; 
//listen-on-v6 port 53 { ::1; };
//allow-query     { localhost; };
options {
        //listen-on port 53 { 127.0.0.1; };
        //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";
        //allow-query     { localhost; };

//启动服务
[root@wyz ~]# systemctl restart named
[root@wyz ~]# ss -anlt
State       Recv-Q Send-Q      Local Address:Port                     Peer Address:Port              
LISTEN      0      10         192.168.234.11:53                                  *:*                  
LISTEN      0      10              127.0.0.1:53                                  *:*                  
LISTEN      0      128                     *:22                                  *:*                  
LISTEN      0      128             127.0.0.1:953                                 *:*                  
LISTEN      0      100             127.0.0.1:25                                  *:*                  
LISTEN      0      128                    :::22                                 :::*                  
LISTEN      0      128                   ::1:953                                :::*                  
LISTEN      0      100                   ::1:25                                 :::*                  

//编辑区域配置文件/etc/named.rfc1912.zones
[root@wyz ~]# vim /etc/named.rfc1912.zones
//正向
zone "test.com" IN {				//新增区域
        type master;
        file "test.com.zone";
        allow-update { none; };
}
//反向
zone "192.168.234.in-addr.arpa" IN {
        type master;
        file "192.168.234.zone";
        allow-update { none; };
};
//创建区域数据文件(/var/named/***.zone)
[root@wyz ~]# vim /var/named/test.com.zone
$TTL 1D
@  IN  SOA cljhfy.com.   admin.test.com. (
            0   ; serial  
            1D  ; refresh  
            1H  ; retry  
            1W  ; expire 
            3H )    ; minimum 
        NS  www.test.com.
        NS  ftp.test.com.
        A  127.0.0.1
        AAAA    ::1
        MX  10 mx.test.com.
ttl IN  A   192.168.234.11
www     IN  A   192.168.234.11
bbs IN  CNAME   www
mx  IN  A   192.168.234.11
ftp IN  A   192.168.234.11

[root@wyz ~]# vim /var/named/192.168.234.com.zone
$TTL 1D
@       IN      SOA     test.com. admin.test.com. (
                         0
                         2H
                         10M
                         7D
                         1D )
        NS  ttl.test.com.
        A   127.0.0.1
        AAAA    ::1
128  IN      PTR     test.com.
128  IN      PTR     www.test.com.
128  IN      PTR     ftp.test.com.
128  IN      PTR     mx.test.com.

//重启服务
[root@wyz ~]# systemctl  restart named

验证

[root@wyz ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 192.168.234.11
//dns指向我设置好的IP
[root@cl129 ~]# nslookup 192.168.234.11
Server:     192.168.234.11
Address:    192.168.234.11#53

128.163.234.22.in-addr.arpa    name = ftp.test.com.
128.163.234.22.in-addr.arpa    name = test.com.
128.163.234.22.in-addr.arpa    name = mx.test.com.
128.163.234.22.in-addr.arpa    name = www.test.com.

[root@cl129 ~]# nslookup test.com
Server:     192.168.234.11
Address:    192.168.234.11#53

Name:   cljhfy.com
Address: 127.0.0.1

[root@cl129 ~]# nslookup ftp.test.com
Server:     192.168.234.11
Address:    192.168.234.11#53

Name:   ftp.test.com
Address: 192.168.234.11

[root@cl129 ~]# nslookup mx.test.com
Server:     192.168.234.11
Address:    192.168.234.11#53

Name:   mx.test.com
Address: 192.168.234.11
[root@cl129 ~]# nslookup www.test.com
Server:     192.168.234.11
Address:    192.168.234.11#53

Name:   www.test.com
Address: 192.168.234.11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值