《网络服务器》PPT课件.ppt
2023/7/29,第十章 网络服务器,1,第十章 网络服务器,重点:10.1 Samba服务器10.2 WWW服务器10.3 DNS服务器10.4 FTP服务器难点:Samba服务器中的各种参数设置、dns服务器的正向、反向解析,www服务器中的基于ip地址与基于域名的虚拟主机。FTP服务器工作原理、配置。计划课时:20节。多媒体+实验,2023/7/29,第十章 网络服务器,2,10.1 Samba服务器,一、Samba服务器简介 Linux 是一个优秀的操作系统,尤其是它的网络功能,可以与各种操作系统轻松连接,实现多种网络服务。由于Linux系统的高稳定性和可靠性,以及低廉的价格,使它受到越来越多用户的青睐。在一些中小型网络,或者企业的内部网中,利用Linux建立文件服务器是一个很好的解决方案。针对企业内部网中的绝大部分客户机采用Windows的情况,我们可以通过使用Samba来实现文件服务器功能。Samba是在Linux及Unix上实现SMB(Server Message Block)协议的一个免费软件,由服务器及客户端程序构成。,2023/7/29,第十章 网络服务器,3,10.1 Samba服务器,SMB协议是建立在NetBIOS协议之上的应用协议,是基于TCP138、139两个端口的服务。NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统。这个系统基于NetBIOS设定了一套文件共享协议,Microsoft称之为SMB(Server Message Block)协议。这个协议被用于Lan Manager和Windows服务器系统中,实现不同计算机之间共享打印机和文件等。因此,为了让Windows和Unix/Linux计算机相集成,最好的办法就是在Unix/Linux计算机中安装支持SMB协议的软件。这样使用Windows的客户端不需要更改设置,就能像使用Windows NT或Windows 2000服务器一样,使用Unix/Linux计算机上的共享资源了。Samba使SMB协议运行在NetBIOS协议上,并且使用Windows的NetBEUI协议让Unix/Linux服务器可以在Windows的网络邻居上被访问到。,2023/7/29,第十章 网络服务器,4,10.1 Samba服务器,Samba的服务器程序可以实现以下主要功能:文件及打印共享;计算机名与IP的解析;WINS服务的支持;用户权限设置(如果配合Linux 的Quota还可以实现用户磁盘空间配额)。,2023/7/29,第十章 网络服务器,5,10.1 Samba服务器,二、Samba服务器的安装与测试1、Samba服务器软件的测试在安装前可用在终端以下命令测试当前linux系统中有没有安装Samba服务器。rpm qa|grep samba如果已安装应会显示smaba*(*号表示版本号)Samba-client*Samba-common*system-config-samba*(samba服务器图形化配置工具,可选择安装)如无显示则表示当前Linux系统没有安装任何版本的Samba软件包.,2023/7/29,第十章 网络服务器,6,10.1 Samba服务器,2、Samba服务器软件的安装(1)、利用桌面安装Samba服务器 需要有安装盘。步骤:在桌面环境下单击主菜单|系统设置|删除或添加软件包|,在服务器标签下的Windows文件服务器选项前打钩,然后 在打开服务器配置工具的细节在其中选Samba服务器配置 工具。,2023/7/29,第十章 网络服务器,7,10.1 Samba服务器,(2)下载官方压缩文件安装Samba服务器可在网站下载各种版本的Samba服务器软件包.然后依次输入命令:tar zxvf samba*-解压软件包 cd samba*-指向该目录./configure-编译 make install-安装,2023/7/29,第十章 网络服务器,8,10.1 Samba服务器,三、Samba服务器配置基础1、smb.conf文件该文件由三个标准节和若干个用户自定义的共享节组成。smb.conf含有多个段,每个段由段名开始,直到下个段名。每个段名放在方括号中间。每段的参数的格式是:名称=指。配置文件中一行一个段名和参数,段名和参数名不分大小写。除了global段外,所有的段都可以看作是一个共享资源。段名是该共享资源的名字,段里的参数是该共享资源的属性。,2023/7/29,第十章 网络服务器,9,10.1 Samba服务器,(1)、Global节:定义Samba服务器的全局参数config file=/usr/local/samba/lib/smb.conf.%m/etc/samba/smb.conf文件保存了Samba服务器的全部配置信息。说明:config file可以让你使用另一个配置文件来覆盖缺省的配置文件。如果文件不存在,则该项无效。这个参数很有用,可以使得samba配置更灵活,可以让一台samba服务器模拟多台不同配置的服务器。比如,你想让PC1(主机名)这台电脑在访问Samba Server时使用它自己的配置文件,那么先在/etc/samba/host/下为PC1配置一个名为的文件,然后在 smb.conf中加入:config file=/etc/samba/host/smb.conf.%m。这样当PC1请求连接Samba Server时,smb.conf.%m就被替换成。这样,对于PC1来说,它所使用的Samba服务就是由 定义的,而其他机器访问Samba Server则还是应用smb.conf。,2023/7/29,第十章 网络服务器,10,workgroup=Samba Server 指定工作组的名称server string=Samba Server 此主机的注释说明Host allow=192.168.1.192.168.2.127.允许访问该samba服务器的IP地址范围,默认允许所有的IP访问 说明:表示允许连接到Samba Server的客户端,多个参数以空格隔开。可以用一个IP表示,也可以用一个网段表示。host deny 与hosts allow 刚好相反。例如:host allow=172.17.2.EXCEPT172.17.2.50 表示容许来自172.17.2.*.*的主机连接,但排除172.17.2.50 host allow=172.17.2.0/255.255.0.0 表示容许来自子网中的所有主机连接,10.1 Samba服务器,2023/7/29,第十章 网络服务器,11,10.1 Samba服务器,host allow=M1,M2 表示容许来自M1和M2两台计算机连接 host allow=xq 表示容许来自XQ网域的所有计算机连接 Smb passwd file=/etc/samba/smb/passwd 密码文件位置guest account=nobody 指定guest所使用的账号,否则为nobody,2023/7/29,第十章 网络服务器,12,10.1 Samba服务器,Security=share 设置安全等级,此模式下,用户不需密码说明:设置用户访问Samba Server的验证方式,一共有四种验证方式。1.share:用户访问Samba Server不需要提供用户名和口令,安全性能较低。2.user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。3.server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用 Windows NT进行Samba认证,远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。4.domain:域安全级别,使用主域控制器(PDC)来完成认证。Encrypt passwords=yes 密码采取加密的方式,2023/7/29,第十章 网络服务器,13,10.1 Samba服务器,log file=/var/log/samba/%m.log 设置记录文件储 存的位置printcap name=/etc/printcap 打印机配置文件的位置load printers=yes 是否加载打印机配置文件printcapMax log size=1000 记录文件最大不超过1000KB,2023/7/29,第十章 网络服务器,14,10.1 Samba服务器,Share Definitions 针对每个共享资源的设置(2)home、Printers、与用户自定义节包括共享资源参数 homes当用户请求一个共享时,服务器将在存在的共享资源段中去寻找,如果找到匹配的共享资源段,就使用这个共享资源段。如果找不到,就将请求的共享名看成是用户的用户名,并在本地的password文件里找这个用户,如果用户名存在且用户提供的密码是正确的,则以这个home段克隆出一个共享提供给用户。这个新的共享的名称是用户的用户名,而不是homes,如果home段里没有指定共享路径,就把该用户的宿主目录(homedirectory)作为共享路径。Printers 打印机共享资源选项节。,2023/7/29,第十章 网络服务器,15,10.1 Samba服务器,comment=Home Directories说明文字path=共享目录路径 说明:path用来指定共享目录的路径。可以用%u、%m这样的宏来代替路径里的unix用户和客户机的Netbios名,用宏表示主要用于homes 共享域。例如:如果我们不打算用home段做为客户的共享,而是在/home/share/下为每个Linux用户以他的用户名建个目录,作为他的共享目录,这样path就可以写成:path=/home/share/%u;。用户在连接到这共享时具体的路径会被他的用户名代替,要注意这个用户名路径一定要存在,否则,客户机在访问时会找不到网络路径。同样,如果我们不是以用户来划分目录,而是以客户机来划分目录,为网络上每台可以访问samba的机器都各自建个以它的netbios名的路径,作为不同机器的共享资源,就可以这样写:path=/home/share/%m。,2023/7/29,第十章 网络服务器,16,10.1 Samba服务器,browseable=yes/no 说明:browseable用来指定该共享是否可以浏览。writable=yes/no 说明:writable用来指定该共享路径是否可写 是否可以进行写操作,这里要提到的就是系统的目录权限永远大于samba设定的权限!这是设的是可写的权限,但这个目录权限是不可写的用户在访问的时候是不能写入的!valid users=允许访问该共享的用户 说明:valid users用来指定允许访问该共享资源的用户。例如:valid users=bobyuan,bob,tech(多个用户或者组中间用逗号隔开,如果要加入一个组就用“+组名”表示。),2023/7/29,第十章 网络服务器,17,10.1 Samba服务器,invalid users=禁止访问该共享的用户 说明:invalid users用来指定不允许访问该共享资源的用户。例如:invalid users=root bob(多个用户或者组中间用空格隔开。)public=yes/no 说明:public用来指定该共享是否允许guest账户访问。guest ok=yes/no 说明:意义同“public”。Only guest=yes/no 说明:指定是否只允许guest账号访问 Create mode=0664 文件默认的权限Directory mode=0775目录默认的权限,2023/7/29,第十章 网络服务器,18,10.1 Samba服务器,printers 该字段用于设置共享打印机Comment=ALL Printers说明文字path=/var/spool/samba 打印机队列(spool)的位置#Set public=yes to allow user guest account to printwritable=no 用户是否可写入printable=yes用户是否以打印注意:“read only=”与“writable=”是反义词,即“read only=no”与“writable=yes”有相同的作用。允许读写的权限,2023/7/29,第十章 网络服务器,19,10.1 Samba服务器,2、桌面环境下配置Samba服务器比较简单的配置Samba服务器的方法,需安装Samba服务器的配置工具。具体配置在实验中完成,这里介绍配置注意事项:(1)、配置服务器参数 主要有工作组、验证模式、加密口令、是否有来宾账号等。与smb.conf中的workgroup、security、encrypt passwords、guest ok参数用法一致。Samba 服务器与Windows计算机可处于同一工作组也可不在同一工作组,如在同一工作组速度快一些。,2023/7/29,第十章 网络服务器,20,10.1 Samba服务器,(2)、配置Samba用户 Samba用户必须是Linux中的用户,才能将其设置为Samba用户以及设置其Samba用户的口令,设置在Windows计算机中的用户名。(3)、配置共享目录 可设置共享目录的路径、基本权限(只读或可读写)、是否是指定用户访问(如果选所有用户访问那么都可以访问这个共享目录),Samba服务器根据用户访问可分为共享级别与用户级别两类:架设共享级别的Samba服务器时不需要创建Samba用户,即所有用户都可访问。架设用户级别的Samba服务器时,则必须创建Samba用户并设置口令,只有当Samba用户名与口令正确时才可访问。,2023/7/29,第十章 网络服务器,21,10.1 Samba服务器,3、编辑文件配置Samba服务器(1)利用Shell命令命令配置Samba服务器Smbpasswd a 用户名 功能:将Linux用户设置为Samba用户,并设置口令。无-a选项时可修改已有Samba用户的口令。Testparm 命令功能:测试配置文件是否正确,如果显示出“Loaded services file OK”说明Samba服务器的配置文件完全正确。注意:在虚拟机下配置Samba服务器需要关闭SElinux,方法是Vi/etc/selinux/config 写入SElinux=disabled,防火墙也需关闭或打开相应服务,另外还需设置独立IP地址。,2023/7/29,第十章 网络服务器,22,10.1 Samba服务器,Smbclient-L NetBIOS名|IP地址 共享资源路径-U 用户名功能:查看或访问Samba共享资源。如 smbclient L 192.168.46.233 U jerry查看IP地址为的Samba服务器jerry用户可访问的共享资源。如smbclient/windows2000/rong访问名为windows2000的计算机提供的共享目录rong。输入口令后可进入以smb:为提示符的状态,输入?可显示出所有可用的命令,常用的有get可将共享目录中的文件复制到本地机,put命令可将本地机中的文件复制到共享目录。Quit是退出。,2023/7/29,第十章 网络服务器,23,10.1 Samba服务器,Smbmount/主机名|IP地址/共享目录 挂载点功能:挂载共享目录。如:smbmount/windows2000/rong/mnt/smb输入口令后可直接进入/mnt/smb目录对文件进行各种操作。,2023/7/29,第十章 网络服务器,24,10.1 Samba服务器,四、配置Samba服务器实例硬件条件:两台计算机,一台安装RHEL 3AS,另一台安装Windows2000,用集线器连接。1、建立Samba服务器的应用环境,配置Linux计算机,其IP地址为,主机名为rhel3,并取消防火墙。以超级用户身份登录到图形化用户界面,依次单击主菜单|系统设置|网络,打开“网络配置”窗口。选中eth0网卡,单击工具栏上的“编辑”按钮,出现“以太网设备”对话框,将网卡的IP地址设置为,子网掩码为,单击“确定”按钮,回到“网络配置”窗口。选中DNS”选项卡,将计算机的主机名设置为rhel3。选中“主机”选项卡,并单击工具栏上的“新建”按钮,弹出“添加编辑主机项目”对话框,“地址”文本框中输入主机的IP地址“192.168.0.10”,“主机名”文本框中输入主机名“rhel3”,单击“确定”按钮,回到“网络配置”窗口。单击“设备”选项卡,选中eth0网卡,先单击工具栏上的“解除按钮,再单击“激活”按钮,重新启动网卡。单击“文件”菜单中的“保存”,弹出对话框,单击“确定”按钮。最后关闭“网络设置”窗口。依次单击主菜单|系统设置|安全级别,从“安全级别”下拉列表中选择“取消防火墙”,并单击“确定”按钮。弹出确认对话框,单击“是”按钮。,2023/7/29,第十章 网络服务器,25,10.1 Samba服务器,2、配置Windows计算机,其IP地址为,主机名为Windows2000,所属工作组为net。启动Windows2000计算机后,打开控制面板,双击“网络和拨号连接”图标,打开“网络和拨号连接”窗口。右键单击“本地连接”,弹出快捷菜单,选中“属性”,弹出“本地连接属性”对话框,确认是否已安装NetBlOS协议和TCPIP协议,否则安装运两个协议。选中“Intemet协议(TCPIP)”,设置TCPIP协议的属性,设置p地址为,子网掩码为,最后关闭“本地连接属性”对话框。打开控制面板,双击“系统”图标,选中“网络标识”选项,单占“属性”按钮,弹出“标识更改”对话框,将计算机名没置为Windows2000,工作组设置为net,单击“确定”按钮。根据系统提示,重新启动计算机。单击“开始”菜单中的“运行”,输入命令“ping 192.168.0.10”,测试网络连接是否通畅。,2023/7/29,第十章 网络服务器,26,10.1 Samba服务器,3、配置共享级的Samba服务器,将Linux计算机中的tmp目录设置为共享目录。利用Nautilus文件管理器,备份配置文件/etc/samba/smb.conf,以保证即使Samba服务器的配置错误也可以恢复到初始设置。在/tmp目录下新建两个文件,abctxt和xyztxt。修改xyz文件的属性,设置所有用户都可以读写xyz文件。依次单击主菜单|系统设置|服务器设置|Samba服务器”,打开“Samba服务器配置”窗口。单击工具栏上的“添加”按钮,弹出“创建Samba共享”窗口。在“基本”选项卡中的“目录”文本框中输入共享的目录“/tmp”,并选择“基本权限”栏的“读写”。在“访问”选项卡中选择“允许所有用户访问”。单击“首选项”菜单中的“服务器设置”,在“基本”选项卡的“工作组”文本框中输入当前工作组名“net,并在“安全性”选项卡中,选择“验证模式”下拉列表中的“共享”即可,最后关闭“Samba服务器配置”窗口。依次单击“主菜单”一“系统设置”一“服务器设置”一“服务”,打开“服务配置”窗口,从左侧选择smb服务,然后单击工具栏的“开始”按钮,启动Samba服务。,2023/7/29,第十章 网络服务器,27,10.1 Samba服务器,4、访问Linux共享目录,Windows2000计算机上双击桌面上的“网上邻居”图标,弹出“网上邻居”窗口。双击“邻近的计算机”图标,出现两台计算机,名为Windows2000和RHEL3。双击名为RHEL3的计算机,即访问Linux计算机,出现共享目录tmp和打印机图标。双击tmp目录图标,显示该共享目录中的所有文件和目录。双击abc.txt文件可查看其内容,但是不能修改其内容,因为abctxt的所有者是超级用户,其他用户只拥有读权限而没有写权限。由于修改过xyz.txt的属性,双击xyz.txt文件不仅可查看其内容,并且还能修改其内容。,2023/7/29,第十章 网络服务器,28,10.1 Samba服务器,5、配置用户级的Samba服务器,新建smbconf文件,令用户可访问Linux计算机中其个人主目录和tmp目录。按下Ctrl+Alt+F2组合键,切换到第2个虚拟终端,以超级用户身份登录Linux。启动Vi屏幕文本编辑器,新建smb.conf文件并保存在etcsamba目录,其内容为:global Workgroup=net security=user homes comment=Home Directory browseable=no writable=yes tmp path=/tmp writable=yes 测试Samba配置文件的正确性,输入“testparm”命令。如果出现错误信息,则应修改smb.conf文件,保证输入无误。,2023/7/29,第十章 网络服务器,29,10.1 Samba服务器,6、创建Linux用户david,并将其设置为Samba用户。创建新用户david,输入“useradd david”命令。设置david用户的口令,输入“passwd david”命令后,根据屏幕提示输入两次口令。按下Alt+F3组合键,切换到第3个虚拟终端,以david用户身份登录Linux系统,默认进入david用户的主目录,创建一个新文件david.txt。按下ALT+F2组合键回到以超级用户身份登录的虚拟终端,输入命令smbpasswd-adavid后,输入两次Samba用户的口令将david用户添加为Samba用户并设置口令。输入“service smb restart命令,重新启动Samba服务。,2023/7/29,第十章 网络服务器,30,10.1 Samba服务器,7、访问Linux共享目录,在Windows 2000计算机上双击桌面上的“网上邻居”图标,找到名为RHEL3的计算机。双击RHEL3计算机,弹出对话框,输入用户名david和其Samba口令,则显示出david用户的主目录、tmp目录以及打印机图标。双击david目录则可查看用户主目录的文件,并可进行各项文件操作。,2023/7/29,第十章 网络服务器,31,10.1 Samba服务器,8、访问Windows共享,桌面环境下访问Windows共享目录。在Windows2000计算机上打开控制面板,双击“网络和拨号连接”图标,打开“网络和拨号连接”窗口。右键单击“本地连接”,弹出快捷菜单选中“属性”,弹出“本地连接属性”对话 框,查看是否已安装“Windows网络的文件和打印机共享”服务,否则安装这一 服务。在Windows计算机中新建share目录,并在share目录中新建两个文件 Sabc。Txt和,sxyz。txt,并将share目录设置为共享目录。Linux计算机按下Alt+F7组合键,切换回桌面环境。单击“主菜单”中的“网络服务器”,首先显示出当前网络的工作组net,双击net工作组,显示此工作组中的两台计算机,名为Windows2000和RHEL3。双击Windows2000计算机,弹出“需要验证”对话框,输入Windows计算机中的用户名和口令,则显示共享目录share。双击share目录可查看其包含的文件,并可进行各项文件操作。,2023/7/29,第十章 网络服务器,32,10.1 Samba服务器,9、利用Shell命令访问Windows共享目录。按下Ctrl+Alt+F2组合键回到以超级用户身份登录的虚拟终端,输入命令smbclient-L localhost,屏幕显示“Passwd”字样,直接按Enter键,可显示出Linux计算机提供共享的目录。输入命令“smbclient/windows2000/share”,显示“Passwd”字样,直接按Enter键,出现“smb:”提示符。在“stub:”提示符后输入“?”,可查看smb提供的所有命令。在“smb:”提示符后输入“get sabc.txt命令,可将Windows共享目录中sabc.txt下载到Linux计算机中的etcsamba目录。最后输入“quit,退出stub工作环境。,2023/7/29,第十章 网络服务器,33,10.2 DNS服务器,一、什么是DNS1、DNS简介 DNS 是域名解析系统(Domain Name System)的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。DNS 命名用于 Internet 等 TCP/IP 网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息,如 IP 地址。因为,你在上网时输入的网址,是通过域名解析系解析找到相对应的IP地址,这样才能上网。其实,域名的最终指向是IP。DNS服务器是指:域名服务器(Domain Name Server)。在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。,2023/7/29,第十章 网络服务器,34,10.2 DNS服务器,2、DNS服务器作用 DNS服务器在互联网的作用是:把域名转换成为网络可以识别的ip地址。首先,要知道互联网的网站都是一台一台服务器的形式存在的,但是我们怎么去到要访问的网站服务器呢?这就需要给每台服务器分配IP地址,互联网上的网站无穷多,我们不可能记住每个网站的IP地址,这就产生了方便记忆的域名管理系统DNS,他可以把我们输入的好记的域名转换为要访问的服务器的IP地址.,2023/7/29,第十章 网络服务器,35,10.2 DNS服务器,也就是为了方便我们浏览互联网上的网站而不用去刻意记住每个主机的IP地址,DNS服务器就应运而生,提供将域名解析为IP的服务,从而使我们上网的时候能够用简短而好记的域名来访问互联网上的静态IP的主机。它能够把形如这样的域名转换为这样的IP地址;没有DNS,浏览这个网站时,就必须用这么难记的数字来访问,2023/7/29,第十章 网络服务器,36,10.2 DNS服务器,3、DNS服务器是如何进行域名解析的 拥有自己的域名后,需要DNS服务器来解析您的域名。解析的作用就是告知你的访问者,你的网站是处于在哪个IP的主机上。DNS服务器是由你的域名注册公司来提供的,如果你在某公司注册域名,就由该公司来提供,你不需要做任何设置,只需保持默认选项即可。你可以随时更改您域名的设置,比如可以让它指到不同的IP。当你更改了域名的设置时,全世界的DNS服务器也将会一一被通知到。这样,全世界的互联网用户也将一一被引导到您新的主机。通知是有一个过程的,如果让全世界的DNS服务器都刷新并了解到你的改动,约需要24个小时。,2023/7/29,第十章 网络服务器,37,DNS域名空间的结构,2023/7/29,第十章 网络服务器,38,DNS解析过程,.,2023/7/29,第十章 网络服务器,39,域名解析过程,(1)客户机提出域名解析请求,并将该请求发送给本地的域名服务器。(2)本地的域名服务器收到请求后,先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。(3)如果本地的缓存中没有该记录,则本地域名服务器把请求发给根域名服务器,根域名服务器返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。(4)本地服务器向上一步返回的域名服务器发送请求,接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级域名服务器的地址。(5)重复第四步,直到找到正确的纪录。(6)本地域名服务器将结果返回给客户机;同时把返回的结果保存到缓存,以备下次使用。,2023/7/29,第十章 网络服务器,40,DNS服务器的类型,4、DNS服务器的类型BIND可以配置成以几种不同的方法运行的DNS,常见的BIND配置是转换程序系统、唯高速缓存系统、主服务器和辅助服务器。(1)转换程序 转换程序是一段要求域名服务器提供域信息的程序,在Linux系统中,它是作为一个库程序来实现的,不是一个单独的客户程序。在唯转换程序系统中,仅使用转换程序,并不运行域名服务器。这种系统是很容易配置的,最多只需要设置/etc/resolv.conf文件。其它三个BIND配置选项都是用于named服务软件的。,2023/7/29,第十章 网络服务器,41,DNS服务器的类型,(2)唯高速缓存服务器 唯高速缓存服务器(caching-only server)可运行域名服务器软件但是没有域名数据库软件。它从某个远程服务器取得每次域名服务器查询的回答,一旦取得一个答案,就将它放在高速缓存中,以后查询相同的信息时就用它予以回答。所有的域名服务器都按这种方式使用高速缓存中的信息,但唯高速缓存服务器则依赖于这一技术提供所有的域名服务器信息。唯高速缓存服务器不是权威性服务器,因为它提供的所有信息都是间接信息。对于唯高速缓存服务器只需要配置一个高速缓存文件,但最常见的配置还包括一个回送文件,这或许是最常见的域名服务器配置。接着才是唯转换程序配置,它是最容易配置的。,2023/7/29,第十章 网络服务器,42,DNS服务器的类型,()主服务器 主服务器(primary name server)是特定域所有信息的权威性信息源。它从域管理员构造的本地磁盘文件中加载域信息,该文件(区文件)包含着该服务器具有管理权的一部分域结构的最精确信息。主服务器是一种权威性服务器,因为它以绝对的权威去回答对它域的任何查询。配置主服务器需要一整套配置文件,包括正向域的区文件(named.zone)和反向域的区文件(named.rev)、引导文件(named.conf)、高速缓存(named.ca)和回送文件(named.local),其它的配置都不需要这样一整套文件。,2023/7/29,第十章 网络服务器,43,DNS服务器的类型,()辅助域名服务器 辅助域名服务器(secondary name server)可从主服务器中转移一整套域信息。区文件是从主服务器中转移出来的,并作为本地磁盘文件存储在辅助服务器中。这种转移称为“区文件转移”。在辅助域名服务器中有一个所有域信息的完整拷贝,可以有权威地回答对该域的查询,因此,辅助域名服务器也称作权威性服务器。配置辅助域名服务器不需要生成本地区文件,因为可以从主服务器中下载该区文件。然而其它的文件是确是需要的,包括引导文件、高速缓存文件和回送文件。一个域名服务器可以是这类配置中的任何一种,但经常是将多种配置类型的元素组合在一起。然而所有的系统都要运行转换程序。,2023/7/29,第十章 网络服务器,44,DNS常用术语,5、DNS常用术语DNS是一个很复杂的概念,下列是常用的DNS术语。域 代表网络一部分的逻辑实体或组织 域名 主机名的一部分,它代表包含这个主机的域。它可以和域交换使用 主机 网络上的一台计算机 节点 网络上的一台计算机,2023/7/29,第十章 网络服务器,45,10.2 DNS服务器,域名服务器 提供DNS服务的计算机,它将DNS名字转化为IP地址 解析 把一个DNS服务器转化为与其相映的IP地址的过程 解析器 从域名服务器中提取DNS信息的程序或库子程序.反向解析 将给出的IP地址转化为其相映的DNS名字 欺骗 使网络看上去好象具有不同的IP地址或域名的行为,2023/7/29,第十章 网络服务器,46,10.2 DNS服务器,6、安装DNS服务器 在Linux中,域名服务(DNS)是由柏克莱网间名域(Berkeley Internet Name DomainBIND)软件实现的。BIND是一个客户/服务系统,它的客户方面称为转换程序(resolver),它产生域名信息的查询,将这类信息发送给服务器,DNS软件回答转换程序的查询。BIND的服务方面是一个称为named(读作“name”“d”)的守护进程。,2023/7/29,第十章 网络服务器,47,10.2 DNS服务器,我们将讨论三种基本BIND配置任务:配置BIND转换程序。配置BIND域名服务。建立服务器数据库文件,称为“区文件(zone file)。前面我们介绍过,术语“区(zone)”往往可以与单词“域(domain)”互换使用,但这里却有一些区别,“区”是指域数据库文件,而“域”则比较通用。在本书中,域是用域名定义的域结构中的一部分,而区则是域数据库文件中包含域信息的集合,包含域信息的文件称为“区文件”。DNS的作用是把IP地址转化为代表主机、网络和邮件别名的助记名。它把整个Internet IP地址和名字空间分解为不同的逻辑组来做这项工作。每个组对它所拥有的计算机和其他信息具有控制权。,2023/7/29,第十章 网络服务器,48,10.2 DNS服务器,二、DNS配置基础DNS域名服务器相关文件:(1)主配置文件:/etc/named.conf 用于设置DNS服务器的全局参数,并指定区域文件名及其保存路径。(2)根服务器信息文件:/var/named/named.ca 是缓存服务器的配置文件,不需要手工修改。(3)正向区域文件:由named.conf文件指定 用于实现区域内主机名到IP地址的正向解析(4)反向区域文件:由named.conf文件指定 用于实现区域内IP地址到主机名的反向解析,2023/7/29,第十章 网络服务器,49,二、DNS配置基础,使用chroot后,Bind程序的根目录为/var/named/chroot.所有与DNS服务相关的配置文件、区域文件等都是相对此虚拟目录。/etc/named.conf真正路径为/var/named/chroot/etc/named.conf,/var/named目录真正路径为/var/named/chroot/var/named。,2023/7/29,第十章 网络服务器,50,二、DNS配置基础,一个简单的DNS服务器设定流程主要分为以下三步:(1)建立主配置文件named.conf,该文件主要设置该DNS服务器能够管理哪些区域(zone),以及这些区域所对应的区域文件名和存放路径。(2)建立区域文件,依照named.conf文件中指定的路径建立区域文件,该文件主要记录该区域内的资源记录。例如,对应IP地址为。(3)重新加载配置文件或重新启动named服务,使配置生效。,2023/7/29,第十章 网络服务器,51,二、DNS配置基础,下面的示例说明DNS服务器的解析流程,2023/7/29,第十章 网络服务器,52,二、DNS配置基础,客户端需要获得这台主机所对应的IP地址,将查询请求发送给DNS服务器。服务器接收到请求后,查询主配置文件named.conf,看是否能够管理区域。而named.conf中记录着能够解析的区域,并提供区域文件所在路径及文件。服务器则根据named.conf文件中提供的路径和文件名找到区域所对应的配置文件,并从中找到主机所对应的IP地址。将查询结果反馈给客户端,完成整个查询过程。,2023/7/29,第十章 网络服务器,53,1、主配置文件/etc/named.conf,options directory/var/named;zone.type hint;file named.ca;zone type master;file“;zone 0.120.202.in-addr.arpa type master;file“202.120.92.rev“;,二、DNS配置基础,2023/7/29