Linux系统操作实习李晓明毕静董燕举2015年7月Linux网络配置与管理DNS服务器配置与管理Web服务器配置与管理网络管理类命令DNS服务器配置与管理1DNS的基本概念和原理域名系统(DomainNameSystem,DNS),是一种分布式的、层次型的、客户机/服务器模式的数据库管理系统。DNS服务器功能主要有两个:(1)将域名转换成IP地址(俗称正向解析);(2)将IP地址转换成计算机的域名(俗称逆向解析)。域名系统的结构其结构类似于一棵倒置的树,由最顶端的根一层一层往下延伸。这样所组成的结构,即称为域的名称空间(DomainNameSpace).图9-1DNS域名结构图2DNS域名解析的工作原理2DNS域名解析的工作原理(1)DNS客户机提出域名解析请求,并将该请求发送给本地的域名服务器。(2)当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该记录项,则本地的域名服务器就直接把查询的结果返回。(3)如果本地的缓存中没有该记录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。2DNS域名解析的工作原理(4)本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该记录,则返回相关的下级的域名服务器的地址。(5)重复第4步,直到找到正确的记录。(6)本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。3DNS记录创建新主区域后,“域服务器管理器”会自动创建机构授权、名称服务器、主机等记录。除此之外,DNS数据库还包含其它的资源记录,用户可自行向主区域中进行添加。常见记录类型:P196表9-2资源记录说明SOA(起始授权机构)指示该DNS名称服务器是此DNS域中数据的最佳信息源NS(名称服务器)标识DNS域中的主DNS服务器和辅助DNS服务器A(主机)列出了区域中完全合格域名到IP地址的映射PTR(指针)列出了区域中IP地址到完全合格域名的映射CNAME(别名记录)将完全合格域名映射到另一个主要或规范名称(别名)MX(邮件交换器记录)完全合格域名映射到转发邮件的计算机的名称。(电子邮件应用程序发送邮件时根据收信人的地址后缀来定位邮件服务器,例如根据@126.com)。【主要区域】:是新区域的正本,负责在新创建区域的计算机上管理和维护本区域的资源记录。如果建新区域,则选择“主要区域”单选按钮。【辅助区域】:是现有区域的副本,主要区域中的DNS服务器将把区域信息传递给辅助区域中的DNS服务器。使用辅助区域的目的是,提供冗余,减少包含主要区域数据库文件的DNS服务器上的负载。辅助DNS服务器上的区域数据无法修改,并且所有数据都是从主DNS服务器复制而来。4DNS服务器类型4Linux中DNS服务器的安装和配置BIND是个被广泛使用的DNS服务器软件,它提供了强大及稳定的域名解析服务。RedHatLinux选用BIND来实现域名服务。BIND的全名是BerkeleyInternetNameDomain,最初是由加州大学柏克莱分校所开发的BSDUNIX中的一部份,目前则由ISC组织负责维护与发展。4Linux中BIND服务器软件的安装与服务的启动(1)Ubuntu联网:(要求连接到外网上)进入虚拟机的vm-settings点击networkAdapter中上网方式选为NAT。在虚拟机的菜单中点击Edit-virtualnetworkeditor,点击VMnet8,DHCP和NAT设置成开启就可以了(宿主Windows这两个服务也要开)!!!记住把上面的这个设置完之后重启一遍虚拟机里面的系统之后就好了!!(2)安装DNS在命令终端输入:sudoapt-getinstallbind94配置Linux中的主DNS服务器(1)使用编辑器,比如vi,编辑配置文件/etc/bind/named.conf注:在ubuntu中还有一个/etc/bind/named.conf.local(效果相同)sudovi/etc/bind/named.conf.local加入如下内容zonebijing.com{typemaster;//定义此区为主服务器file/etc/bind/db.bijing;//指定区资源文件的位置};zone102.168.192.in-addr.arpa{typemaster;//定义此区为主服务器file/etc/bind/db.192;//指定区资源文件的位置};4配置Linux中的主DNS服务器(2)创建区资源文件:创建区资源文件/etc/bind/db.bijing内容如下;BINDdatafileforlocalloopbackinterface$TTL604800$ORIGINbijing.com.@INSOAbijing.com.root.bijing.com.(2006080401;Serial604800;Refresh86400;Retry2419200;Expire604800);NegativeCacheTTL@INNSns@INMX0mail.bijing.com.@INA192.168.102.47nsINA192.168.102.47服务器说明:第一行是TTL设定,生存时间记录字段。它以秒为单位定义该资源记录中的信息存放在高速缓存中的时间长度。这里定义为604800秒,也就是1周.第二行是$ORIGIN设定,说明下面的记录出自何处.请加倍留意最后的一个小小数点.然后,第三行,是一个SOA记录的设定,在这里我们看到一个特殊字符@,它就是ORIGIN的意思,也就是刚刚所定义的$ORIGINbijing.com.的内容,可以写成bijing.com.也可以用@来代替。假如这个文件前面没有定义$ORIGIN的话,那這个@的值就以named.conf里的zone.接着SOA后面,指定了这个区域的授权主机和管理者的信箱,这里分别是bijing.com.和root.bijing.com.。我们平时使用的信箱通常是“user@host”这样的格式,但因为@在DNS记录中是个保留字符,所以在SOA中就用“.”来代替了@。目前这个信箱是root@bijing.com.。4配置Linux中的主DNS服务器接下来的SOA设置,是被括在“()”之间的5组数字,主要作为和slave服务器同步DNS资料所使用的资料:•Serial:其格式通常会是“年月日+修改次序”(但也不一定如此,自己能够记得就行)。当slave要进行资料同步的时候,会比较这个号码。如果发现在这里的号码比它那边的数值“大”,就进行更新,否则忽略。不过设serial有一个地方要留意:不能超过10位数字!•Refresh:这里是是告诉slave要隔多久要进行资料同步(是否同步要看Serial的比较结果)。•Retry:如果slave在进行更新失败后,要隔多久再进行重试。•Expire:这是记录逾期时间:当slave一直未能成功与master取得联系,那到这里就放弃retry,同时这里的资料也将标识为过期(expired)。•Minimum:这是最小默认TTL值,如果在前面没有用“$TTL”来定义,就会以此值为准。4配置Linux中的主DNS服务器请注意:SOA记录中这对“()”符号之第一个“(”括号一定要和SOA写在同一行,而不能用Enter断行到下一行去,而且其左边最好有一个空格键或tab建。而最后一个“)”括号也不能写在注解符号“;”的右边。置DNS的RR记录档,其格式要求非常严格,我们丝毫不能掉以轻心。比方说:如果句子不是以空格键、Tab键、或注解符号(;)开头,也不在SOA的“()”之内,则表示要定义一个“新记录项(Entry)”;如果句子是以空格键或tab键开始的话,其设置被视为上一个“记录项”的内容。所以,如果要为“同一个记录项”定义多个记录设置,而不想重复打字,倒可以偷懒:在接着它的后面几行用空白或Tab来缩排就可以了。•NS表明负责bijing.com.这个域的NameServer是bijing.com这台主机•MX记录标明发往bijing.com域的邮件由mail.bijing.com这台服务器接收•A记录标明了IP地址和域名之间的对应关系4配置Linux中的主DNS服务器(3)接下来创建该区的反向映射资源文件/etc/bind/db.192内容如下:;BINDreversedatafileforlocalloopbackinterface$TTL604800@INSOAbijing.com.root.bijing.com.(2006080401;Serial604800;Refresh86400;Retry2419200;Expire604800);NegativeCacheTTL@INNSbijing.com.47INPTRmail.bijing.com.47INPTR服务器(4)重启DNS服务sudo/etc/init.d/bind9restart注:DNS服务只对该服务启动前本机的ip地址有效,具体状况可通过sudonetstat-atnpl查询(端口53)此时查看系统日志,可了解BIND的启动情况,比如如下输出,则说明引导正常#tail/var/log/syslogAug1408:36:45localhostnamed[2792]:zone127.in-addr.arpa/IN:loadedserial1Aug1408:36:45localhostnamed[2792]:zone102.168.192.in-addr.arpa/IN:loadedserial2006080801Aug1408:36:45localhostnamed[2792]:zone255.in-addr.arpa/IN:loadedserial14配置Linux中的主DNS服务器(5)DNS服务器连接到本地的局域网,设置IP为192.168.102.47进入虚拟机的vm-settings点击networkAdapter中上网方式选为“桥接”注意:如果你的Ubuntu在虚拟机上安装的,如果你之前设置了DHCP和NAT的联网方式,请在虚拟机的菜单中点击Edit-virtualnetworkeditor,点击VMnet0!!!(可能需要重启系统)方法1:使用命令设置DNS服务器的ip地址sudoifconfigeth0192.168.102.47netmask255.255.255.0这样就算设置好了网卡eth0的IP地址和子网掩码不过,这样设置之后,下次开机时候似乎IP又不存在了。4配置Linux中的主DNS服务器方法2:直接修改系统配置文件ubuntu的网络配置文件是:/etc/network/interfaces打开后里面可设置DHCP或手动设置静态ip。前面autoeth0,让网卡开机自动挂载.。编辑文件/etc/network/interfaces:sudovi/etc/network/interfaces并用下面的行来替换有关eth0的行:#Theprimarynetworkinterfaceautoeth0ifaceeth0inetstaticaddress192.168.102.47netmask255.255.255.0gateway192.168.1