bind服务器?如何搭建dns服务器 bind
大家好,关于bind服务器很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于如何搭建dns服务器 bind的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
linux dns服务器怎么设置
在linux系统中一般通过bind软件包来提供dns服务。
1、环境准备:
临时关闭selinux和iptables
#setenforce0
#serviceiptablesstop
2、查询相关软件包:
[root@localhost~]#yumsearchbind
Loadedplugins:product-id,refresh-packagekit,subscription-manager
UpdatingRedHatrepositories.
======================================================================================N/SMatched:bind======================================================================================
PackageKit-device-rebind.i686:DevicerebindfunctionalityforPackageKit
bind.i686:TheBerkeleyInternetNameDomain(BIND)DNS(DomainNameSystem)server
bind-chroot.i686:AchrootruntimeenvironmentfortheISCBINDDNSserver,named(8)
bind-utils.i686:UtilitiesforqueryingDNSnameservers
其中各软件包的作用如下:
1)、bind:提供域名服务的主要程序及相关文件。
2)、bind-chroot:为bind提供一个伪装的根目录以增强安全性。
3)、bind-utils:提供对DNS服务器测试的工具程序(如nslookup、dig等)。
3、安装BIND软件包
#yuminstall*bind*
4、配置DNS服务器:
1)、bind服务器端程序
主要执行程序:/usr/sbin/named
服务脚本:、etc/init.d/named
默认监听端口:53
主配置文件:/etc/named.conf
保存DNS解析记录的数据文件:/var/named/chroot/var/named
2)、查询bind程序的配置文件列表
[root@localhost~]#rpm-qcbind
/etc/logrotate.d/named
/etc/named.conf
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost
/var/named/named.loopback
3)、查看主配置文件named.conf
#vim/etc/named.conf
4)、主配置文件解析:
a、全局配置部分,默认的全局配置项如下:
options{
11listen-onport53{127.0.0.1;};//监听的端口和接口IP地址
12listen-on-v6port53{::1;};
13directory"/var/named";//dns区域的数据文件默认存放位置
14dump-file"/var/named/data/cache_dump.db";
15statistics-file"/var/named/data/named_stats.txt";
16memstatistics-file"/var/named/data/named_mem_stats.txt";
17allow-query{localhost;};//允许dns查询的客户机列表,any表示所有
18recursionyes;//是否允许客户机进行递归查询
19
20dnssec-enableyes;
21dnssec-validationyes;
22dnssec-lookasideauto;
23
24/*PathtoISCDLVkey*/
25bindkeys-file"/etc/named.iscdlv.key";
26};
全局配置中还有如下选项:
//将本域名服务器不能解析的条目转发给其它DNS服务器的IP地址
forwarders{202.102.24.68;12.3.3.3;};
b、默认的区域配置项如下:
35zone"."IN{
36typehint;//区域类型。hint为根区域;master为主区域;slave为辅助区域
37file"named.ca";//该区域对应的区域数据配置文件名
38};
区域配置中还有如下选项:
//允许下载区域数据库的从域名服务器IP地址
allow-transfer{189.98.90.23;};
//允许动态更新的客户端IP地址(none表示全部禁止)
allow-update{none;};
添加如下区域配置:
zone“my.com”IN{
typemaster;//主区域
file“my.com”;//该区域对应的区域数据配置文件名
allow-transfer{192.168.153.1;};//允许下载区域数据库的从域名服务器IP地址
allow-update{none;};
};
zone“153.168.192.in-addr.arpa”IN{//表示针对IP192.168.153.130反向解析
typemaster;//主区域
file“192.168.153.my.arpa”;//该区域对应的区域数据配置文件名
};
5)、配置完了,可以执行如下命令对named.conf文件进行语法检查。
#named-checkconf
注意:倒序网络地址.in-addr.arpa表示反向区域
主配置文件最后还有一行是:
//该文件包含/etc/named.rfc1912.zones文件
include“/etc/named.rfc1912.zones”
区域数据配置文件:
先看一下named.localhost的内容:
$TTL1D//timetolive生存时间
@INSOA@rname.invalid.(//”rname.invalid”DNS区域地址
0;serial//更新序列号
1D;refresh//更新时间
1H;retry//重试延时
1W;expire//失效时间
3H);minimum//无效地址解析记录的默认缓存时间
NS@//nameserver域名服务记录
A127.0.0.1//address只用在正向解析的区域数据文件中
AAAA::1
新建2个对应的区域数据配置文件:
#touchmy.com
#touch192.168.153.my.arpa
#vimmy.com
$TTL86400
@INSOAmy.com.admin.my.com(//admin.my.cm为该区域管理员的邮箱地址
200900201
3H
15M
1W
1D
)
@INNSns1.my.com.//当前域的DNS服务器地址
INMX10mail.my.com.//用于设置当前域的邮件服务器域名地址,数字10表示优先级别,数字越大优先级越低
ns1INA192.168.153.130
mailINA192.168.153.130
wwwINA192.168.153.130
ftpINCNAMEwww//CNAME别名(canonicalname)记录,表示ftp.my.com和www.my.com对应同一个IP.
[root@localhostnamed]#vim192.168.153.my.arpa
$TTL86400
@INSOAmy.com.admin.my.com(
200900201
3H
15M
1W
1D
)
@INNSns1.my.com.
130INPTRftp.my.com
启动DNS服务
[root@localhost~]#servicenamedstart
4、测试:
配置一台ftp服务器用于测试:
#servicevsftpdstart//启动vsftpd服务
当前网卡的配置:
eth0:192.168.0.1/24
eth1:192.168.153.130/24
[root@localhostnamed]#nslookup192.168.153.130
Server:127.0.0.1
Address:127.0.0.1#53
130.153.168.192.in-addr.arpaname=www.my.com.
[root@localhost~]#nslookupftp.my.com
Server:127.0.0.1
Address:127.0.0.1#53
ftp.my.comcanonicalname=www.my.com.
Name:www.my.com
Address:192.168.153.130
如何搭建dns服务器 bind
一,简介
相对于存储和大数据领域,CDN是一个相对小的领域,但行行出状元,BIND就是CDN领域的蝉联N届的状元郎。BIND是一款非常常用的DNS开源服务器,全球有90%的DNS用BIND实现。值得一提的是,BIND9.8.1用C语言实现,代码量巨大,其设计实现几乎涵盖了服务器编程的所有细节。
本文简要介绍一下BIND9.8.1最简单配置,其中穿插介绍BIND中的最基本概念,不涉及BIND的安装部署,不涉及BIND架构等话题。
二,Zone文件和资源记录Resource Record
介绍最简配置前需要明确两个配置中的概念:zone和RR。
BIND的配置文件描述了一个域名服务器的所有属性,这些属性BIND的行为和功能。其中的zone文件描述了域名服务器中包含的主机,所提供的服务类型等信息,BIND通过将zone文件中的信息加载到内存数据结构中并有效组织起来,然后对外部的DNS请求提供验证和查询请求。需要注意的是,zone文件的格式不是由BIND制定的,而是DNS标准文档制定的(见RFC1035)。
通常情况下,一个zone文件描述该DNS服务器服务的一个授权服务器域。例如我有一个DNS服务器可以解析taobao.com的域名和baidu.com的域名,那么我的DNS服务器的配置文件中就可以设置两个zone标签,一个描述taobao.com的域名信息,另一个描述baidu.com的域名信息。
资源记录resource Record记录了一个域(domain)的属性和特性,注意,属性是指共有的特征,特性指特有的特征。例如中国特色社会主义就是一个特性。
三,named.conf文件配置
named.conf是BIND的唯一的主配置文件,当然你也可以自己编写主配置文件,但是需要在BIND主进程named启动的时候用-c选项指定主配置文件的路径。named.conf由一个个子句组成,每个子句都有一个头跟一对大括号组成,大括号里面是该子句中的因子和值(具体见下面的例子)。
下面的代码是named.conf的一个最简配置。其中假设named.conf只负责解析授权域名cobb.com。
其中的key是由rndc-confgen生成的。
1
利用bind/dns漏洞攻击的分类
DNS劫持,缓存投毒,DDoS攻击,反射式DNS放大攻击。
1.DNS劫持,DNS劫持又称域名劫持,这类攻击一般是通过恶意软件、修改缓存、控制域名管理系统等方式取得DNS解析控制权,然后通过修改DNS解析记录或更改解析服务器方式,将用户引导至不可达的站点或受攻击者控制的非法网站,以达到非法获取用户数据,谋取非法利益的目的。2.缓存投毒,攻击者将非法网络域名地址传送给DNS服务器,一旦服务器接收该非法地址,其缓存就会被攻击。其实现方式有多种,比如可以通过利用客户ISP端的DNS缓存服务器的漏洞进行攻击或控制,从而改变该ISP内的用户访问域名的响应结果;或者,黑客通过利用用户权威域名服务器上的漏洞,如当用户权威域名服务器同时可以被当作缓存服务器使用,黑客可以实现缓存投毒,将错误的域名纪录存入缓存中,从而使所有使用该缓存服务器的用户得到错误的DNS解析结果。
与钓鱼攻击采用非法URL不同,DNS缓存中毒使用的是合法的URL地址,用户往往会以为登陆的是自己熟悉的网站,其实却是其他的网站。3.DDoS攻击,攻击者通过控制多台计算机并伪造大量的源IP向攻击目标持续不断地发起海量DNS查询请求,使得DNS服务器频繁地进行全球迭代查询,从而导致网络带宽耗尽而无法进行正常DNS查询请求。攻击者还会利用DNS协议中存在的漏洞,恶意创造一个载荷过大的请求,导致目标DNS服务器崩溃。4.反射式DNS放大攻击,DNS反射放大攻击主要是利用DNS回复包比请求包大的特点,放大流量,伪造请求包的源IP地址为受害者IP,将应答包的流量引入受害的服务器。
OK,关于bind服务器和如何搭建dns服务器 bind的内容到此结束了,希望对大家有所帮助。