第一篇:DNS-服务器的配置实验报告
实验名称:
Win server 2003下管理配置DNS服务器
一.环境
运行环境:Microsoft Virtual PC 操作系统:TomatoWin2003_ENTv1.0 二.实验目的
1.掌握DNS服务器的概念
DNS是域名服务器(Domain Name Server)的缩写,在TCP/IP网络中是一种很重要的网络服务,它用于将易于记忆的域名和不易记忆的IP地址进行转化。
2.掌握DNS服务器工作原理及功能
DNS通过在网络中创建不同的区域(一个区域代表该网络中要命名的资源的管理集合),并采用一个分布式数据系统进行主机名和地址的查询。当在客服机的浏览器中键入要访问的主机名时就会触发一个IP地址的查询请求,请求会自动发送到默认的DNS服务器,DNS服务器就会从数据库中查询该主机所对应的IP地址,并将找到IP地址作为查询结果返回。浏览器得到IP地址后,就根据IP地址在Internet中定位所要访问的资源。
3.掌握DNS的组成及查询
①域名空间
②域名服务器 ③解析器
4.DNS服务器的类型
1、主域名服务器(master server)
2、辅助域名服务器(slave server)
3、缓存域名服务器(caching only server)
三.实验内容及步骤
要想成功部署DNS服务,运行Windows Serve 2003的计算机中必须拥有一个静态IP地址,只有这样才能让DNS客户端定位DNS服务器。另外如果希望该DNS服务器能够解析Internet上的域名,还需保证该DNS服务器能正常连接至Internet。
(一)安装DNS服务器
默认情况下Windows Server 2003系统中没有安装DNS服务器,第一件工作就是安装DNS服务器。
第1步,依次单击“开始/管理工具/配置您的服务器向导”,在打开的向导页中依次单击
下一步”按钮。配置向导自动检测所有网络连接的设置情况,若没有发现问题则进入“服务器角色”向导页。
第2步,在“服务器角色”列表中单击“DNS服务器”选项,并单击“下一步”按钮。打开“选择总结”向导页,如果列表中出现“安装DNS服务器”和“运行配置 DNS 服务器向导来配置DNS”,则直接单击“下一步”按钮。否则单击“上一步”按钮重新配置(如图1)。
图1 选择“DNS服务器”角色
第3步,向导开始安装DNS服务器,并且可能会提示插入Windows Server 2003的安装光盘或指定安装源文件(如图2)。
如果该服务器当前配置为自动获取IP地址,则“Windows 组件向导”的“正在配置组件”页面就会出现,提示用户使用静态IP地址配置DNS服务器。
(二).创建区域
DNS服务器安装完成以后会自动打开“配置DNS服务器向导”对话框。用户可以在该向导的指引下创建区域。
第1步,在“配置DNS服务器向导”的欢迎页面中单击“下一步”按钮,打开“选择配置操作”向导页。在默认情况下适合小型网络使用的“创建正向查找区域”单选框处于选中状态,保持默认选项并单击“下一步”按钮(如图3)。
图3 选择配置操作
第2步,打开“主服务器位置”向导页,如果所部署的DNS服务器是网络中的第一台DNS服务器,则应该保持“这台服务器维护该区域”单选框的选中状态,将该DNS服务器作为主DNS服务器使用,并单击“下一步”按钮(如图4)。
图4 确定主服务器的位置
第3步,打开“区域名称”向导页,在“区域名称”编辑框中键入一个能反映公司信息的区域名称(如“yesky.com”),单击“下一步”按钮(如图5)。
图5 填写区域名称
第4步,在打开的“区域文件”向导页中已经根据区域名称默认填入了一个文件名。该文件是一个ASCII文本文件,里面保存着该区域的信息,默认情况下保存在“windowssystem32dns”文件夹中。保持默认值不变,单击“下一步”按钮(如图6)。
图6 创建区域文件
第5步,在打开的“动态更新”向导页中指定该DNS区域能够接受的注册信息更新类型。允许动态更新可以让系统自动地在DNS中注册有关信息,在实际应用中比较有用,因此点选“允许非安全和安全动态更新”单选框,单击“下一步”按钮(如图7)。
图7 选择允许动态更新
第6步,打开“转发器”向导页,保持“是,应当将查询转送到有下列IP地址的DNS服务器上”单选框的选中状态。在IP地址编辑框中键入ISP(或上级DNS服务器)提供的DNS服务器IP地址,单击“下一步”按钮(如图8)。
图8 配置DNS转发
通过配置“转发器”可以使内部用户在访问Internet上的站点时使用当地的ISP提供的DNS服务器进行域名解析。
第7步,依次单击“完成/完成”按钮结束“yesky.com”区域的创建过程和DNS服务器的安装配置过程。
(三)创建域名
利用向导成功创建了“yesky.com”区域,可是内部用户还不能使用这个名称来访问内部站点,因为它还不是一个合格的域名。接着还需要在其基础上创建指向不同主机的域名才能提供域名解析服务。创建一个用以访问Web站点的域名“www.xiexiebang.com”,具体操作步骤如下:
第1步,依次单击“开始”→“管理工具”→“DNS”菜单命令,打开“dnsmagt”控制台窗口。
第2步,在左窗格中依次展开“ServerName”→“正向查找区域”目录。然后用鼠标右键单击“yesky.com”区域,执行快捷菜单中的“新建主机”命令(如图9)。
图9 执行“新建主机”命令
第3步,打开“新建主机”对话框,在“名称”编辑框中键入一个能代表该主机所提供服务的名称(本例键入“www.xiexiebang.com”这样的域名访问网站。这是因为虽然已经有了DNS服务器,但客户机并不知道DNS服务器在哪里,因此不能识别用户输入的域名。用户必须手动设置DNS服务器的IP地址才行。在客户机“Internet协议(TCP/IP)属性”对话框中的“首选DMS服务器”编辑框中设置刚刚部署的DNS服务器的IP地址(本例为“192.168.0.1”,如图11)。
图11 设置客户端DNS服务器地址
然后再次使用域名访问网站,你会发现已经可以正常访问了。
四.实验结果
验证实验是否成功:(1)虚拟机中的DNS的IP:192.168.2.2(2)物理机本地IP:192.168.2.5 区域名称为:www.xiexiebang.com 正向检查:在命令提示符中ping www.xiexiebang.com
得到的结果如下图:
反向检查:在物理机的命令提示符中输入nslookup 192.168.2.2 得到的结果如下图所示:
所以DNS服务器配置成功。
五.报告总结
通过以上学习,基本掌握了DNS服务器的配置。学习使用Windows Server 2003虚拟机配置DNS服务器的方法。
第二篇:DNS服务器实验报告
网 络 工 程 实 验
实验名称:DNS服务(系统自带)
班级:计科一班
组长:李柯颖(41112045)
组员:马晓贤(41112033)马彬(41112036)
刘永军(41112012)高富雷(41112003)
张明东(41112016)
前 言
一、DNS服务器的概念
它是由解析器以及域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。DNS使用TCP与UDP端口号都是53,主要使用UDP,服务器之间备份使用TCP。
DNS最早于1983年由保罗·莫卡派乔斯(Paul Mockapetris)发明;原始的技术规范在882号因特网标准草案(RFC 882)中发布。1987年发布的第1034和1035号草案修正了DNS技术规范,并废除了之前的第882和883号草案。在此之后对因特网标准草案的修改基本上没有涉及到DNS技术规范部分的改动。
域名结构
通常 Internet 主机域名的一般结构为:主机名.三级域名.二级域名.顶级域名。Internet 的顶级域名由 Internet网络协会域名注册查询负责网络地址分配的委员会进行登记和管理,它还为 Internet的每一台主机分配唯一的 IP 地址。全世界现有三个大的网络信息中心: 位于美国的 Inter-NIC,负责美国及其他地区; 位于荷兰的RIPE-NIC,负责欧洲地区;位于日本的APNIC,负责亚太地区。
解析器
解析器,或另一台DNS服务器递归代表的情况下,域名解析器,协商使用递归服务,使用查询头位。
解析通常需要遍历多个名称服务器,找到所需要的信息。然而,一些解析器的功能更简单地只用一个名称服务器进行通信。这些简单的解析器依赖于一个递归名称服务器(称为“存根解析器”),为他们寻找信息的执行工作。
服务器
提供DNS服务的是安装了DNS服务器端软件的计算机。服务器端软件既可以是基于类linux操作系统,也可以是基于Windows操作系统的。装好DNS服务器软件后,您就可以在您指定的位置创建区域文件了,所谓区域文件就是包含了此域中名字到IP地址解析记录的一个文件,如文件的内容可能是这样的:primary name server = dns2(主服务器的主机名是)
serial = 2913(序列号=2913、这个序列号的作用是当辅域名服务器来复制这个文件的时候,如果号码增加了就复制)
refresh = 10800(3 hours)(刷新=10800秒、辅域名服务器每隔3小时查询一个主服务器)
retry = 3600(1 hour)(重试=3600秒、当辅域名服务试图在主服务器上查询更新时,而连接失败了,辅域名服务器每隔1小时访问主域名服务器)
expire = 604800(7 days)(到期=604800秒、辅域名服务器在向主服务更新失败后,7天后删除中的记录。)
default TTL = 3600(1 hour)(默认生存时间=3600秒、缓存服务器保存记录的时间是1小时。也就是告诉缓存服务器保存域的解析记录为1小时)
二、设置类别
您可以把DNS服务器配置成以下3类之一: 1.主DNS服务器。2.辅DNS服务器。3.缓存DNS服务器。
三、DNS服务器的工作原理大致如下:
1、用户在浏览器里输入域名,例如www.xiexiebang.com,这个邮件地址只能表明收邮件人在msserver.com.cn域上拥有一个账户。可是仅仅知道这些并不够,因为电子邮件程序并不知道该域的邮件服务器地址,因此不能将这封邮件发送到目的地。而MX记录就是专门为电子邮件程序指路的,在DNS服务器中添加MX记录后电子邮件程序就能知道邮件服务器的具体位置(即IP地址)了。在主DNS服务器中添加MX记录的操作步骤如下所述:
步骤:1 在DNS控制台窗口中首先添加一个主机名为mail的主机记录,并将域名mail.msserver.com.cn映射到提供邮件服务的计算机IP地址上。2 在“正向查找区域”目录中右键单击准备添加MX邮件交换记录的域名,选择“新建邮件交换器(MX)”命令,如图所示。
1.2.3
打开“新建资源记录”对话框,在“邮件服务器的完全合格的域名(FQDN)”编辑框中输入事先添加的邮件服务器的主机域名(如mail.msserver.com.cn)。或单击“浏览”按钮,在打开的“浏览”对话框中找到并选择作为邮件服务器的主机名称(如mail),如图所示。
3.4 返回“新建资源记录”对话框,当该区域中有多个MX记录(即有多个邮件服务器)时,则需要在“邮件服务器优先级”编辑框中输入数值来确定其优先级。通过设置优先级数字来指明首选服务器,数字越小表示优先级越高。最后单击“确定”按钮使设置生效,如图所示。小提示:一般情况下“主机或子域”编辑框中应该保持为空,这样才能得到诸如user@msserver.com.cn之类的信箱地址。如果在“主机或子域”编辑框中输入内容(如mail),则信箱名将会成为user@mail.msserver.com.cn5 重复上述步骤可以添加多个MX记录,并且需要在“邮件服务器优先级”编辑框中分别设置其优先级。
实验六 给DNS服务器做个快速体检
你的内网DNS服务器工作状态正常吗?大家常用的测试方法是查看内网用户是否能使用域名浏览网站,但这种测试方法并不全面和科学。其实最简单和便捷的方式是使用nslookup+Ping命令的组合方式,通过简单的两步就能给本地企业网中的DNS服务器做个快速“体检”。
步骤:
第一步:首先使用nslookup命令来测试本企业网的DNS服务器,查看它是否能正常将域名解析成IP地址。这里以www.xiexiebang.com”
第六步:设置完毕后我们访问www.xiexiebang.com时就会自动根据是在内网还是外网来解析了。
命令提示符输入netsh winsock reset重启电脑
实验九 快速删除电脑IPv6 DNS地址
随着IPv6地址使用范围的越来越广,在电脑上进行IPv6 DNS地址的配置和删除也是常有的事,下面就介绍一种快速删除电脑IPv6 DNS地址的方法:
步骤:
1.1 在Win 7的“开始”中打开“运行”对话框,并在其中运行“cmd”命令,点击“确定”按钮。
2.2 在“CMD”命令行中执行命令“ipconfig/all”,查看电脑网卡上配置的ipv6 DNS地址。
执行完上面的命令后就能看到电脑网卡的IPv6 DNS地址配置情况,如下图。
3.4 然后在“CMD”命令行中执行命令“netsh interface ipv6 delete dnsservers “本地连接”2001:dn8:8000:1:202:120:2:101”,就可以把电脑网卡上的ipv6 DNS地址删除掉。
注意事项
删除电脑IPv6 DNS地址的命令格式,必须按要求输入,不能有任何的差错,否则不能正确执行。
实验十 怎样让别人无法修改DNS的内容
DNS设置在TCP/IP中,我们可以通过禁用TCP/IP来实现。
1.1 首先点击“开始”菜单,点击运行。2 在打开的运行框中输入gpedit.msc,按确定。
2.3 依次展开“用户配置管理模板网络网络连接”4 在右侧窗口中找到“禁用TCP/IP高级配置”。
3.5 双击打开将“已启用”选中,确定。
然后再强制执行组策略即可生效。
保护DNS服务器的几种方法
DNS软件是黑客热衷攻击的目标,它可能带来安全问题。下面是保护DNS服务器的几种方法。
禁用区域传输
区域传输发生在主DNS服务器和从DNS服务器之间。主DNS服务器授权特定域名,并且带有可改写的DNS区域文件,在需要的时候可以对该文件进行更新。从DNS服务器从主力DNS服务器接收这些区域文件的只读拷贝。从DNS服务器被用于提高来自内部或者互联网DNS查询响应性能。
然而,区域传输并不仅仅针对从DNS服务器。任何一个能够发出DNS查询请求的人都可能引起DNS服务器配置改变,允许区域传输倾倒自己的区域数据库文件。恶意用户可以使用这些信息来侦察你组织内部的命名计划,并攻击关键服务架构。你可以配置你的DNS服务器,禁止区域传输请求,或者仅允许针对组织内特定服务器进行区域传输,以此来进行安全防范。
使DNS只用安全连接
很多DNS服务器接受动态更新。动态更新特性使这些DNS服务器能记录使用DHCP的主机的主机名和IP地址。DDNS能够极大地减
轻DNS管理员的管理费用,否则管理员必须手工配置这些主机的DNS资源记录。
然而,如果未检测的DDNS更新,可能会带来很严重的安全问题。一个恶意用户可以配置主机成为台文件服务器、Web服务器或者数据库服务器动态更新的DNS主机记录,如果有人想连接到这些服务器就一定会被转移到其他的机器上。
你可以减少恶意DNS升级的风险,通过要求安全连接到DNS服务器执行动态升级。这很容易做到,你只要配置你的DNS服务器使用活动目录综合区(ActiveDirectoryIntegratedZones)并要求安全动态升级就可以实现。这样一来,所有的域成员都能够安全地、动态更新他们的DNS信息。
使用防火墙来控制DNS访问
防火墙可以用来控制谁可以连接到你的DNS服务器上。对于那些仅仅响应内部用户查询请求的DNS服务器,应该设置防火墙的配置,阻止外部主机连接这些DNS服务器。对于用做只缓存转发器的DNS服务器,应该设置防火墙的配置,仅仅允许那些使用只缓存转发器的DNS服务器发来的查询请求。防火墙策略设置的重要一点是阻止内部用户使用DNS协议连接外部DNS服务器。
在DNS注册表中建立访问控制
在基于Windows的DNS服务器中,你应该在DNS服务器相关的注册表中设置访问控制,这样只有那些需要访问的帐户才能够阅读或修改这些注册表设置。
HKLMCurrentControlSetServicesDNS键应该仅仅允许管理员和系统帐户访问,这些帐户应该拥有完全控制权限。在DNS文件系统入口设置访问控制
在基于Windows的DNS服务器中,你应该在DNS服务器相关的文件系统入口设置访问控制,这样只有需要访问的帐户才能够阅读或修改这些文件。
%system_directory%DNS文件夹及子文件夹应该仅仅允许系统帐户访问,系统帐户应该拥有完全控制权限。实验十一 在windows07 查看DNS服务器属性
步骤:
打开“控制面板”里的“管理工具”
点击“服务”,下拉列表框,找到“DNS client”
双击“DNS client”
可对其属性查看,或进行修改。
第三篇:WWW服务器配置实验报告
信息科学与技术学院实验报告
课程名称: 计算机网络应用技术教程 实验项目: WWW服务器配置 实验地点: 指导教师: 日期: 2013/10/29
实验类型: 验证性实验(验证性实验 综合性实验 设计性实验)专业: 班级: 11级 姓名: 学号:
一、实验目的及要求
1.实验目的:
1.正确理解WWW服务的运行机制,了解常用的wed服务器软件。
2.掌握IIS服务器的安装和管理,创建wed站点利用IIS在一台服务器上运行多个网站。
3.掌握虚拟机主机和虚拟目录的创建删除。2.实验要求:
1.理解IIS服务的概念及其所具有的功能。2.掌握IIS服务的安装方法。
3.掌握WWW服务的配置包括IP地址、端口号、默认文档、安全等设定,以及如何应用WWW服务的方法。
4.了解虚拟目录服务的作用。
二、实验仪器、设备或软件
1.实验仪器:电脑一台
三、实验内容及原理
1.实验内容:
(1).学会安装IIS。
(2).掌握www服务器的配置和使用。
(3).创建虚拟目录。2.实验原理:
万维网WWW(World Wide Web)服务,又称为Web服务,是目前TCP/IP互联网上最方便和最受欢迎的信息服务类型,是因特网上发展最快同时又使用最多的一项服务,目前已经进入广告、新闻、销售、电子商务与信息服务等诸多领域,它的出现是TCP/IP互联网发展中的一个里程碑。
WWW服务采用客户/服务器工作模式,客户机即浏览器(Browser),服务器即Web服务器,它以超文本标记语言(HTML)和超文本传输协议(HTTP)为基础,为用户提供界面一致的信息浏览系统。信息资源以页面(也称网页或Web页面)的形式存储在Web服务器上(通常称为Web站点),这些页面采用超文本方式对信息进行组织,页面之间通过超链接连接起来。这些通过超链接连接的页面信息既可以放置在同一主机上,也可放置在不同的主机上。超链接采用统一资源定位符(URL)的形式。WWW服务原理是用户在客户机通过浏览器向Web服务器发出请求,Web服务器根据客户机的请求内容将保存在服务器中的某个页面发回给客户机,浏览器接收到页面后对其进行解释,最终将图、文、声等并茂的画面呈现给用户。
四、实验步骤(或过程)
1.首先在电脑上,右击网上邻居,点击属性,启动虚拟机网卡(如图1-1所示)
图1-1 启动虚拟机网卡
2.右击虚拟机网卡,选择属性,配置IP地址(如图1-2所示)
图1-2 配置IP地址
3.首先在电脑上安装虚拟机,然后启动虚拟机登录到Windows 200(如图1-3所示)
图1-3 虚拟机登录界面
4.单击开始菜单,依次点击程序—>管理工具—>Internet服务管理器,打开Internet信息服务窗口(如图1-4所示)
图 1-4 Internet 信息服务窗口
5.右击“默认web站点”,选择“属性”,出现默认web站点属性对话框。单击web站点选项卡,设置IP地址(如图1-5所示),接着设置主目录(如图1-6所示),最后设置文档(如图1-7所示),其他的选择默认。
图1-5 设置IP地址
图1-6 设置主目录
图1-7 设置文档
6右击默认Web站点,选择新建——虚拟目录,出现虚拟目录创建对话框(如图1-8所示).点击下一步,设置该站点的别名(如图1-9所示)
图1-8 虚拟目录创建1
图1-9 虚拟目录创建2 7.点击下一步,在目录路径下输入本地目录(如图1-10所示)。
图1-10 虚拟目录创建3 8.点击下一步,设置对虚拟目录的访问权限(如图1-11所示)。
图1-11 虚拟目录创建4 10.点击下一步,完成虚拟目录的创建(如图1-12所示)。
图1-12 完成虚拟目录创建
11.使用浏览器进行浏览,确定www服务器配置成功。(如图1-15所示)
图1-13 C盘下的web目录
图1-4 创建网页格式的文件
图1-15 浏览器浏览结果
12.由此可知成功配置www服务器。
五、实验结论
1、实验结果
成功配置www服务器
2、分析讨论
通过这次试验,我学到了许多东西,我学会了如何去配置www服务器,而且在配置的过程中也遇到了许多问题,通过一一解决这些问题,我对www服务器的配置也有了更加深刻的理解。
六、指导教师评语及成绩
第四篇:计算机网络课程设计 DNS 服务器 实验报告
DNS中继服务器实验报告
07415
林珅(13)
071401 07415
刘磊(18)
071406 07415
李鸿(19)
071407
一、系统概述
1)运行环境:windows XP
2)编译:
Microsoft visual C++ 6.0 3)使用方法:
a)使用ipconfig/all,记下当前DNS服务器,例如为211.68.71.4 b)使用下页的配置界面,将DNS设置为127.0.0.1(本地主机)c)运行你的dnsrelay程序(在你的程序中把外部dns服务器设为前面记下的211.68.71.4)d)正常使用ping,ftp,IE等,名字解析工作正常
二、系统的功能设计
设计一个DNS服务器程序,读入“域名-IP地址”对照表,当客户端查询域名对应的IP地址时,用域名检索该对照表,三种检索结果:
1)检索结果为ip地址0.0.0.0,则向客户端返回“域名不存在”的报错消息(不良网站拦截功能)
2)检索结果为普通IP地址,则向客户返回这个地址(服务器功能)
3)表中未检到该域名,则向因特网DNS服务器发出查询,并将结果返给客户端(中继功能)
考虑多个计算机上的客户端会同时查询,需要进行消息ID的转换
三、模块划分
DNS服务器主模块包含三个子模块,分别如下:
1)命令行参数处理模块:该模块用来处理通过命令行提示符来启动这个DNS服务器时所输入的命令行参数,管理员通过设置不同的参数可以使DNS服务器显示不同程度的提示和调试信息。所以这模块主要是依照输入的参数设置标志数据,以控制最后的各种信息的输出。
2)本地解析模块:本模块是在本DNS服务器本地保存的曾经解析过的或者需要屏蔽额域名和其对应IP信息文件中查找从应用程序来的请求解析的域名,在这个文件中查到需要的域名后取出对应的IP地址,并构造DNS应答数据包返回给发送此DNS域名解析请求的应用程序。
3)外部DNS服务器解析模块:当本地解析失败时,本DNS服务器会调用外部DNS服务器解析模块。此模块将应用程序发送的DNS请求报文转发给外部DNS服务器,然后接收外部服务器返回的应答信息,并根据这个信息给予应用程序相应的DNS应答。
三个模块与主模块的关系图如下,主模块调用这三个并列的模块,而本地解析模块调用文件查找子模块:
DNS服务器主模块调用命令行参数处理模块本地解析模块半调用外部DNS服务器解析模块调用文件查找子模块
四、软件流程图
开始创建套接字初始化接收缓冲命令行参数处理初始化设置UDP连接和套接字信息套接字绑定是否退出程序否接收UDPDNS数据包获取DNS包头参数是请求包DNS包类型应答包域名格式转换还原DNS数据包头ID设置外部DNS应答数据包向应用程序发送DNS响应数据包本地文件解析是找到对应IP?否设置DNS包头转换DNS数据包头ID设置外部DNS请求数据包向指定外部DNS转发请求设置应答结果发送DNS应答结果清除socket关闭套接字结束
五、主要数据结构
unsigned long upDNSaddr = inet_addr(DNS_SVR);
//外部DNS地址
unsigned short oID,nID,ID = 0,TYPE,CLASS,RDLENGTH,RDATA,flag,qdcount,ancount;
// oID,nID,ID为数据报ID // TYPE,CLASS,RDLENGTH,RDATA, flag,qdcount,ancount为报文的相应标志位
char initxt[100] = “C:dns.txt”,name[50];
// initxt[100]为配置文件路径,name[50]为保存文件域名或IP int opt = 0,isfind = 0,TTL,len = 0,leng,strlen = 512;
//opt为用户选项,isfind标志是否在本地文件找到记录的布尔变量 // TTL为生存周期,len 接收的数据报长度,leng发送的数据报长度 //strlen为保存接收到的sockaddr的长度
WSAData wsaData;
//套接口
WORD wVersionRequested;
//使用的套接口版本
struct sockaddr_in server,from,to,temp;
//server用于本地监听DNS数据报,from用于接收外部数据报
//to用于发送数据报,temp是保存发送请求的浏览器信息
char sendbuf[256],recvbuf[256];
//发送缓存和接收缓存
char *ptr = recvbuf
//以ptr的增减来达到在数组中指针移动的效果
六、测试用例以及运行结果
a)测试本地解析功能
请求一个本地DNS对照表中已有的某一记录,如2qq.cn:
在本地DNS对照表中找到记录,将相应的IP地址返回给用户:
调试信息级别0:dnsrelay
调试信息级别1:dnsrelay –d
调试信息级别2:dnsrelay –dd
b)测试中继功能:
请求一个本地DNS对照表中没有的记录,如www.xiexiebang.com。本地DNS没有找到相应记录,向外部web服务器转发请求,并接收相应的应答报文并转发给用户:
调试信息级别0:dnsrelay
调试信息级别1:dnsrelay –d
调试信息级别2:dnsrelay –dd c)
测试拦截功能:
请求一个不良网站,如www.xiexiebang.com:
向用户返回IP地址0.0.0.0,告知用户“域名不存在”的报错信息:
调试信息级别0:dnsrelay
调试信息级别1:dnsrelay –d
调试信息级别2:dnsrelay –dd
d)请求一个不存在的www.xiexiebang.com。当外部web服务器找不到相应的域名时返回超时信息,本地DNS服务器将此信息返回给用户。
调试信息级别0:dnsrelay
调试信息级别1:dnsrelay –d
调试信息级别2:dnsrelay –dd
e)请求一个不合法的域名,如123:
本地DNS服务器返回给用户“找不到该域名”的报错信息。
七、调试中遇到并解决的问题
1)使用socket连接的时候,刚开始只用了一个socket作为所有发送和接收的接口。在实际调试的过程中发现一个不能满足软件需求的实现,所以用一个socket负责发送数据报,另一个socket负责接收数据报。2)回应报文中域名是使用偏移指针的方式实现的,这是由于在域名段写入需要请求的域名时会与问题报文中的域名字段重复从而造成不必要的浪费,用偏移指针的方式既可以防止重复,也可以节省空间。
3)使用sendto函数时,一开始使用的是sizeof(sendbuf)来确定发送的数据报大小,但是实际操作中发现发送消息时只需要发送有用的部分,如果使用原来的方法会造成发送数据的冗余,需要精确确定发送数据的有效位数。
4)在编程过程中,对于指针的掌握不当造成了多次错误,例如在对于不同的标志位要转换成不同长度的指针进行赋值。
5)对于请求包的域名还原问题,需要注意数组下标与实际位数的区别。6)当请求的域名为不带www开头的域名时,本机会自动在其尾部追加“.localdomain”来形成新的域名,导致在本地解析工作中无法找到该域名对应的记录,从而转发给外部web服务器,这与本地解析工作是相违背的。所以后来每当在接收到写有“.localdomain”域名的时候,强行进行字符匹配并将其删除,从而完成本地解析工作。
八、心得体会
本次大作业为实现一个DNS中继服务器。通过完成本地域名解析、中继功能以及不良网站拦截等基本的三个功能,来实现用户访问外部服务器的需求。这次大作业的完成,需要我们阅读并了解RFC 1035文档。一开始的时候对RFC完全没有一个清晰地概念,只知道这是一个规格说明,而且初读其中的内容也觉得一头雾水。但后来在老师的提点下抓住了重点,然后一遍一遍反复的阅读,不懂的地方借助网络和图书资料,渐渐发现对DNS的原理和实现方法有了更加全面和深刻的理解,这对后期的程序编写起到了非常大的帮助作用。
通过本次网络实验,对小型网络应用程序的实现有了一定程度的理解,同时更加熟悉了winsock函数库。通过抓包分析UDP数据报文、DNS数据报文,对传输层和应用层的数据包发送和接收等工作原理也有了更深的理解。
在本次大作业中,让我感触最深的就是这三年来编程实力的反映。在编程的过程中就不断的被一些低级错误影响了软件实现的进度,而且对在大一大二学到的知识点,例如文件的读取,不同进制数的转换等掌握不牢,导致需要花额外的时间去弥补以前遗忘的知识。在最终验收的阶段,通过比较其他组同学的程序就可以很明显的看出,自己程序的功能上比较单一,实现的方法也没有他们来的精妙。继而通过老师质疑的几个问题,也可以发现我们的程序还存在许多不足,例如思考的方面不够全面,思考的角度不够多向。细节反应一个程序的健壮性,而我们没有尽可能的考虑每一个可能的情况,导致仍存在许多漏洞。所以这次的大作业告诉了我们,在以后的学习与实践中,要时刻注意“细节”的重要性。这个不仅要在软件分析的时候要注意,在编程的时候要注意,在调试测试的时候要注意,在最后维护阶段也不能放松。这次的收获想必对未来从事的网络工作很有益处。
无论程序好还是坏,最重要就是亲手实践。借鉴别人的好代码永远只是模范,只有自己动手才会实现突破与创新。我们会在以后的学习与实践中不断提高自己的编程能力,日臻完善。
第五篇:DHCP服务器配置的实验报告
信息科学与技术学院实验报告
一、实验目的及要求
目的:
1.了解DHCP 服务的基本概念,工作原理 2.学会安装DHCP服务器; 3.配置与管理DHCP服务器。要求:
理解DHCP服务器和客户端的工作原理。 按照步骤完成DHCP服务器的配置。 理解每一步的实验的作用。
二、实验仪器、设备或软件
安装了Windows Server 2003的PC机或者是虚拟机
三、实验内容及原理
DHCP是Dynamic Host Configuration Protocol(动态主机配置协议)的缩写,DHCP是一个简化主机IP地址分配管理的TCP/IP 标准协议。用户可以利用DHCP服务器管理动态的IP地址分配及其他相关的环境配置工作(如:DNS、WINS、Gateway的设置)。在使用TCP/IP协议的网络上,每一台计算机都拥有唯一的计算机名和IP地址。IP地址(及其子网掩码)用于鉴别它所连接的主机和子网,当用户将计算机从一个子网移动到另一个子网的时候,一定要改变该计算机的IP地址。如采用静态IP 地址的分配方法将增加网络管理员的负担,而DHCP是计算机向DHCP服务器临时申请一个IP 地址,并且在一定时期内租用该号码,这就大大减少了在管理上所耗费的时间。
DHCP提供了安全、可靠且简单的TCP/IP网络配置,确保不会发生地址冲突,并且通过地址分配的集中管理预留IP地址。DHCP提供了计算机IP地址的动态配置,系统管理员通过限定租用时间来控制IP地址的分配。
在使用DHCP时,整个网络至少有一台服务器上安装了DHCP服务,其他要使用DHCP功能的工作站也必须设置成利用DHCP获得IP地址
DHCP 的实现机理
DHCP使用客户/服务器模式,在系统启动时,DHCP 客户机在本地子网中先发送 discover mesasge(显示信息),此信息以广播的形式发送,且可能传播到本地网络的所有DHCP服务器,每个DHCP 服务器收到这一信息后,就向提出申请的客户机发送一个offer mesasge(提供信息),其中包括一个可租用的 IP 地址和合法的配置信息。DHCP 客户机收集各个服务器提供的配置信息,从中选择一个,然后发送一个标识着被选中的DHCP服务器的请求信息(Request mesasge),被选中的DHCP服务器就发送一个DHCP确认信息(Acknowledgment message),它包含着在显示(Discovery)期间第一次发送的地址、对该地址的合法租用及该用户的TCP/IP网络配置参数。客户机收到确认信息后,就进行地址绑定(Bind),这样它就加入了TCP/IP网络,且完成了其系统初始化。
具有本地存储器的客户机保存着接收到的地址以供系统启动时使用,因为当租用时间到期时,它就试图向DHCP服务器申请继续租用,而一旦当前的IP地址不能再被使用时,服务器就给它分配一个新地址。
四、实验步骤(或过程)
(1)选择“开始”→“程序”→“管理工具”选项,然后在“管理工具”中单击“DHCP”图标,进入DHCP管理窗口。图1-1
图1-1 DHCP管理窗口
(2)在DHCP管理窗口中,选中DHCP树,按鼠标右键,在弹出的菜单中选择“新建作用域”命令,出现如图2的对话框时,单击“下一步”按钮,出现如图3的对话框时,为该作用域设置一个名称,即bx409。图1-2,1-3,1-4
图1-2
图1-3 新建作用域向导
图1-4 设置作用域的名称
(3)单击“下一步”按钮,当出现图4所示的对话框时,对作用域可供使用的IP地址与子网掩码进行设置。图1-5
图1-5 设置可供使用的IP地址与子网掩码
(4)单击“下一步”按钮,当出现图5所示的对话框时,在“添加排除”对话中输入需要排除的IP地址。图1-6
图1-6 添加排除的IP地址
添加排除的IP地址成功,结果显示如所图1-7。
图1-7 添加排除的IP地址成功添加
(5)单击“下一步”按钮,出现图7所示的对话框时,请设置IP地址的租用期限,默认为 8 天,通常对于拨号网络来说,租用期限应设置较短期限。图1-8
图1-8 设置租约期限
(6)单击“下一步”按钮,出现图1-8所示的选择配置 DHCP 选项对话框时,选择“是,我想现在配置这些选项”。图1-9
图1-9 选择是否配置DHCP的选项
(7)单击“下一步”按钮,出现图9所示的对话框时输入默认网关的IP地址,单击“添加”按钮,然后再单击“下一步”按钮,如果网络目前还没有IP路由器,可不输入任何数据,直接单击“下一步”按钮。图1-10
图1-10 设置客户端使用的网关地址
(8)出现图11所示的对话框时,输入DNS服务器的名称与其IP地址,然后单击“解析”按钮让其自动查询这台DNS服务器的IP地址,如果网络目前还没有DNS服务器,可直接单击“下一步”按钮。图1-11
图1-11 设置客户端使用的DNS地址
(9)出现图12所示的对话框时,请输入WINS服务器的名称与其IP地址,单击“解析”按钮让它自动查询这台WINS服务器的IP地址,如果网络目前还没有WINS服务器,可直接单击“下一步”按钮,激活此作用域,结束作用域向导。如图1-12,1-13
图1-12 设置客户端使用的WINS地址
图1-13 作用域新建完成
(10)单击“虚拟机”,出现如图1-14所示的虚拟机设置界面。
图1-14 虚拟机设置界面
(11)选择“网络适配器”选项,对其网络连接进行自定义设置。如图1-15和1-16
图1-15 虚拟机网络连接设置1
图1-16 虚拟机网络连接设置2(12)在Windows 2000 Professional/xp 客户机桌面上,打开“集成网卡属性”对话框,如图1-17所示。
图1-17 集成网卡属性
(13)在“集成网卡属性”对话框中选择“Internet 协议(TCP/IP)”,再选择“属性”,在打开的“Internet 协议(TCP/IP)属性”对话框中,选择“自动获取IP地址”选项和“自动获得DNS服务器地址”选项,如图1-18所示。
图1-18 TCP/IP属性
(14)打开客户机的网络连接,对虚拟机的网络进行“启用”的操作。如图1-19
图1-19 网络连接界面
图1-20 虚拟机网络链接启动
(15)虚拟机网络连接启动之后,单击右键选择“状态”选项,显示如图1-21所示,DHCP服务器配置完成并成功。如图1-21
图1-21 虚拟机网络连接状态
五、实验结论
1、实验结果
本次实验结果显示DHCP服务器配置成功完成。
2、分析讨论
本次实验注意事项:
1.客户机的操作系统为:XP系统。
2.服务器端的操作系统为:server 2003系统(即虚拟机系统)。注:其他的操作系统没有试过,不知道可不可以完成实验
六、指导教师评语及成绩