linux 下无法访问域名 无法访问域名,可以访问IP

内网都可以通,可是访问不了域名,ping域名也没有返回,可是ping外网IP可以通,也可以ping通外网的DNS服务器,用IP访问域名可以成功,iptable已经关闭

 前段时间在linux下调用另外合作方url页面的时候。如果对方是ip的话能够访问,域名则访问不了,每次都报:Exception:java.net.UnknownHostException: msgmanager.com。不知道咋回事。感觉特别奇怪。首先对方域名是没问题的。我写的页面也是没问题的。应为通过ip可以成功访问的呀。这就奇怪了。

  今天在一个合作方 的提示下终于搞定了。首先让我在linux下ping msgmanager.com 他的域名,结果问题里面就出现了。报的ping uknown host msgmanager.com,原来是linux域名设置的问题。开始一直没想到这个一直从程序代码中找问题。

   后来vi /etc/hosts 了一下,在里面添加了218.30.105.111 msgmanager.com,ok了。原来是linux没法自动解析域名。或者是我的域名服务器没有设置。

  网上搜了一下Linux域名服务器设置:

来自:http://www.linuxidc.com/Linux/2007-03/2669.htm

位于/etc目录下的有:

hosts,host.conf,resolv.conf,named.boot,named.conf

1、“hosts”文件,定义了主机名和ip地址的对应,其中也有将要运行dns这台电脑的ip地址和主机名。内容:

127.0.0.1 localhost.localdomain localhost

2、“host.conf”文件[Boban注:原来误写成hosts.conf],"order hosts bind"语句,指定了对主机名的解析顺序是先到hosts中查找,然后到dns服务器的记录里查找。“multi on”则是允许一个主机名对应多个ip地址。内容:

order hosts, bind

multi on

nospoof on

3、“resolv.conf”文件,“nameserver 10.0.0.211”指定了dns服务器的地址。注意,这个文件对普通非dns服务器的电脑(非windows的系统;Windows系统是在“网络属性”中设置这项的)来说,是必不可少的。你如果没有设置本机为dns服务器,你又要能够解析域名,就必须指定一个dns服务器的地址。你可以最多写上三个地址,作为前一个失败时的候选dns服务器。“domain zrs.com”指定默认的域。文件内容:

domain 21php.com

nameserver 11.0.0.1

resovl.conf文件设置成:

search localdomain

nameserver 210.82.89.253

nameserver 202.106.0.20



http://blog.csdn.net/tangmin0719/article/details/4066054

http://blog.163.com/telereceive@126/blog/static/150309229201110395052163/

http://www.linuxidc.com/Linux/2007-03/2669.htm

你可能感兴趣的:(操作系统)