Linux 关于IPV6 无法使用 wget 和 curl 的解决

长话短说,首先检查DNS问题

/etc/resolv.conf 

没有的话添加如下:

nameserver 8.8.8.8
nameserver 114.114.114.114

然后测试是否能 ping 通

ping -c 4 baidu.com
#正确返回如下
64 bytes from 123.125.115.110: icmp_seq=1 ttl=50 time=26.6 ms
64 bytes from 123.125.115.110: icmp_seq=3 ttl=50 time=26.4 ms
64 bytes from 123.125.115.110: icmp_seq=4 ttl=50 time=26.2 ms

然后发现 curl 和 wget 均无法使用

wget  baidu.com
#返回如下:
--2019-03-01 09:12:16--  http://baidu.com/
Auflösen des Hostnamen »baidu.com (baidu.com)«... Auflösen des Hostnamen »bfehlgeschlagen: Temporärer Fehler bei der Namensauflösung.
wget: kann die Host-Adresse »baidu.com« nicht auflösen


curl https://stackoverflow.com/
#返回如下:
curl: (6) Could not resolve host: stackoverflow.com; Unbekannter Fehler

#但是使用
curl -4 www.baidu.com 
正常返回

然后搜索查找发现是 Linux 的IPV6 原因导致

解决方案很多,我使用的如下:

#第一步
vi /etc/sysconfig/network
#添加内容
NETWORKING_IPV6=no

#第二步,把ipv6本地主机名解析的注释掉
vi /etc/hosts
#::1   localhost localhost6 localhost6.localdomain6

#然后重启
reboot


猜你喜欢

转载自blog.csdn.net/myarche/article/details/88049352