DNS域名服务器

源自《Linux 运维之道》丁一明编著 一书的总结

DNS是Domain Name System(域名系统)的简称,DNS可以为计算机、服务以及接入互联网或局域网的任何资源提供分层的名称解析功能。

域名是分级的,一般为:主机名.三级域名.二级域名.定级域名.。一般最后一个点是不用输入的。一般顶级域名代表国家或组织形式。

域名查询分为递归查询和迭代查询,从客户端到本地DNS服务器是属于递归查询,而DNS服务器之间就是的交互查询就是迭代查询。

安装:

[[email protected] /]# yum -y install bind

[[email protected] /]# yum -y install bind-chroot

[[email protected] /]# yum -y install bind-utils

对于bind而言,/var/named/chroot/目录就是根路径。bind-utils提供了一些DNS查询工具,如:dig、host、nslookup等。

配置文件解析,主配置文件一般为/etc/named.conf文件,但是当安装bind-chroot软件包后,在后面的内容提到的一些路径默认指的是一个虚拟路径,都是相对虚拟根路径而言的,虚拟根路径默认为/var/named/chroot/目录。也就是主配置文件的绝对路径变为/var/named/chroot/etc/named.conf。

//

// named.conf

//

// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS

// server as a caching only nameserver (as a localhost DNS resolver only).

//

// See /usr/share/doc/bind*/sample/ for example named configuration files.

//

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; };

recursion yes;

dnssec-enable yes;

dnssec-validation yes;

dnssec-lookaside auto;

/* Path to ISC DLV key */

bindkeys-file "/etc/named.iscdlv.key";

managed-keys-directory "/var/named/dynamic";

};

//自定义一些主机访问控制列表

acl black{

172.16.0.0/16;

};

acl white{

10.0.0.0/8;

}

//options语句用来定义全局配置选项,在全局配置中至少需要定义一个工作路径,默认的工作路径为/var/named/,具体的常见参数见表8.1

Options{

allow-query {white;};

blackhole{black;};

};

logging {

channel default_debug {

file "data/named.run";

severity dynamic;

};

};

//zone语句用来定义域以及相关选项,该语句的重点有type和file,表8.2为zone语句内常用的选项和描述

zone "." IN {

type hint;

file "named.ca";

};

include "/etc/named.rfc1912.zones";

include "/etc/named.root.key";

表8.1


选项


描述


directory


设置域名服务器的工作目录,默认为/var/named


dump-file


运行rndc dumpdb备份缓存资料后保存的文件路径与名称


statistics-file


运行rndc stats后,统计信息的保存路径与名称


listen-on port


指定监听的IPv4网络接口


allow-query


指定哪些主机可以查询服务器的权威解析记录


allow-query-cache


指定哪些主机可以通过服务器查询非权威解析数据,如递归查询数据


blackhole


设置拒绝那些主机的查询请求


recursion


是否允许递归查询


forwards


指定一个IP地址,所有对本服务器的查询都转发到该IP进行解析


max-cache-size


设置缓存文件的最大容量

表8.2


选项


描述


Type


设置域类型,类型可以是:

Hint:当本地找不到相关解析后,可以查询根域名服务器

Master:定义权威域名服务器

Slave:定义辅助域名服务器

Forward:定义转发域名服务器


File


定义域数据文件,文件保存在directory所定义的目录下


Notify


当域数据资料更新后是否主动通知其他服务器


Masters


定义主域名服务器IP地址,当type设置为slave后该选项才有效


Allow-update


允许那些主机动态更新域数据信息


Allow-transfer


那些从服务器可以从主服务器下在数据文件

在BIND软件的主配置中,如果定义了zone语句,还需要额外创建于数据文件,默认与数据文件在/var/named目录下,文件名称有zone语句的file选项设定。


记录类型


描述


SOA记录


域权威记录,说明本机服务器为该域的管理服务器


NS记录


域名服务器记录


A记录


正向解析记录,域名到IP地址的映射


PTR记录


反向解析记录,IP到域名的映射


CNAME记录


别名记录,为主机添加别名


MX记录


邮件记录,指定域内的邮件服务器,需要指定优先级

常用的配置语句选项说明:


options


服务器的全局配置选项及一些默认设置


view


定义一个视图


zone


定义一个区域


logging


指定服务器日志记录的内容和日志信息的来源


acl


定义IP地址的访问控制列表


include


加载的文件


key


指定用于识别和授权的密钥信息


server


设置服务器的参数


trusted-key


指定信任的DNSSEC加密密钥


type


定义区域的类型


file


指定一个区域文件


directory


指定区域文件的目录


forwarders


指定请求将被转发到的DNS服务器


masters


指定从服务器所使用的主服务器


allow-transfer


指定允许按受区域传送请求的主机


allow-query


指定允许进行查询的主机


notify


当主区域数据发生变化时,允许通知从服务器


controls


定义rndc命令使用的控制通道

部署主域名服务器


服务器ip


服务器名称


功能描述


192.168.118.253


dns1.adc.com


主域名服务器


192.168.118.254


dns2.adc.com


从域名服务器


192.168.118.100


Fileserver.abc.com


文件服务器


192.168.118.101


Printserver.abc.com


打印机服务器


192.168.118.200


www.abc.com


网站服务器


192.168.118.201


www.abc.com


网站服务器


192.168.118.25


mail.abc.com


邮件服务器


192.168.118.20


ntp.abd.com


时间服务器

先安装:

[[email protected] /]# yum -y install bind

[[email protected] /]# yum -y install bind-chroot

[[email protected] /]# yum -y install bind-utils

在修改配置:

[[email protected] /]# cp /usr/share/doc/bind-9.8.2/sample/etc/named.conf /var/named/chroot/etc/

[[email protected] /]# chown root.named /var/named/chroot/etc/named.conf

[[email protected] /]# gedit /var/named/chroot/etc/named.conf

options

{

directory "/var/named";

dump-file "data/cache_dump.db";

statistics-file "data/named_stats.txt";

memstatistics-file "data/named_mem_stats.txt";

listen-on port 53 { any; };

allow-query { any; };

allow-query-cache { any; };

recursion yes;

};

acl secondserver{

192.168.118.250;

};

zone "." IN {

type hint;

file "/var/named/named.ca";

};

zone "abc.com" IN{

type master;

allow-transfer { secondserver;};

file "abc.com.zone";

};

zone "168.192.in-addr.arpa" IN{

type master;

allow-transfer{secondserver;};

file "168.192.zone";

};

创建区数据文件

[[email protected] /]# cp /usr/share/doc/bind-9.8.2/sample/var/named/named.ca /var/named/chroot/etc/

[[email protected] /]# chown root.named /var/named/chroot/etc/named.ca

[[email protected] /]# cp /usr/share/doc/bind-9.8.2/sample/var/named/named.localhost /var/named/chroot/var/named/abc.com.zone

[[email protected] /]# chown root.named /var/named/chroot/var/named/abc.com.zone

[[email protected] /]# gedit /var/named/chroot/var/named/abc.com.zone

修改内容

$TTL 1D

@ IN SOA @ rname.invalid. (

10 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

NS dns1.abc.com.

NS dns2.abc.com.

MX 10 mail.abc.com.

dns1 IN A 192.168.118.253

dns2 IN A 192.168.118.250

ntp.abc.com. IN A 192.168.118.20

mail.abc.com. IN A 192.168.118.25

fileserver IN A 192.168.118.100

Printserver IN A 192.168.118.101

www IN A 192.168.118.200

IN A 192.168.118.201

添加用于方向解析的192.168.zone域数据文件

[[email protected] /]# gedit /var/named/chroot/var/named/192.168.zone

$TTL 1D

@ IN SOA dns1.abc.com. jacob.abc.com. (

10 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

NS dns1.abc.com.

NS dns2.abc.com.

253.118 IN PTR dns1.abc.com.

254.118 IN PTR dns2.abc.com.

20.118 IN PTR ntp.abc.com.

25.118 IN PTR mail.abc.com.

100.118 IN PTR fileserver.abc.com.

101.118 IN PTR Printserver.abc.com.

200.118 IN PTR www.abc.com.

201.118 IN PTR www.abc.com.

开启tcp的53端口用于主从复制,udp53端口用于数据查询

[[email protected] /]# iptables -I INPUT -p udp --dport 53 -i ACCEPT

[[email protected] /]# iptables -I INPUT -p tcp --dport 53 -i ACCEPT

[[email protected] /]# service iptables save

iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]

[[email protected] /]# chkconfig named on

在ubutu上查询,注意我还没设置默认的dns服务器为192.168.118.253,因此才会出现Non-authoritative answer。

[email protected]:/home/tempal# nslookup www.abc.com

Server: 127.0.0.1

Address: 127.0.0.1#53

Non-authoritative answer:

www.abc.com canonical name = abc.com.

Name: abc.com

Address: 199.181.132.250

部署从域名服务器可以防止出现单点故障或实现负载均衡。在192.168.118.250中安装:

[[email protected] /]# yum -y install bind

[[email protected] /]# yum -y install bind-chroot

[[email protected] /]# yum -y install bind-utils

在修改配置:

[[email protected] /]# cp /usr/share/doc/bind-9.8.2/sample/etc/named.conf /var/named/chroot/etc/

[[email protected] /]# chown root.named /var/named/chroot/etc/named.conf

[[email protected] /]# gedit /var/named/chroot/etc/named.conf

内容:

options

{

directory "/var/named";

dump-file "data/cache_dump.db";

statistics-file "data/named_stats.txt";

memstatistics-file "data/named_mem_stats.txt";

listen-on port 53 { any; };

allow-query { any; };

allow-query-cache { any; };

recursion yes;

};

acl secondserver{

192.168.118.250;

};

zone "." IN {

type hint;

file "/var/named/named.ca";

};

zone "abc.com" IN{

type slave;

allow-transfer { secondserver;};

file "abc.com.zone";

};

zone "168.192.in-addr.arpa" IN{

type slave;

allow-transfer{secondserver;};

file "168.192.zone";

};

设置同步文件

最后修改SELinux设置,否则无权限进行同步操作。

[[email protected] ~]# setsebool -P named_write_master_zones=1

[[email protected] ~]# mkdir -p /var/named/chroot/var/named/slaves/

[[email protected] ~]# chown root.named /var/named/chroot/var/named/slaves/

[[email protected] ~]# chmod 775 /var/named/chroot/var/named/slaves/

[[email protected] ~]# chkconfig named on

DNS域名服务器,布布扣,bubuko.com

时间: 2024-07-30 09:50:08

DNS域名服务器的相关文章

设置DNS域名服务器地址BAT批处理脚本文件.bat

rem 文件名 设置DNS域名服务器地址BAT批处理脚本文件.batrem 用途 设置"无线网络连接" 的DNS域名服务器地址netsh interface ip add dns "无线网络连接" 8.8.8.8netsh interface ip add dns "无线网络连接" 8.8.4.4netsh interface ip add dns "无线网络连接" 1.2.4.8netsh interface ip add

搭建dns域名服务器过程

在用TCP/IP协议族架设的网络中,每一个节点都有一个唯一的IP地址,用来作为它们唯一的标志.然而,如果让使用者来记住这些毫无记忆规律的IP地址将是不可想象的.人们就需要一种有记忆规律的字符串来作为唯一标记节点的名字. 然而,虽然符号名对于人来说是极为方便的,但是在计算机上实现却不是那么方便的.为了解决这个需求,应运而生了一个域名服务系统DNS,它运行在TCP协议之上,负责将字符名-- 域名 转换成实际相对应的IP地址.这个过程就是域名解析,负责域名解析的机器就叫域名服务器. 1. 域名解析的方

DNS 域名服务器

域名服务器 域名服务器: 1.域名服务基础: 1).DNS作用及类型: 2).安装和配置: 3).配置文件详解. 2.构建域名服务器: 1).主域名服务器: 2).从域名服务器(辅助域名服务器): 3).分离解析服务器. 一.DNS的作用 域名是为了方便记忆而专门建立的一套地址转换系统,要访问一台互联网上的服务器,最终还必须通过IP地址来实现,域名解析就是将域名重新转换为IP地址的过程.这一过程通过域名解析系统DNS来完成. 1.作用: 正向解析:根据主机名称(域名)查找对应的IP地址. 反向解

内网DNS域名服务器

1.DNS简介   略 2.DNS软件功能简介: bind 为主程序软件. bind-chroot 主要功能是使Bind软件可以运行在chroot模式下,这样BIND运行在相对的根路径,而不是真正的Linux路径,以此提升系统的安全性.安装了bind-chroot,对bind 而言/var/named/chroot目录就是根路径. bind-utils 软件包提供了一些DNS查询工具,如:dig, host, nslookup等. 3.部署主域名服务器   说明: 案例中使用的域为ttpai.c

DNS域名服务器双master+ntp时间服务器双主+keepalived企业高可用方案 附脚本

一.环境 [[email protected] ~]# cat /etc/issue Red Hat Enterprise Linux Server release 6.6 (Santiago) Kernel \r on an \m [[email protected] ~]# uname -r 2.6.32-504.el6.x86_64 角色 master-backup backup-master client ip 192.168.42.9 192.168.42.11 192.168.42.

构建主从DNS域名服务器

主DNS服务器提供一个域或某几个域内的主机名与IP地址的查询服务,为了分担域名查询的压力,提供区域数据的备份,有时还会架设一台从DNS服务器,实现与主DNS服务器的同步.本实验将开启两台linux服务器,一台是rh6-1(主),一台是rh6-2(从),并用xshell进行远程连接,该实验我做的是正向解析.前面的挂载光盘还有安装bind步骤我就省略了,前一个博客有写.主DNS服务器配置第一步:编辑主配置文件:设置为允许任何人访问和任何网段访问: 第二步:编辑区域配置文件:type master 表

一、DNS解析的基本原理

1.基础知识 DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析).DNS协议运行在UDP协议之上,使用端口号53. 2.专业术语 FQDN : Full Qualified Domain Name  完全合格域名 例如:www.baidu.com   www.mirrors.163.com

DNS缓存欺骗攻击

1.受影响的无线网络设备 一些D-link.TP-Link.Belkin.Linksys及IPTime等品牌无线路由器存在安全隐患. 2.漏洞描述 攻击者向DNS服务器注入非法网络域名地址,如果服务器接收这个非法地址,那说明其缓存被攻击了,而且以后响应的域名请求将会受到攻击者所控制. 当这些非法地址进入服务器缓存,用户的浏览器或者邮件服务器就会自动跳转到DNS指定的地址. 3.漏洞实现原理 1.当一个DNS缓存服务器从用户处获得域名请求时,服务器会在缓存中寻找是否有这个地址.如果没有,它就会向上

DNS详解

许多应用层软件经常直接使用域名系统 DNS (Domain Name System),但计算机的用户只是间接而不是直接使用域名系统. 因特网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统 DNS. 名字到 IP 地址的解析是由若干个域名服务器程序完成的.域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器. 因特网的域名结构 因特网采用了层次树状结构的命名方法. 任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名. 域名的结构由标号序列组成,各标号