注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

成功源于细节

梦想、奋斗、收获

 
 
 

日志

 
 
 
 

PYCURL ERROR 6 - "Couldn't resolve host 'software.virtualmin.com'"  

2016-04-27 13:56:34|  分类: linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |


http://SERIALNUMBER:LICENSEKEY@software.virtualmin.com/gpl/universal/repodata/18d6802fdccde1a56846ff6ea7f89c2d4a9dfbc5-other.sqlite.bz2: [Errno 14] PYCURL ERROR 52 - "Empty reply from server"

Trying other mirror.


http://SERIALNUMBER:LICENSEKEY@software.virtualmin.com/gpl/rhel/6/x86_64/repodata/repomd.xml: [Errno 14] PYCURL                                                                                ERROR 6 - "Couldn't resolve host 'software.virtualmin.com'"


从这个报错,可以很明显的发现是域名解析不了。于是做如下排查。

1. 故障排除

1. 1 测试域名是否能解析到

简单的使用ping来测试,发现DNS解析是OK。

1
2
3
# ping -c 1 www.ttlsa.com
PING www.ttlsa.com (173.255.219.122) 56(84) bytes of data.
64 bytes from rpms.adiscon.com (173.255.219.122): icmp_seq=1 ttl=51 time=222 ms

1.2 测试curl是否有故障

因为php程序调用的是curl,所以我们测试一下curl是否能够正常解析dns

1
2
# curl  www.ttlsa.com
curl: (6) Couldn't resolve host 'www.ttlsa.com'

竟然真的不行,这种奇葩问题首次遇到.

2. 解决问题

尝试解决方法:

修改dns

1
2
3
4
5
6
# cat /etc/resolv.conf | grep names
nameserver 218.85.157.99
nameserver 218.85.152.99
改为
nameserver 114.114.114.114
nameserver 8.8.8.8

重新测试curl,问题得到解决。


----------------但问题又来了!!!-----------

CentOS DNS resolv重启清空的解决方法 


直接修改/etc/resolv.conf不行,重启后/etc/resolv.conf恢复到原来的状态了。


必须要在/etc/sysconfig/network-scripts/ifcfg-eth0里面最后加上dns的设置。要不然,重启后,肯定使用eth0设置中没有设dns的相关信息,使/etc/resolv.conf恢复到原来的状态。


# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=none
HWADDR=00:xx:19:xx:xx:xx
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes
NETMASK=255.255.255.0
IPADDR=xxx.xxx.xxx.xxx
GATEWAY=xxx.xxx.xxx.xxx
DNS1=8.8.8.8 #google dns服务器, 根据实际情况更换
DNS2=8.8.4.4 #google dns服务器,根据实际情况更换

这样设置后/etc/resolv.conf里面根本就不需要设置。
service network restart
可以发现/etc/resolv.conf里面就有两个dns的解析ip了。

# cat /etc/resolv.conf

Generated by NetworkManager
nameserver 8.8.8.8
nameserver 8.8.4.4
search localdomain

DNS解析设置成功。

    在此要强调一点的是,直接修改/etc/resolv.conf这个文件是没用的,网络服务重启以后会根据/etc/sysconfig/network-scripts/ifcfg-eth0来重载配置,如果ifcfg-eth0没有配置DNS,那么resolv.conf会被冲掉,重新变成空值。

哎,不知道为啥以前装的系统没有出现这样的情况呢?

最后:vim /etc/sysconfig/network-scripts/ifcfg-eth0 里加

PEERDNS=no

这样,/etc/resolv.conf里面不会被还原了。



总结:

1.ping用的是/etc/sysconfig/network-scripts/ifcfg-eth0的里dns

2.curl用的是/etc/resolv.conf里的dns

  评论这张
 
阅读(207)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017