Linux 下 DNS配置-经典.doc_第1页
Linux 下 DNS配置-经典.doc_第2页
Linux 下 DNS配置-经典.doc_第3页
Linux 下 DNS配置-经典.doc_第4页
Linux 下 DNS配置-经典.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

RHCE课程-RH253Linux服务器架设笔记五-DNS服务器配置 2009-04-06 19:49:50标签:bind DNS RHCE caching-nameserver chroot推送到技术圈 版权声明:原创作品,谢绝转载!否则将追究法律责任。在LINUX下面架设DNS服务器,不知道DNS解析原理,根本会了和不会没区别, 网络中为了区别各个主机,必须为每台主机分配一个惟一的地址,这个地址即称为“IP地址”。但这些数字难以记忆,所以就采用“域名”的方式来取代这些数字了。当某台主机要与其他主机通信时,就可以利用主机名称向DNS服务器查询该主机的IP地址,所以我们的网卡要上网至少要3个信息,IP地址,网关,DNS服务器地址。 DNS的组织结构这个就是DNS的组织结构,最上面是根域名 dot,全球13台根域服务器,没有一台在中国,因为中国网络发展,起步迟。而且所有的dot DNS服务器都是bind软件架设的,我们今天要学习的也是bind软件。全球70%的大型DNS服务器都是基于bind软件。 常见的顶级域服务器我国的顶级域也就只有cn DNS解析过程我给大家解释下,比如解析/url,第一步,查询本地host文件和缓存有没有这个记录,有就直接解析,没有就访问DNS服务器,如果DNS服务器上没/url或者不在你访问的DNS服务器管理区域内,那么DNS服务器就会向dot根域名服务器发递归查询,如果找到了记录了,DNS就会返回给client,并且把记录保存在自己缓存里,下次有client请求,他就会调用自己的缓存,直到这条记录的生存期结束,就会丢弃这条记录。 根域名服务器就13台域名服务器,他负责管理顶级域。顶级域负责管理二级域,我们现在申请的一般是2级域名-3级域名。比如,哈是2级域名,是3级域名,.这个就是FQDN。本周我们要学习的内容主配置文件 设置根区域 设置主区域 设置反向解析区域 根服务器信息文件named.ca 区域文件 反向解析区域文件 实现负载均衡功能 实现直接解析域名 实现泛域名的解析 主要名称服务器的测试 配置辅助域名服务器 配置缓存域名服务器 我们申请的是域名,然后你去管理你的域名,自己添加主机记录哈其实是域名,前面的主机记录随便你怎么写,也行,也行,是域名,www是主机。 比如/url,./url 最后点是根域名,然后com是顶级域名,redhat是二级域名,www是主机记录,如果你要说/url是域名也可以,那么主机就改成是/url.了,在选择域名时必须符合RCF 1123中的规定:域名由所有大写字母(AZ)、小写字母(az)、数字(09)和连字符(-)组成。由于很多域名商,所以现在想申请到好的2及域名是不可能了,域名大小写不敏感。每台主机都有一个host文件,负责IP地址的域名快速解析的文件,文件以ASCII格式保存在“/etc”目录下,文件名为“hosts”,hosts文件包含了IP地址和主机名之间的映射,还包括主机名的别名。 hosts文件的格式如下: IP地址 主机名/域名 主机别名windows下也有hosts文件,C:WINDOWSsystem32driversetc 可以使用记事本打开如果host里有记录就会优先使用,这个文件也是黑客,和病毒软件攻击你的一个入口,如果某个病毒软件在这个文件添加一个记录 /url,然而前面这个IP地址是带有病毒的而已网站,或者是钓鱼攻击,你可能就会出问题,所以这个文件一般修改成只读,还有些第三方软件,为了防止一些木马之类的病毒,会把一些有问题的网站在自理定义,解析成,这样你就不会访问到这些网站,360就会这么干哈linux也有这个文件/etc/hosts好了,下面介绍下bind软件,Linux下架设DNS服务器通常是使用Bind程序来实现的。 Bind是Berkeley Internet Name Domain Service的简写,它是一款实现DNS服务器的开放源码软件。Bind原本是美国DARPA资助伯克里大学(Berkeley)开设的一个研究生课题,后来经过多年的变化发展,已经成为世界上使用最为广泛的DNS服务器软件,目前Internet上绝大多数的DNS服务器有都是用Bind来架设的。 DNS服务介绍后台进程:named 脚本:/etc/rc.d/init.d/named 使用端口:53(tcp,udp) 所需RPM包:bind-9.3.3-10.el5 相关RPM包:bind-chroot caching-nameserver 配置文件:/var/named/chroot/etc/named.conf 相关路径:/var/named/ 1990年以后,bind-chroot增加了bind服务器的安全性,早期Linux服务都是以root权限启动和运行的,随着技术的发展,各种服务变得越来越复杂,导致BUG和漏洞越来越多。黑客利用服务的漏洞入侵系统,能获得root级别的权限,从而控制整个系统。 为了减缓这种攻击所带来的负面影响,现在服务器软件通常设计为以root权限启动,然后服务器进程自行放弃root,再以某个低权限的系统账号来运行进程。这种方式的好处在于该服务被攻击者利用漏洞入侵时,由于进程权限很低,攻击者得到的访问权限又是基于这个较低权限。 bind的主配置文件/etc/named.conf ,我们先安装bind服务器 rootrhel5 # rpm -ivh /mnt/cdrom/Server/bind-9.3.3-10.el5.i386.rpm warning: /mnt/cdrom/Server/bind-9.3.3-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing. # 100% 1:bind # 100% rootrhel5 # rpm -ivh /mnt/cdrom/Server/bind-libbind-devel-9.3.3-10.el5.i386.rpm warning: /mnt/cdrom/Server/bind-libbind-devel-9.3.3-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing. # 100% 1:bind-libbind-devel # 100% rootrhel5 # rpm -ivh /mnt/cdrom/Server/bind-sdb-9.3.3-10.el5.i386.rpm warning: /mnt/cdrom/Server/bind-sdb-9.3.3-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing. # 100% 1:bind-sdb # 100% rootrhel5 # rpm -ivh /mnt/cdrom/Server/bind-devel-9.3.3-10.el5.i386.rpm warning: /mnt/cdrom/Server/bind-devel-9.3.3-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing. # 100% 1:bind-devel # 100% rootrhel5 # rpm -ivh /mnt/cdrom/Server/caching-nameserver-9.3.3-10.el5.i386.rpm warning: /mnt/cdrom/Server/caching-nameserver-9.3.3-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing. # 100% 1:caching-nameserver # 100% rootrhel5 # rpm -ivh /mnt/cdrom/Server/bind-chroot-9.3.3-10.el5.i386.rpm warning: /mnt/cdrom/Server/bind-chroot-9.3.3-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing. # 100% 1:bind-chroot # 100% rootrhel5 # 注意:bind-chroot软件包最好最后一个安装,否则会报错哈bind的配置文件默认是没有的,需要自己手写,但是很多,容易写错,所以我们安装模板文件,然后来修改。由于安装了chroot环境,所以我们的/etc/named.conf 应该在/var/named/chroot/etc/ 目录。没有named.conf,所以我们要把named.caching-name.conf文件copy一份成named.conf哈 cp /var/named/chroot/etc/named.caching-nameserver.conf /var/named/chroot/etc/named.conf 编辑named.conf这个文件,把文件里面多余的东西删除了,只剩下如图中的内容,然后我们来写先检查你主机的名字,使用hostname 记住,linux的主机名要是FQDN的样式,把你们自己的主机名字改改,不要最后的那个,这个很重要的。 刚才讲了FQDN最后有根域的,把那个跟域去掉,就是你的主机名,改成那个样子。linux修改主机名字修改三个地方,不知道大家还记得不? 第一步:hostname 主机名第二步:vim /etc/hosts第三步:vim /etc/sysconfig/network 修改完了把终端关闭了,然后重新打开就可以了修改完了,我们继续下面我以这个二级域名来建立一个域名服务器 全局配置(options ) options 语句在每个配置文件中只有一个。如果出现多个options, 则第一个options 的配置有效,并会产生一个警告信息。listen-on port 53 ; ;监听端口,修改成自己的IP地址,如果有多个IP,就写多个,每行要以;结束。directory /var/named;zone文件的存放目录,这里的/var/named 是相对目录,在chroot环境下/var/named目录下。allow-query localhost; ; 允许查询的client,我们修改成本地网段/24 下面我们开始写zone文件 区域配置(zone )zone 语句作用是定义DNS 区域,在此语句中可定义DNS 区域选项 zone区域设置,第一步,设置根区域 当DNS服务器处理递归查询时,如果本地区域文件不能进行查询的解析,就会转到根DNS服务器查询,所以在主配置文件named.conf文件中还要定义根区域。 zone . type hint; file named.ca; ; type:设置域的类型 file:设置根服务列表文件名“.” 意思的根区域 IN 是internet记录 type是类型 根的类型是hint file是根区域文件 下面我们去看看根区域文件,根的类型这些就是根服务器,你数数,全球13台。继续,指定正向解析的配置文件记住,bind对配置文件要求很严格,就算是有些地方多了个空格,服务器都可能启动不了哈反向解析配置文件一个简单的named.conf配置文件保存,然后我们去修改区别文件,添加记录cp /var/named/chroot/var/named/localhost.zone /var/named/chroot/var/named/.zone 是你刚才在named.conf里面定义的名字,记住,要和那个一样反向区域的zone名字,必须是这样的命令方式,把IP地址反过来表达vim /var/named/.zoneTTL是生存期,单位是秒$TTL是全局定义的第二行 SOA记录,取代在/etc/named.conf中指定的域名。SOA段中的数字,分别为:序列号、刷新、重试、过期、生存期序列号:序列号用于DNS数据库文件的版本控制。每当数据被改变,这个序列号就应该被增加。 刷新:从服务器向主服务器查询最新数据的间隔周期。每一次检查时从服务器的数据是否需要更改,则根据序列号来判别。 重试:一旦从服务器尝试连接主服务器失败,下一次查询主服务器的延迟时间。 过期:如果从服务器无法连通主服务器,则在经过此时间后,宣告其数据过期。 生存期:服务器回答 无此域名 的间隔时间。数字的默认单位为秒。否则:W= 周、D= 日、H= 小时、M= 分钟。下面我们来写自己的ZONE文件IN 是internet记录 SOA 是SOA 初始化记录,我们说的是初始授权记录,这个翻译不过,理解很多反正知道是那个意思就行了. 是DNS服务器的名称 . 是管理员的邮箱地址 版本号改成日期后面加两个00,其他都默认,下面开始添加主机记录第一个NS记录NS(name server):设置域名服务器的域名然后添加一个MX记录 MX (Mail eXchanger ): 设置邮件交换器资源记录简单的正向配置文件就到这里,下面接着讲反向解析的zone文件 把正向解析zone文件拷贝一份,名字是你在named.conf中定义的反向解析的名字cp /var/named/chroot/var/named/.zone /var/named/chroot/var/named/1.168.192..zone然后我们来修改反向解析vim /var/named/1.168.192..zoneSOA记录可以不修改,NS记录和MX记录也可以不修改 只需要把A记录修改成PTR记录就可以了,PTR是反向解析的意思,把IP地址解析成域名然后保存退出 配置文件就写完了,下面我们来使用配置文件检测工具来检测我们的配置文件语法是否正确 named-checkconf /var/named/chroot/etc/named.conf这个命令是检查named.conf主配置文件的,如果没有提示,就证明这个文件没有问题检测区域文件的语法 语法为named-checkzone 域名 配置文件两个配置文件都要检查named-checkzone /var/named/chroot/var/named/.zone named-checkzone /var/named/chroot/var/named/1.168.192..zone下一步就可以启动DNS服务了启动失败,我们来排错,把日志文件检测起来 tail -f /var/log/messageschmod 644 /var/named/chroot/etc/named.conf把named.conf配置文件的权限改成644就可以了,出现这些问题,大家就要学会分析日志。我们来配置client,然后来测试我们DNS服务器是否架设成功vim /etc/resolv.conf修改成自己的IP地址,然后保存我们现在来测试我们的DNS dig -t soa dig -t mx 这是dig 工具,查询 域中的SOA记录和MX记录dig /url 这是查询/urldig 这是查询dig -x 是反向查询dig -x 当然,还有简单的命令来查询dns解析,比如nslookup 和host 都可以查不到哈看下日志chmod 644 /var/named/chroot/var/named/.zone chmod 644 /var/named/chroot/var/named/1.168.192..zone现在正常了我们测试下nslookup 也可以,和win下的用法一样 #Michael分割线#下面我们使用DNS来实现简单的负载均衡这个技术在很早的时候被yahoo和163等网站使用实现过负载均衡,不过现在已经很少有企业这样做负载均衡了,因为这样负载均衡是随即的,他没有使用算法,不科学,但是我们也了解下吧,对于小企业还是可以考虑这样做的, 呵呵,真正的负载均衡听麻烦,不是三言两语说的清楚的,而且还要fence device的支持。回到正体,DNS负载均衡的原理给大家说说 DNS负载均衡的优点是经济简单易行,它在DNS服务器中为同一个域名配置多个IP地址(即为一个主机名设置多条A资源记录),在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的计算机上去,使得不同的客户端访问不同的服务器,从而达到负载均衡的目的。 我们下面给www主机做负载均衡 那个0是这个记录的生存期重新启动服务器 我们来测试下,我们用ping命令,测试ping /url是不是每次ping到的IP不一样ping了三次,每次ping到的主机都不一样,这样就简单的实现了负载均衡,现在国内负载均衡一般使用的lvs+heartbeat+HA,红帽有集群的专门解决方案GFS+conga+XEN LVS是集群技术,章文嵩教授开发的heartbeat 是心跳线 HA 是高可用性,解决方案 这个就涉及到fence device ,电源交换机,光纤存储交换机,FASTER ethernet交换机 心跳线是BS和备份BS之间通信,如果BS宕机了,备份BS马上起来取代BS的任务,BS是负载均衡服务器 提提,有兴趣的自己下去研究吧 下一个功能,直接解析域名我们在IE输入 也能访问到baidu,这个就是使用了直接解析域名现在我们没有直接解析域名,其实直接解析域名除了用在网站,还用在邮件服务器,这样就免去了编写出站表的麻烦事情,直接通过DNS的直接解析域来处理。这个就是直接解析域名的写法,注意后面有个点 重新启动服务器,然后我们来测试 看见没有,把MX记录也解析出来了实现连续解析域名在一个企业中,可能有上百台计算机,如果要为每一个计算机分配一个域名,如果一条一条的添加到域文件中,则相当耗时。$GENERATE 是函数 1-200 是要循环的变量 host$是主机名 192.168.1.$是对应的IP地址 反向解析我们也写上吧重启下服务哈现在1-200的主机我们都有解析了这就是效果了 说说实现泛域名的解析你们试过adfkjakldfjakldjf ,也能进入baidu的网站么?就是主机位置随便输入什么,都可以正确访问,我意思是主机名随便输入,以前baidu用来的,现在baidu没用泛域名了,用了直接域。泛域名很简单,就是用*匹配所有,但是注意了,这个解析要放在最后,应为ZONE文件是从上到下读取的,当上面的都不匹配的时候才会读取泛域名解析。保存退出,重启named服务哈这样也可以解析,厉害吧下面我们来测试辅助域名服务器这个需要两个服务器,用辅助域名服务器给主域名服务器备份,当然也可以指一个NS记录到辅助域名服务器,这样为主域名服务器减轻负载 在主DNS的zone区域加allow-transfer 语句,指名那个client可以来复制我的zone文件,这个参数也可以放在options字段,放options全局有效。 把主DNS的刷新时间改小点#Michael分割线#未完待续哈#Michael分割线#RHCE课程-RH253Linux服务器架设笔记五-DNS服务器配置(2) 2009-04-19 13:54:30标签:named DNS rhel5 RHCE zone推送到技术圈 版权声明:原创作品,谢绝转载!否则将追究法律责任。上季我们学习了,DNS的原理和bind软件的相关简介,还有安装架设了BIND软件的DNS服务器,还有就是正向区域和反向区域的一些技巧,今天我们要学的就是DNS的辅助服务器的架设,还有DNS的缓存域名服务器的架设这个需要两个服务器,用辅助域名服务器给主域名服务器备份,当然也可以指一个NS记录到辅助域名服务器,这样为主域名服务器减轻负载 我们先建立辅助DNS服务器,先配置主服务器端 1、打开named.conf配置文件,修改transfer 参数,允许备份服务器可以copy zone文件 在主DNS的zone区域加allow-transfer 语句,指定哪个client可以来复制我的zone文件,这个参数也可以放在options字段,放options全局有效。我修改的是全局的,这个参数放在全局和局部都可以,只是效果不一样,一个是影响全局,所有zone,一个是对一个zone起作用,一般我们把这个参数设置成anon 然后修改refresh参数和retry参数,分别改成15分钟和5分钟,方便我们测试,把主DNS的刷新时间改小点refresh的意思就是每15分钟备份服务器就要和主服务器同步数据 retry,是同步失败后,5分后重试 反向区域修改好后,就重新启动DNS服务器 下面我们开始配置备份的DNS服务器了我们先安装DNS相应软件包rootslavedns # mount /dev/cdrom /mnt/cdrom mount: block device /dev/cdrom is write-protected, mounting read-only rootslavedns # rpm -ivh /mnt/cdrom/Server/bind-9.3.3-10.el5.i386.rpm warning: /mnt/cdrom/Server/bind-9.3.3-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing. # 100% 1:bind # 100% rootslavedns # rpm -ivh /mnt/cdrom/Server/bind-libbind-devel-9.3.3-10.el5.i386.rpm warning: /mnt/cdrom/Server/bind-libbind-devel-9.3.3-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing. # 100% 1:bind-libbind-devel # 100% rootslavedns # rpm -ivh /mnt/cdrom/Server/bind-sdb-9.3.3-10.el5.i386.rpm warning: /mnt/cdrom/Server/bind-sdb-9.3.3-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 error: Failed dependencies: libpq.so.4 is needed by bind-sdb-9.3.3-10.el5.i386 rootslavedns # rpm -ivh /mnt/cdrom/Server/postgresql-libs-8.1.9-1.el5.i386.rpm warning: /mnt/cdrom/Server/postgresql-libs-8.1.9-1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing. # 100% 1:postgresql-libs # 100% rootslavedns # rpm -ivh /mnt/cdrom/Server/bind-sdb-9.3.3-10.el5.i386.rpm warning: /mnt/cdrom/Server/bind-sdb-9.3.3-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing. # 100% 1:bind-sdb # 100% rootslavedns # rootslavedns # rpm -ivh /mnt/cdrom/Server/bind-devel-9.3.3-10.el5.i386.rpm warning: /mnt/cdrom/Server/bind-devel-9.3.3-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing. # 100% 1:bind-devel # 100% rootslavedns # rpm -ivh /mnt/cdrom/Server/caching-nameserver-9.3.3-10.el5.i386.rpm warning: /mnt/cdrom/Server/caching-nameserver-9.3.3-10.el5.i386.rpm:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论