胶州网站建设电话,网站的ftp信息,南昌专门做网站,wordpress go页面如何使用分享一下我老师大神的人工智能教程。零基础#xff01;通俗易懂#xff01;风趣幽默#xff01;还带黄段子#xff01;希望你也加入到我们人工智能的队伍中来#xff01;https://blog.csdn.net/jiangjunshowDNS#xff08;Domain Name System#xff09;在tcp/ip网络中通俗易懂风趣幽默还带黄段子希望你也加入到我们人工智能的队伍中来https://blog.csdn.net/jiangjunshowDNSDomain Name System在tcp/ip网络中一个用户通过指定一个名字就可与其他用户进行通信这个名称的规定和解析系统就叫域名系统。我们常用DNS代指域名解析服务Domain Name Service它最基本的功能就是将我们在IE地址栏中输入的URL域名如www.yesky.com 解析成网络上唯一的Internet地址即IP如218.201.41.19这个工作由网络上的DNS服务器来完成。我们每天上网最频繁的操作恐怕就属发出DNS请求来访问网站了而我遇到的两个怪现象都跟本地系统对DNS的相应设定有关。 怪现状之一在一以开启NAT路由的ADSL MODEM为网关设备的局域网中一台主机在访问一个平时非常稳定的大站点时出现了“该页无法显示”的状况刷新多次也未能正常而同一时刻在别的主机上却登录正常。过了几分钟这台故障主机又莫名其妙的好了访问此站点时一切正常了。 分析这种情况由于其他的网络操作都正常故障也不时常发生一般用户很可能会认为自己的系统、IE浏览器和防火墙设置哪里出现了小冲突。其实这个故障的现象是由于本地系统的DNS缓存服务造成的。 在win2000以上的MS系统中系统会自动的将从DNS服务器上的查询结果保存在本地的DNS缓存中每次启用DNS缓存时Hosts文件中记录也会被载入缓存中那么下次再有重复的查询请求系统会优先查询本地缓存如果已有对照的条目则不再向DNS服务器发起请求缓存中无记录时才查询DNS服务器。本来设定此DNS缓存的目的是为了能减少DNS服务器的负荷不用为同一个域名解析多次也同时能加快客户主机上的访问速度。在DNS缓存中记录条目每隔一段时间将被更新一次长时间不用的条目将被丢弃这个时间间隔称为生存时间TTL。默认情况下得到肯定响应的条目TTL为86,400 秒1 天否定响应的TTL win2000下是300秒5分钟在winXP和2003中 是 900 秒15 分钟。正是由于这个否定响应的TTL时间存在所以才造成了故障主机在得到一次否定的DNS解析之后一段时间内无法再到DNS服务器上查询只有等TTL时间过后这条否定的记录被清除才能恢复。 遇到这种情况我们能采取的最简单手段是刷新DNS也就是删除 DNS 解析器缓存中的条目。点击“开始”“运行”输入cmd并点击“确定”在命令提示符窗口中键入ipconfig /flushdns然后按 Enter 键。你将会收到“Successfully flushed the DNS Resolver Cache.”的显示这时你的DNS缓存已被重置主机发起的查询请求将再次发向DNS服务器。 注查看本地DNS缓存记录的命令为ipconfig /displaydns。你将会看到包括本地Hosts文件记录和已访问过的站点在内的所有DNS记录。如图1所示图 1 如果记录太多显示不全还可以用如下命令将其保存成文本文件 ipconfig /displaydns log.txt 这个log.txt文档将生成在输入此命令的路径文件夹下。 我们还可以通过调整注册表中TTL设定的键值来改善此种故障的状况。关于DNS缓存机制设定的键值都在如下路径中 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Dnscache/Parameters 点击“开始”运行键入regedit并确定展开注册表到上面的路径中在右边窗口可以看到如下图2中所示的键值图 2 windows2000中的DNS缓存设定键值 其中MaxCacheEntryTtlLimit为DNS缓存条目TTL最大值在XP和2003系统中此项名称为MaxCacheTtl。肯定响应条目的TTL将由在DNS解析器收到的查询响应中指定的秒数和此项数值两者中最小值决定。如果将此项键值设为1秒则DNS 缓存看起来已被禁用。图中的NegativeCacheTime为否定响应条目的TTLXP和2003中此项名称为MaxNegativeCacheTtl。可以将此项键值改小或直接改为0则不缓存否定的响应。而NetFailureCacheTime子项为常规网络缓存失败的控制时间默认30秒。若系统重复发送多次DNS请求而完全得不到任何DNS服务器的响应系统会认为网络连接失效在默认30秒的时间中将不会再向外发送任何DNS查询请求此项也可减小或置0。 另外在XP中还使用了“子网优先级划分”机制。如果查询的域名从 DNS 服务器收到多个 IP 地址映射并且记录中包含客户主机直连网段范围的IP地址那么系统DNS解析器会优先放置此记录在缓存中。也就说在实际访问中客户端将优先采用此IP作为肯定响应的DNS解析这样会强制客户机连接到比较靠近它们的网络资源从而减少了子网间的网络通信量。如果我们不想让系统这样做可以通过在此路径的注册表项中添加一个值为 0REG_DWORD 数据类型的 PrioritizeRecordData 注册表条目来禁用“子网优先级划分”功能。 当然我们还可以通过在命令提示符中键入命令“net stop dnscache”和“net start dnscache”来暂时停止和重新开启DNS缓存服务。而想要永久停止此服务需要到“我的电脑”图标上右键单机“管理”展开“服务和应用程序”“服务”如图03在右面窗口中找到“DNS Client”服务项上右键单击“属性”然后在“启动类型”中选择“已禁用”即可。在WinXP等系统中此项服务名称还可能会显示为“DNS Cache”。要注意的是禁止掉DNS缓存将使每次查询都发送到指定的DNS服务器不利于访问速度。图 3图 4 解决当此主机再次遇到同样故障时用刷新DNS缓存命令果然快速解决了问题肯定了是由DNS解析造成的问题。经过调整注册表键值也确实改善了故障持续的时间但具体分析到此种故障几乎都集中在这台主机同一时刻别的主机则没发生类似的情况而且ISP的DNS服务器一般都是很稳定的所以最后怀疑是主机的“本地连接”属性“Internet连接TCP/IP”属性中“DNS服务器地址”设定有问题。经查看其他主机都是直接设定的当地ISP给定的DNS服务器地址而此故障主机的DNS设的是网关IP也就是指向了那台启用了路由的ADSL MODEM这种情况下ADSL MODEM充当DNS Proxy即DNS代理或叫DNS转发的角色开启路由后一般默认支持DNS转发有些MODEM则需要手动启用此功能。它将客户机发送的DNS请求转发到它所知的DNS服务器上去而很可能是由于这台ADSL MODEM的软件性能不稳定致使DNS转发时偶尔出错造成了客户主机系统认为DNS解析被否定或失败。既然明白了故障起因那就好办了。将此主机的DNS设定改为ISP给定的公网本地DNS服务器地址果然以后不再出现同样的故障了至此这一怪现状被彻底解决了。 怪现状之二朋友的局域网中原有一台Windows 2000 DNS服务器自从将其升级为Windows Server 2003以后他就不能访问一些网站了但是升级过程中没出现任何的错误。 分析按照经验这很可能是由于root Cache文件丢失或损坏造成的。这种情况可以使用 DNS 管理单元手动添加根目录提示、将硬盘上的 Cache.dns 文件替换为备份 Cache.dns 文件或替换为 windows Server 2003 CD 中的原始版本 Cache.dns 文件来解决。恢复方法如下 第一步使用 DNS 管理单元更新根目录提示 在非域控制器上 1. 单击“开始”指向“管理工具”“DNS”。 2. 在控制台树中右键单击“服务器名”属性”。“服务器名”是指服务器的名称 3. 单击“根目录提示”选项卡然后单击“添加”。 4. 指定要添加的根服务器的完全限定域名称 (FQDN) 和 IP 地址然后单击“确定”。 在域控制器上 1. 点击“开始”“运行”。在“打开”框中键入 cmd然后 “确定”打开命令提示符窗口。 2. 停止 DNS 服务。请在命令提示符处键入 net stop dns然后按 Enter 键。 3. 将 Cache.dns 文件从 %SystemRoot%/System32/Dns/Samples 文件夹复制到 %SystemRoot%/System32/Dns 文件夹。在命令提示符处键入下面的行然后回车即可 copy %systemroot%/System32/Dns/Samples/Cache.dns %systemroot%/System32/Dns 如果系统提示您改写现有文件请键入 y然后按 Enter 键。这里的 %SystemRoot%指本地系统所在文件夹根目录如C:/windows 4. 点击“开始”指向“管理工具”然后单击“Active Directory 用户和计算机”。 5. 在“查看”菜单上单击“高级功能”。展开“系统”展开“Microsoft DNS”右键单击“Root DNS Servers”然后单击“删除”。在提示确定删除时单击“是”。 退出 Active Directory 目录服务用户和计算机 MMC 管理单元。 6. 启动 DNS 服务。在命令提示符处键入 net start dns然后按 Enter 键。 7. 点击“开始”指向“管理工具”然后单击“DNS”。 8. 在控制台树中右键单击“服务器名”然后单击“属性”。 单击“根目录提示”选项卡并确认根服务器是否显示在“名称服务器”列表中。 9. 单击“开始”指向“管理工具”然后单击“Active Directory 用户和计算机”。 10. 展开“系统”展开“Microsoft DNS”然后确认已重新创建了“Root DNS Servers”容器并且该容器是否包含根服务器列表。 第二步复制Windows Server 2003 CD 中的 Cache.dns 文件覆盖损坏文件 1. 放入Win2003 CD。点击“开始”然后单击“运行”。键入 cmd然后单击“确定”。 2. 在命令提示符窗口中键入下面的命令在每一行之后按 Enter 键 光驱盘符如E: cd i386 expand cache.dn_ %systemroot%/System32/Dns/Cache.dns 3.退出命令提示符。 注如果是从备份的Cache.dns文件恢复。那么需要先用net stop dns停止DNS服务并用ren cache.dns cache.old将当前cache.dns文件改名然后Copy备份文件到DNS目录。最后用net start dns将DNS服务重新启动。 但是经过了Cache文件的恢复之后问题依旧没能得到解决。而且最奇怪的是这种情况下仍能Ping通这些网站至此问题陷入了僵局。最后经过多方面的资料查询了解到原来Windows2003中为DNS嵌入了新的扩展结构Extension Mechanisms默认情况下这个EDNS是启动的它允许通过使用大于512KB的UDP包来改善性能。而很多防火墙基于安全的考虑并不允许这么大的UDP包会直接拒绝或丢弃它们。这就造成了网络和DNS服务一切正常的情况下无法访问一些网站的怪现状。 解决还是那句话既然明白了故障起因那就好办了。首先可以查询防火墙供应商是否为这个问题发布了修正补丁如果有直接升级就解决了。如果没有那么可以暂时禁用此EDNS等待补丁的发布。要禁用EDNS先要安装Win2003 CD的支持工具中的命令行工具“dnscmd.exe”。然后打开命令提示符窗口输入dnscmd /config /enableednsprobes 0按Enter键即可停用EDNS。当防火墙得到了升级修正之后重新启用EDNS时输入dnscmd /config /enableednsprobes 1按Enter键即可。至此这一怪现状得到了完满解决。 注关于EDNS的更多详细信息可以参看IETF的RFC 2671文档http://www.ietf.org/rfc/rfc2671.txt?number2671和微软的官方文档http://www.microsoft.com/resources/documentation/WindowsServ/2003/standard/proddocs/en-us/Default.asp?url/resources/documentation/windowsserv/2003/standard/proddocs/en-us/sag_dns_imp_ednssupport.asp。 分享一下我老师大神的人工智能教程。零基础通俗易懂风趣幽默还带黄段子希望你也加入到我们人工智能的队伍中来https://blog.csdn.net/jiangjunshow