目录
搭建DNS缓存服务器
1.安装bind
2.修改配置文件
3.正向解析:
4.进行反向解析:
5.对文件的属主进行修改:
6.查看本机网卡:
7.查看本机DNS:
8.nslookup解析域名:
9. windows测试:
10.测试缓存 :
主从复制:
主服务器(master):
从服务器(slave):
部署小型DNS缓存服务
部署DNS加密同步
配置加密主DNS:
配置加密从DNS
部署DNS分离解析
部署DNS负载均衡
部署DNS安全扩展dnssec:
172.25.250.101
1.安装bind
bind #提供dns server程序,以及几个常用的测试工具。
bind-libs #提供bind和bind-utils包中的程序共同用到的库文件。
bind-utils #bind客户端程序集,例如提供dig, nslookup, dig等工具。
bind-chroot #类似chroot,把dns服务限制在某个范围之类。
2.修改配置文件
为了防止错误的配置引起的故障,我们可以先将要配置的文件进行利用cp语句备份,
-p 让复制出来的文件属性与源文件属性保持一致。
3.正向解析:
第一行的vincefans.com是域名。
第三行的vincefans.com.zone是要做映射的解析文件。
区域解析库
- 资源记录:rr(resource record)用于此记录解析的属性
- SOA:Start Of Authority, 起始授权记录,一个区域解析库仅能有一个SOA记录,而且必须为解析库的第一条
- NS:Name Server,域名服务器,专用于标明当前区域的DNS服务器
- MX:Mail eXchange, 邮件交换器,MX记录有优先级属性(0-99)
- A:internet Address,FQDN --> IP,专用于正向解析,用于实现将FQDN解析为IP地址
- PTR:PoinTeR,IP --> FQDN,专用于反向解析,将IP地址解析为FQDN
- AAAA:FQDN --> IPv6,专用于正向解析,将FQDN解析为IPv6地址
- CNAME:Canonical Name,别名记录
依据SOA记录
serial:序列号,即数据库的版本号,主DNS服务器数据库内容发生变化时,其版本号要递增。
refresh:刷新时间间隔,从DNS服务器每隔多久到主DNS服务器检查序列号更新状况。
retry:重试时间间隔,从DNS服务器从主DNS服务器同步数据库失败时,定义多久之后再次发起尝试请求。
expire:过期时长,从DNS服务器始终联系不上主DNS服务器时,定义多久之后放弃从主DNS服务器同步数据库,并停止提供服务。
minimum:否定答案的缓存时长。
4.进行反向解析:
第一行是的“250.25.172.in-addr.arpa”是所要解析IP的网段以及相应的数据文件名称。
第三行的vincefans.com.txt是要做映射的解析文件。
- rndc reload:在不重新启动DNS服务的情况下,重新加载配置文件及zone.
- rndc reload zone:重新加载指定的zone。
- rndc status:查看当前DNS服务器的状态。
- rndc stats:将当前系统的DNS统计数据记录下来,默认会将数据存储为一个文件:/var/named/data/named_stats.txt。
- rndc dumpdb:将当前DNS高速缓存中的数据记录下来,与stats类似,默认会将数据存储为一个文件:/var/named/data/cache_dump.db。
- rndc flush:清空当前DNS服务器上的所有缓存。
5.对文件的属主进行修改:
6.查看本机网卡:
将服务器端的信息添加进去并将其设置为静态获取IP
7.查看本机DNS:
查看本机DNS一定要指向自己配置的IP
8.nslookup解析域名:
测试使用域名访问web服务器:
9. windows测试:
域名解析:
web访问:
访问www.vincefans.com指向的172.25.250.101web服务器
10.测试缓存 :
第二次解析用了0秒,证明有生成缓存:
在DNS域名解析中,从服务器可以从主服务器上获取指定的区域数据文件,从而起到备份解析记录,与负载均衡的作用,因此通过部署从服务器,可以减轻主服务器负载压力,还可以提升用户的查询效率。
主服务器(master):
编辑bind主配置文件,修改以下几行配置
接着创建区域名称,配置允许解析的IP地址:
编辑正向模板的zone记录,修改正向解析:
编辑反向模板的zone记录,修改反向解析:
重启bind服务,并设置成开机自启动
将服务器端的信息添加进去并将其设置为静态获取IP,查看本机dns:
从服务器(slave):
编辑bind主配置文件,修改以下几行配置
在从服务器中填写,需要同步的主服务器的IP地址,以及同步那个区域配置文件,其他无需修改,保存即可:
关闭防火墙或者放行53端口:
重启bind服务,并设置成开机自启动 :
查看同步过来的正反向记录:
查看DNS,申请静态获取IP BOOTPROYO=static:
假如master意外关掉,那么dns服务器(slave)172.25.250.102就会顶替上来:
域名解析的dns服务器是172.25.250.102
DNS缓存服务器(Caching DNS Server),是一种不负责域名数据维护的DNS服务器,简单来说,缓存服务器就是把用户经常使用到的,域名与IP地址的解析记录保存在本机,从而提升下次解析请求的效率。以下实验,将配置一台主DNS服务,再配置一台缓存服务器,加快DNS的解析速度。
DNSmasq是一个轻巧的,容易使用的DNS服务工具,它可以应用在内部网和Internet连接的时候的IP地址NAT转换,也可以用做小型网络的DNS服务.
它可以提供如下几个实用的功能:
1 、提供dns服务
2 、优先使用本地自定义dns
3 、提供dhcp服务
一般情况下,我们可以用bind解决dns的问题,dhcpd解决dhcp的问题,另外,还可以用ypbind解决自定义hostname解析的ip(当然还有用户的功能)
主要用途:
1 局域网有很多机器希望使用一份一样的hosts定义一批名称对应的ip,你需要经常维护这份列表
2 你希望局域网的人访问某个域名时,拦截下来到指定的ip,做缓存节省带宽或者其它用途都可以
3 禁止某个域名的正常解析
dnsmasq是一个很不错的外部DNS中继,小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,不适用于跨区域的网络。DNSmasq主用适用于NAT的家庭网络,用modem,cable modem,ADSL设备连接到因特网,对于那些需求低资源消耗且配置方便简单的小型网络(最多可支持1000台主机)是一个很好的选择。
1.缓存DNS服务器,安装dnsmasq缓存工具
2.打开dnsmasq的主配置文件,在配置文件底部写入要缓存的条目
4.修改本地上游DNS配置文件和本地hosts文件:
4.重启dnsmasq服务,并设置开机自启动
5.验证:dig www.baidu.com,第一次是没有缓存,所以时间是31
第二次再次测试,因为已经有了缓存,所以查询时间已经变成了0.
在如今的互联网中,绝大多数DNS服务器,都是靠Bind提供服务的,bind服务也为用户提供了一种加密措施,来保证数据在两台DNS服务器同步过程中的安全性,即TSIG加密机制,保证了DNS服务器之间区域数据传输的安全性。
配置加密主DNS:
1.首先通过yum仓库,安装bind域名解析系统,和bind-chroot禁锢模块
2.在主服务器中通过以下命令生成一个名称为master-slave的128位HMAC-MD5算法的名称为master-slave的密钥文件,并记住Kmaster-slave.+157+53234.private里面的key后期要用到这个钥匙同步数据
记住这个Key:
3.在主服务器中创建密钥验证文件,并把刚刚创建的key写入到tansfer.key传输文件里面,并配置好相应的权限:
重启bind服务:
配置加密从DNS
1.安装bind域名解析系统,和bind-chroot禁锢模块:
2.进入从DNS服务器,在相应目录下创建密钥文件,文件内容与主DNS服务器应相同,并赋予相应权限:
3.修改从DNS服务器的/etc/named.conf主配置文件,开启加密验证,并指定服务器IP地址:
4.重启 bind服务:
通常利用DNS的分离解析来达到针对不同的客户端访问网站时,分别解析到不同的主机,以达到负载均衡的目的。举例来说明,深圳的访客和广州的访客,同时访问一个网站,如果是深圳的访客我们将其解析到深圳的机房,如果是广州的访客我们将其解析到广州的机房,从而实现了快速上网,快速访问资源的目的,这一点有点类似于CND内容分发网络。
以下实验,将配置一台主DNS服务,通过使用view视图实现分离解析,广州的用户自动访问到广州的主机,深圳的用户自动访问到深圳的主机,由于没有合适的资源这里只做演示:
(注意:假设(IP=172.25.250.0/24是广州区域),(IP=172.25.240.0/24是深圳区域),(广州用户解析到IP=172.25.250.102),(深圳用户解析到IP=172.25.250.101))。
1.修改虚拟机的虚拟网络,使172.25.240.0和172.25.250.0两个网段之间互通:
2.首先通过yum仓库,安装bind域名解析系统,和bind-chroot:
3.修改主配置文件,由于分离解析功能与DNS根域冲突,所以还要屏蔽zone根域区域:
4.编辑正反向区域配置文件,把区域配置文件原有内容清空,然后根据以下格式写入内容:
5.建立对应的区域配置文件,分别拷贝两个模板:
6.分别修改两个配置模板,shenzhen(172.25.240.0)解析成=172.25.250.101,
guangzhou(172.25.250.0)解析成=172.25.250.102:
8.重启bind服务:
9.172.25.240.0网段测试www.vincefans.com解析为=172.25.250.101:
10.172.25.250.0网段测试www.vincefans.com解析为=172.25.250.102:
在日常的生产环境中,其实DNS也是可以作为一个负载均衡器使用的,下面我们将介绍通过配置DNS域名失效时间的方式,来实现一个负载调度器。
以下实验,将配置一台主DNS服务,并实现负载均衡。(注意:请自行搭建3个Http服务,之间相互通信,web01=172.25.250.101,web02=172.25.250.102,web03=172.25.250.103)
1.首先通过yum仓库,安装bind域名解析系统,bind-chroot,域名解析工具bind-ulits
2.编辑bind主配置文件,修改以下几行配置
3.接着创建区域名称,在配置文件底部
4.编辑正向模板的zone记录,修改正向解析,在正向解析记录的基础上简单修改即可实现:
5.重启bind服务:
6.验证
DNS做为互联网早期产物,使用无连接的UDP协议虽然降低了开销也保证了高效的通信,但是没有考虑安全问题。由于DNS使用目的端口为53的UDP明文进行通信,DNS解析器识别是自己发出的数据包的唯一标准就是随机的源端口号,如果端口号匹配则认为是正确回复,而不会验证来源。所以也带来了许多DNS安全问题,如DNS欺骗,DNS Cache污染,DNS放大攻击等。
针对DNS安全问题,业界提出了DNSSec(Domain Name System Security Extensions,也叫"DNS安全扩展")机制,使用密码学方法解决DNS安全问题,让客户端对域名来源身份
尽管DNS的安全问题一直被互联网研究和工程领域广为关注,但是有一种普遍存在的攻击却始终没有解决,即DNS的欺骗和缓存污染问题。DNS安全扩展(DNS Security Extension, 即DNSSEC)主要是为了解决这一问题而提出的(尽管它还有其他用途)。因此,在介绍DNSSEC的原理之前有必要简单介绍DNS欺骗和缓存污染攻击的原理。
不过,目前配置了DNSSEC签名的域名非常少,据我所知一般有些国外政府域名有,当然paypal也有,而国内几乎没有(国内的支付宝并没有)。
1.激活DNSSEC
2.生成跟(.)的KSK和ZSK
DS记录来源于顶级域名(com.)的 KSK 每一个DS记录都来源于子域,而信任锚可以是DNSKEY或者DS记录,就是为了最后确认可以的保证。
3.签名
查看生成的两个文件:
4.创建“信任锚”文件
验证,flags:出现ad表示搭建成功:
本文地址:http://lianchengexpo.xrbh.cn/quote/11754.html 迅博思语资讯 http://lianchengexpo.xrbh.cn/ , 查看更多