一个IP地址不只绑定了一个域名,如果绑定多个域名的话,DNS查询域名服务器ip地址如何解决这个问题?通过端口吗?

域名解析错误导致输入域名不访问而直接输入网站IP却可以正常访问-服务器搭建-ab蓝学网
当前位置: &
域名解析错误导致输入域名不访问而直接输入网站IP却可以正常访问
简介:服务器|在实际应用过程中可能会遇到DNS解析错误的问题,就是说当我们访问一个域名时无法完成将其解析到IP地址的工作,而直接输入网站IP却可以正常访问,这就是因为DNS解析出现故障造成的。这个现象发生的机率比较...
在实际应用过程中可能会遇到DNS解析错误的问题,就是说当我们访问一个域名时无法完成将其解析到IP地址的工作,而直接输入网站IP却可以正常访问,这就是因为DNS解析出现故障造成的。
这个现象发生的机率比较大,所以本文将从零起步教给各位读者一些基本的排除DNS解析故障的方法。
  一、什么是DNS解析故障?
  一般来说像我们访问的,这些地址都叫做域名,而众所周知网络中的任何一个主机都是IP地址来标识的,也就是说只有知道了这个站点的IP地址才能够成功实现访问操作。
  不过由于IP地址信息不太好记忆,所以网络中出现了域名这个名字,在访问时我们这需要输入这个好记忆的域名即可,网络中会存在着自动将相应的域名解析成IP地址的服务器,这就是Dns服务器。能够实现DNS解析功能的机器可以是自己的计算机也可以是网络中的一台计算机,不过当DNS解析出现错误,例如把一个域名解析成一个错误的IP地址,或者根本不知道某个域名对应的IP地址是什么时,我们就无法通过域名访问相应的站点了,这就是DNS解析故障。
  出现DNS解析故障最大的症状就是访问站点对应的IP地址没有问题,然而访问他的域名就会出现错误。
  二、如何解决DNS解析故障:
  当我们的计算机出现了DNS解析故障后不要着急,解决的方法也很简单。
  (1)用nslookup来判断是否真的是DNS解析故障:
  要想百分之百判断是否为DNS解析故障就需要通过系统自带的NSLOOKUP来解决了。
  第一步:确认自己的系统是windows 2000和windows xp以上操作系统,然后通过“开始-&运行-&输入CMD”后回车进入命令行模式。
  第二步:输入nslookup命令后回车,将进入DNS解析查询界面。
  第三步:命令行窗口中会显示出当前系统所使用的DNS服务器地址,例如笔者的Dns服务器IP为202.106.0.20。
  第四步:接下来输入你无法访问的站点对应的域名。例如笔者输入,假如不能访问的话,那么DNS解析应该是不能够正常进行的。我们会收到DNS request timed out,timeout was 2 seconds的提示信息。这说明我们的计算机确实出现了DNS解析故障。
  小提示:如果DNS解析正常的话,会反馈回正确的IP地址,例如笔者用这个地址进行查询解析,会得到name:jb51.net,addresses:61.129.70.67,61.135.133.104的信息。
  (2)查询Dns服务器工作是否正常:
  这时候我们就要看看自己计算机使用的DNS地址是多少了,并且查询他的运行情况。
  第一步:确认自己的系统是windows 2000和windows xp以上操作系统,然后通过“开始-&运行-&输入CMD”后回车进入命令行模式。
  第二步:输入ipconfig /all命令来查询网络参数。
  第三步:在ipconfig /all显示信息中我们能够看到一个地方写着DNS SERVERS,这个就是我们的DNS服务器地址。例如笔者的是202.106.0.20和202.106.46.151。从这个地址可以看出是个外网地址,如果使用外网DNS出现解析错误时,我们可以更换一个其他的Dns服务器地址即可解决问题。
  第四步:如果在DNS服务器处显示的是自己公司的内部网络地址,那么说明你们公司的DNS解析工作是交给公司内部的DNS服务器来完成的,这时我们需要检查这个DNS服务器,在DNS服务器上进行nslookup操作看是否可以正常解析。解决 Dns服务器上的DNS服务故障,一般来说问题也能够解决。
  (3)清除DNS缓存信息法:
  当计算机对域名访问时并不是每次访问都需要向DNS服务器寻求帮助的,一般来说当解析工作完成一次后,该解析条目会保存在计算机的DNS缓存列表中,如果这时DNS解析出现更改变动的话,由于DNS缓存列表信息没有改变,在计算机对该域名访问时仍然不会连接Dns服务器获取最新解析信息,会根据自己计算机上保存的缓存对应关系来解析,这样就会出现DNS解析故障。这时我们应该通过清除DNS缓存的命令来解决故障。
  第一步:通过“开始-&运行-&输入CMD”进入命令行模式。
  第二步:在命令行模式中我们可以看到在ipconfig /?中有一个名为/flushdns的参数,这个就是清除DNS缓存信息的命令。
  第三步:执行ipconfig /flushdns命令,当出现“successfully flushed the dns resolver cache”的提示时就说明当前计算机的缓存信息已经被成功清除。
  第四步:接下来我们再访问域名时,就会到Dns服务器上获取最新解析地址,再也不会出现因为以前的缓存造成解析错误故障了。
  (4)修改HOSTS文件法:
  修改HOSTS法就是把HOSTS文件中的DNS解析对应关系进行修改,从而实现正确解析的目的。因为在本地计算机访问某域名时会首先查看本地系统中的HOSTS文件,HOSTS文件中的解析关系优先级大于Dns服务器上的解析关系。
  这样当我们希望把某个域名与某IP地址绑定的话,就可以通过在HOSTS文件中添加解析条目来实现。
  第一步:通过“开始-&搜索”,然后查找名叫hosts的文件。
  第二步:当然对于已经知道他的路径的读者可以直接进入c:\windows\ system32\drivers\etc目录中找到HOSTS文件。如果你的系统是windows 2000,那么应该到c:\winnt\system32\drivers\etc目录中寻找。
  第三步:双击HOSTS文件,然后选择用“记事本”程序将其打开。
  第四步:之后我们就会看到HOSTS文件的所有内容了,默认情况下只有一行内容“127.0.0.1 localhost”。(其他前面带有#的行都不是真正的内容,只是帮助信息而已)
  第五步:将你希望进行DNS解析的条目添加到HOSTS文件中,具体格式是先写该域名对应的 IP地址,然后空格接域名信息。例如笔者添加了“61.129.70.67&”与“10.82.0.1&”两个条目。
  第六步:设置完毕后我们访问时就会自动根据是在内网还是外网来解析了。
  三、总结:
  通过上面介绍的四个步骤,我们就可以解决大部分DNS解析问题了,这几个方法中前三个是循序渐进的一步步解决DNS解析故障,而最后一个修改HOSTS文件则是在实在没有办法的时候,一种权宜之计。当然不管是通过哪种方法,我们都可以解决因为 DNS解析错误带来的网络故障。相信这些方法可以帮助各位jb51的读者解决更多的实际问题。
转载注明本文地址:
如果觉得《域名解析错误导致输入域名不访问而直接输入网站IP却可以正常访问》不错,请把本站告诉您身边的朋友!
上一编:下一编:
正在加载 域名解析错误导致输入域名不访问而直接输入网站IP却可以正常访问 评论...&&&&&&&&&&&&&&&&&&
posts - 1214,comments - 452,trackbacks - 24
使用负载均衡实现,传统和常规做法,其他方式需要特殊处理。(dns轮询,或者自己做解析)1、一个域名设定多个dns服务或者服务器进行解析,同一个域名的每个解析都指向不同的ip地址,这样应答快的dns优先进行解析,这样就能保证最快定向到指定的网站空间去。如果空间也存在不同地点的相同内容镜像,那么这种方式最适合,例如sohu全国都有服务器,就是这么干的,除非你指定要访问某个地方的服务器,否则默认转向最快的空间,因为内容是镜像自动同步的,内容上不存在差别,用户是不知道的。一般域名管理机构只允许设定2到3个域名解析服务,所以再多就不支持了。2、自己公司建立服务器,给自己进行dns解析服务,这样容易实现以上功能的操做。且数量不受限制,例如给客户提供移动、联通、网通、电信、东方宽带、长城宽带等等多个dns,那么使用对应宽带的用户都能自动定向到适合自己的网站去,企业可以分别在不同运营商那里建立网站,保证不同带宽的用户都能高速访问,很多游戏运营商都是这么干的。
DNS负载均衡技术是在DNS服务器中为同一个主机名配置多个IP地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的机器上去,使得不同的客户端访问不同的服务器,从而达到负载均衡的目的。&&
  DNS负载均衡的优点是经济简单易行,并且服务器可以位于internet上任意的位置。但它也存在不少缺点:&&&&
为了使本DNS服务器和其他DNS服务器及时交互,保证DNS数据及时更新,使地址能随机分配,一般都要将DNS的刷新时间设置的较小,但太小将会使DNS流量大增造成额外的网络问题。&&&&
一旦某个服务器出现故障,即使及时修改了DNS设置,还是要等待足够的时间(刷新时间)才能发挥作用,在此期间,保存了故障服务器地址的客户计算机将不能正常访问服务器。&&&&
DNS负载均衡采用的是简单的轮循负载算法,不能区分服务器的差异,不能反映服务器的当前运行状态,不能做到为性能较好的服务器多分配请求,甚至会出现客户请求集中在某一台服务器上的情况。&&&&
要给每台服务器分配一个internet上的IP地址,这势必会占用过多的IP地址。&&&&   判断一个站点是否采用了DNS负载均衡的最简单方式就是连续的ping这个域名,如果多次解析返回的IP地址不相同的话,那么这个站点就很可能采用的就是较为普遍的DNS负载均衡。但也不一定,因为如果采用的是DNS响应均衡,多次解析返回的IP地址也可能会不相同。不妨试试Ping一下,,。&&
  现假设有三台服务器来应对的请求。&&
在NT下的实现也很简单,下面详细介绍在win2000&& server下实现DNS负载均衡的过程,NT4.0类似:&&
打开&管理工具&下的&DNS&,进入DNS服务配置控制台。&&&&
打开相应DNS&& 服务器的&属性&,在&高级&选项卡的&服务器选项&中,选中&启用循环&复选框。此步相当于在注册表记录HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters中添加一个双字节制值(dword值)RoundRobin,值为1。&&&&
打开正向搜索区域的相应区域(如),新建主机添加主机&& (A)&& 资源记录,记录如下:&&&&
www&& IN&& A&& 192.1.1.1&&&& www&& IN&& A&& 192.1.1.2&&&& www&& IN&& A&& 192.1.1.3&&&&
在这里可以看到的区别是在NT下一个主机名对应多个IP地址记录,但在unix下,是先添加多个不同的主机名分别对应个自的IP地址,然后再把这些主机赋同一个别名(CNAME)来实现的。&&&&
在此需要注意的是,NT下本地子网优先级会取代多宿主名称的循环复用,所以在测试时,如果做测试用的客户机IP地址与主机资源记录的IP在同一有类掩码范围内,就需要清除在&高级&选项卡&服务器选项&中的&启用netmask排序&。
阅读(...) 评论()一个域名如果对应多个IP,那么实际访问这个域名会访问到哪个IP哪台服务器呢?
按投票排序
在域名解析过程中,通过层层解析,必将域名对应到 IP(逐级授权、中间 CNAME 层层转发,此处按下不表)对于对应到的IP,可能1个,也可能13个(不建议超过13个),DNS 会一股脑将这(些)个 IP 给解析客户端(如浏览器、操作系统的解析服务)最终的应用或系统解析服务,从中随机挑选一个(如果是定制的应用,还可以通过后续的应用层访问对获取到的 IP 做 HA 或权重)
不知道楼上的大神都在回答什么,何必搞得这么复杂?不就是负载均衡问题么!
泻药,这个是属于就近IP地址访问的算法,当我一个IP到DNS上面请求DNS域名解析的时候,DNS系统会根据你的IP地址所到达的域名对应的IP地址中路由跳数最小的那个IP地址作为访问的IP地址,具体你可以用LINUX的NSLOOKUP来查看域名所对应的IP地址,然后用PC的TRACERT的功能把所有DNS解析出来的IP地址进行跳数记录,然后在访问该域名,查看具体是哪个地址解析给你的PC。比如百度,你会发现他上面实际解析出来的不是IP地址,而是 这个域名,这个域名往下面去才是IP地址,而我估计,这个域名应该是百度自建的一个域名系统,最重要的作用就是指定你的IP所访问百度这个网址会使用到哪个IP地址,而使用CNAME有个好处就是,我IP地址去做改动的时候不需要去DNS运营商上面做改动,只需要自己的服务器做改动就好,方便自己的域名与实际IP地址做对应。以上。
一个域名可以解析出几个IP地址,例如在访问时,抓包得到的DNS响应包中有2个IP地址:221.229.167.47和58.220.39.91,如下图所示。虽然DNS解析得到了多个IP,但是大多数软件只会使用第一个IP地址,这是什么原因?TCP/IP网络通信是基于IP地址的,当要访问的服务器地址是域名时,就需要先把域名解析成IP地址。在TCP/IP API中有一个叫gethostbyname的函数,负责把域名解析成IP地址。 函数的原型定义如下,参数name就是要解析的域名。struct hostent *gethostbyname(const char *name);
函数的返回值为一个结构体指针,这个结构体的定义为:struct hostent {
/* official name of host */
/* alias list */
/* host address type */
/* length of address */
char **h_addr_
/* list of addresses */
#define h_addr h_addr_list[0] /* for backward compatibility */
结构体中的h_addr_list是一个数组,用于存放解析出的多个IP地址,但很少有程序员会去考虑多个IP地址的问题,通常直接使用宏h_addr来获取IP地址,也就是第一个IP地址。一些大型网站或CDN服务商为了实现负载均衡,他们的DNS服务器会动态改变多个IP地址的顺序,使得每个IP地址都有机会成为解析结果中的第一个IP地址。下面的小程序可以打印出解析得到的第一个IP地址,多次运行这个程序,IP地址是交替的。#include &stdio.h&
#include &netdb.h&
#include &arpa/inet.h&
#include &netinet/in.h&
int main()
struct hostent *
struct in_addr h_
if ((host = gethostbyname("")) != NULL) {
h_addr.s_addr = *((unsigned long *) host-&h_addr);
printf("%s\n", inet_ntoa(h_addr));
已有帐号?
无法登录?
社交帐号登录空间如何绑定一个或者多个域名?
总部地址: 珠海市吉大景园路6号第七层
&销售 400-622-8200
技术 400-622-8300
耐思尼克诚意为:用户提供网络服务君,已阅读到文档的结尾了呢~~
一个ip对应多个域名 查看域名对..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
对于一个域名对应多个IP的问题
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口}

我要回帖

更多关于 查询dns服务器ip地址 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信