DNS解析以及报错:wget: unable to resolve host address

DNS解析以及报错:wget: unable to resolve host address

wget: unable to resolve host address ‘ftp.gnu.org’(CentOS 7的网络配置)

问题概述:

Mac 下

最近准备在linux环境下做开发,综合参考选了CentOS7 。然后在使用wget命令下载 tar.gz 包时出现了小问题。如下所示:

[root@centos-linux-7 ~]# wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
--2018-05-03 20:05:00--  http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
Resolving ftp.gnu.org (ftp.gnu.org)... failed: Name or service not known.
wget: unable to resolve host address ‘ftp.gnu.org’

解决办法:

分析得知虚拟机在桥接下,wget 不能识别外网地址。检查是虚拟机的DNS没有配置好。

1. mac下

1. 修改vim /etc/sysconfig/network-scripts/ifcfg-eth0,在文件的最后加上
DNS1=192.168.0.1
DNS2=192.168.0.101
DOMAIN=www.tendawifi.com   #这个必须要

查找两个dns 的地址 :

  1. window 下可以通过ipconfig -all 得到。
  2. Mac 下可以通过cat /etc/resolv.conf 得到DNS1。如图所示:(注:DNS2 在此处没啥用)。
    在这里插入图片描述
DEVICE=eth0
IPV6INIT=yes
BOOTPROTO=dhcp
UUID=cb6d31b7-264f-4f65-a017-6205eb00a6a6
ONBOOT=yes
TYPE=Ethernet
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME="System eth0"
DNS1=192.168.0.1
DNS2=192.168.0.101
DOMAIN=www.tendawifi.com   #这个必须要
2. 这个配置好之后我们可以通过cat /etc/resolv.conf查看到resolv.conf自动增加了这三行配置
nameserver 192.168.0.1
nameserver 192.168.0.101
search www.tendawifi.com 
3. 以root身份重启network 服务
service network restart
4. 再执行wget下载 一切顺畅:

其他相关命令:

  1. systemctl status network 查看网络状态
  2. systemctl stop NetworkManager 关闭网络
  3. systemctl start network 启动网络

2. Window 下

1. 查询DNS

在命令行中根据ipconfig -all 查询主机的DNS,以及虚拟机的IPv4地址。

2. 配置DNS
  1. 转到cd /etc/sysconfig/network-scripts下,

  2. 通过ls找到你的网络配置文件,例如ifcfg-eno16777736

  3. 修改如下配置:

    ONBOOT=yes  #开启自动启用网络连接 
    IPADDR0=192.168.21.128  #设置IP地址 
    PREFIXO0=24  #设置子网掩码 
    GATEWAY0=192.168.21.2  #设置网关 
    DNS1=202.101.172.46  #设置主DNS
    
  4. 修改完成之后输入:wq!保存退出

  5. 重启网络 service network restart

  6. 测试网络是否正常ping www.linuxidc.com

  7. 查看ip地址ip addr

  8. 设置主机名为www
    编辑配置文件 vi /etc/hostname #
    www #修改localhost.localdomainwww
    :wq! 保存退出即可设置hostname www #设置主机名为www
    编辑配置文件 vi /etc/hosts
    127.0.0.1 localhost www #修改localhost.localdomainwww
    保存退出 :wq!




wget: unable to resolve host address解决方法

问题:

利用wget下载东西时,比如输入指令wget www.baidu.com

提示报错

“wget: unable to resolve host address …”
wget:无法解析主机地址。这就能看出是DNS解析的问题

解决办法:

修改/etc/resolv.conf文件,添加nameserver即可,下面给出两个通用的谷歌域名服务器,如果有自己解析服务器也可以换成自己的

vim /etc/resolv.conf
nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器




wget: unable to resolve host address亲测有效办法(虚拟机ping不通宿主机与外网)

问题:

centos7虚拟机使用wget命令时,解析出现问题;
wget: unable to resolve host address以及ping不通外网

现象:

我的虚拟机使用连接方式的是nat,
宿主机能ping通Vmnet8,虚拟机ip,
但是虚拟机(centos7)只能ping通VMnet8自己的网关,宿主机与外网ping不通。

百度csdn等等找了很多;
什么在 vi /etc/reslov.conf里面修改dns=8.8.8.8为谷歌的,
在网络配置里面设置静态ip等等,没有一个能够使用的;
桥接模式也试过总是会出现问题;

解决方法:虚拟机选择编辑---------虚拟网络编辑--------选择NAT模式,

在这里插入图片描述
选中还原默认设置
在这里插入图片描述
之后重新刷新网络解决不能wget与ping不通外网的问题!
在这里插入图片描述
在这里插入图片描述
亲测没问题!
网上的有时候只会复制粘贴,自己都没试过直接发布,复制别人的,结果都不能使用。

刚接触linux,有问题请多多探讨!




服务器配置填坑 wget: unable to resolve host address解决方法,最终成功

项目上线,手续要配置服务器,甲方机房在单位内,无法使用公司云服务器。于是配置坑来了

配环境下载包,ubutun 16显示如下错误:

wget: unable to resolve host address

wget:无法解析主机地址。这就能看出是DNS解析的问题

解决办法一【失败】:

修改/etc/resolv.conf文件,添加nameserver即可,下面给出两个通用的谷歌域名服务器,如果有自己解析服务器也可以换成自己的

vim /etc/resolv.conf
nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器

解决办法二【失败】:

网上百度说resolv.conf 现在归systemd管,果然找到了/etc/systemd/resolved.conf 文件:
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See resolved.conf(5) for details
 
[Resolve]
#DNS=
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
#DNSStubListener=yes

而里面也有我想找的DNS

解决方法
sudo vim /etc/systemd/resolved.conf 

然后修改DNS,例如:

[Resolve]
DNS=114.114.114.114
DNS=8.8.8.8
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
#DNSStubListener=yes

然后

systemctl restart systemd-resolved.service

查看结果:

$ systemd-resolve --status
Global
         DNS Servers: 114.114.114.114
                      8.8.8.8
          DNSSEC NTA: 10.in-addr.arpa
                      16.172.in-addr.arpa
                      168.192.in-addr.arpa
                      17.172.in-addr.arpa
                      18.172.in-addr.arpa                      
                      19.172.in-addr.arpa

解决办法三【成功】:

前面提到固定IP的上网方式主要是修改/etc/network/interfaces这个文件,配置IP、网关什么的,其实这里面还有个参数可以配置,那就是DNS了,对应的参数名为dns-nameservers,这里设置的优先级比resolv.conf高,也就是网络会从这里读取DNS配置,如果没配置才去看resolv.conf里面的设置,因此在这里面配置DNS更简单。

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto eth0

iface eth0 inet static
address 192.168.1.151
netmask 255.255.255.0
gateway 192.168.1.2

dns-nameservers 10.250.0.1 #单位机房DNS
== 重启虚拟机网络 ==

配置完成后,重启网络即可,也有好几种方法:

sudo service networking restart 

或者

sudo /etc/init.d/networking restart

也可以重启网卡:

sudo ifconfig eth0 down 
sudo ifconfig eth0 up

重启网卡对别的网卡无影响,更推荐一些。

赶紧ping下www.baidu.com,显示可以上网了。

附:几个检查DNS的命令:

似乎在较新的Linux系统上,您无法通过执行cat /etc/resolv.conf来检查DNS.它现在由systemd-resolve –status完成.

按照最后成功的方法 输入 systemd-resolve –status 结果如图,配置是失败的,但是,不影响,可以上网了
在这里插入图片描述




DNS域名解析

一、DNS是什么

DNS(Domain Name Server)域名解析系统

功能:负责将域名转换成网络可以识别的IP地址,比如将www.Baidu.com.cn转换成

119.75.217.109,域名和IP地址之间一一对应。

互联网中连接了无数的服务器、个人主机,也有不计其数的网站、邮件等服务器,他们都使用了域名形式的地址,例如www.baidu.com,www.aliyun.com 等等。很明显,这些网站都是有自己的IP地址的,但相较于数字形式的地址以及IP地址的变动性的可能,很明显,上面的字母组成的形式的IP结构更能让人直观的记住,这就是DNS的作用:通过输入的域名将其转换成对应的IP地址来使用以找到正确的资源位置。

二、DNS系统

事实上,全球分布着13台DNS根服务器

13个根服务器的分布地点及IP地址:

A,INTERNIC.NET(美国弗吉尼亚州),IP地址:198.41.0.4

B,美国信息科学研究所(美国加利弗尼亚州),IP地址:128.9.0.107

C,PSINet公司(美国弗吉尼亚州),IP地址:192.33.4.12

D,马里兰大学(美国马里兰州) IP地址:128.8.10.90

E,美国航空航天管理局(美国加利弗尼亚州),IP地址:192.203.230.10

F,因特网软件联盟(美国加利弗尼亚州),IP地址:192.5.5.241

G,美国国防部网络信息中心(美国弗吉尼亚州),IP地址:192.112.36.4

H,美国陆军研究所(美国马里兰州),IP地址:128.63.2.53

I,Autonomica公司(瑞典斯德哥尔摩),IP地址:192.36.148.17

J,VeriSign公司(美国弗吉尼亚州),IP地址:192.58.128.30

K,RIPE NCC(英国伦敦),IP地址:193.0.14.129

L,IANA(美国弗吉尼亚州),IP地址:198.32.64.12

M,WIDE Project(日本东京),IP地址:202.12.27.33

根服务器主要用来管理互联网的主目录,全世界只有13台(这13台根域名服务器名字分别为“A”至“M”),1个为主根

服务器在美国。其余12个均为辅根服务器,其中9个在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本。

正向解析: 根据域名查找对应的IP地址,查询hosts文件(主机A记录)
反向解析: 根据IP地址查找对应的域名(主机P记录)

DNS系统的结构可以理解为:根>顶级域名>二级域名>三级域名>四级域名

因为这样的结构,所以在网络角度域名的解读其实是反着来的www.baidu.com.cn.

即:www              .baidu                  .com                 .cn              .

 

 主机名     。。 子域    。。         一级域            顶级域        根域

顶级域名有:cn,uk,jp,us,de…(国家地区)edu,org,gov,com…(机构组织)

具体的含义和更详细的分类,这里就不做解释了。

三、DNS查询类型

(1)递归查询

递归查询是一种DNS服务器的查询模式在该模式下DNS服务器接收客户机请求,必须使用一个准确的查询结果回复客户机。如果DNS服务器本地没有存储查询 DNS信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机。也就是客户机发送请求后自己只用等待结果即可,中间具体过程交给服务器实现。

(2)迭代查询

DNS查询时S服务器查询结果,而告诉客户机另一台DN服务器地址,客户机再向这台NS服务器提求,依环直到回查询的结果为止。也就是说,客户机的请求需要自己挨个去查询才能得到结果,服务器没有结果时候只会给你提供其它服务器的地址,而不会帮你去请求查询。

本地DNS查找的顺序:
  1. 缓存

  2. /etc/hosts (存放本地域名与IP的映射关系)

    [root@ljp /]# cat /etc/hosts
    
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    
  3. /etc/resolv.conf (DNS的配置文件)

    [root@ljp /]# cat /etc/resolv.conf
    
    # Generated by NetworkManager
    nameserver 114.114.114.114
    
  4. /etc/sysconfig/network-scripts/ifcfg-ens33 (配置单个网卡的DNS)

    在这里插入图片描述

DNS提供

*114.114.114.114是国内移动、电信和联通通用的DNS,手机和电脑端都可以使用。

8.8.8.8是GOOGLE公司提供的DNS,该地址全球通用,相对来说,更适合国外以及访问国外网站的用户使用

223.5.5.5 和223.6.66:阿里云DNS

IPV6 2400:3200:1 和2400:3200baba::1

江苏省南京市(中国电信)

首选DNS为:218.2.135.1 备用DNS为:61.147.37.1

四、DNS服务器类型

主域名服务器:负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。

从域名服务器:当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。

缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但没有域名数据库。它从某个远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息时用它予以响应。缓存域名服务器不是权威性服务器,因为提供的所有信息都是间接信息。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。

转发域名服务器:负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。

五、正向解析实验

1、检查工具是否存在

在centos7中检查是否有Bind工具,如果没有,使用yum下载。

rpm -q Bind
bind-9.11.4-26.P2.el7_9.9.x86_64
2、查看配置文件
rpm -qc bind  查看配置文件位置
[root@ljp /]# rpm -qc bind
/etc/logrotate.d/named
/etc/named.conf               #主配置文件
/etc/named.iscdlv.key
/etc/named.rfc1912.zones      #区域配置文件
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost    #区域数据文件
/var/named/named.loopback
3、修改区域配置文件,添加正向区域配置
vim  /etc/named.conf
options {
	listen-on port 53 { 192.168.116.23; };    #监听端口53,ip192.168.116.23
	listen-on-v6 port 53 { ::1; };
	directory 	"/var/named";
	dump-file 	"/var/named/data/cache_dump.db";
	statistics-file "/var/named/data/named_stats.txt";
	memstatistics-file "/var/named/data/named_mem_stats.txt";
	recursing-file  "/var/named/data/named.recursing";
	secroots-file   "/var/named/data/named.secroots";
	allow-query     { 192.168.116.0/24; };       #允许通过192.168.116.0网段
vim  /etc/named.rfc1912.zones

其中:

zone “1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa” IN

相当于分界线,往上是正向解析,往下是反向解析

复制“分界线”上面的样例进行配置:

zone "ljp.com" IN {
        type master;
        file "ljp.com.zone";
        allow-update { none; };
};
4、配置正向区域数据文件
touch  /var/named/ljp.com.zone                 #创建ljp.com.zone正向数据文件
cp -p named.localhost ./ljp.com.zone        #将named.localhost保留权限的复制到ljp.com.zone
 vim   /var/named/ljp.com.zone
$TTL 1D
@	IN SOA	ljp.com.  admin.ljp.com. (
					0	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
	NS	ljp.com.
	A	192.168.116.23
	AAAA	::1
IN MX 10                      mail.ljp.com.
WWW IN  A                     192.168.116.23
mail IN  A                    192.168.116.223
ftp     IN CNAME   www       
*       IN   A                192.168.116.200

启动服务

systemctl start named

关闭防火墙

systemctl stop firewalld 

查看服务状态

systemctl status named

在这里插入图片描述

5、更改dns(三种方法)

/etc/hosts (修改立即生效)

/etc/resolv.conf (修改立即生效,须删除其他DNS)

/etc/sysconfig/network-scripts/ifcfg-ens33 (设置完成后须重启网卡设备)

6、查看测试结果

(测试前要在/etc/hosts 和 /etc/resolv.conf 文件中删除其他的DNS服务器)

nslookup www.ljp.com
nslookup ljp.com
nslookup mail.ljp.com
[root@ljp network-scripts]# nslookup ljp.com
Server:		192.168.116.23
Address:	192.168.116.23#53
 
Name:	ljp.com
Address: 192.168.116.23
Name:	ljp.com
Address: ::1
 
[root@ljp network-scripts]# nslookup mail.ljp.com
Server:		192.168.116.23
Address:	192.168.116.23#53
 
Name:	mail.ljp.com
Address: 192.168.116.24
 
[root@ljp network-scripts]# nslookup ftp.ljp.com
Server:		192.168.116.23
Address:	192.168.116.23#53
 
ftp.ljp.com	canonical name = www.ljp.com.
Name:	WWW.ljp.com
Address: 192.168.116.23







码农飞哥

wget: unable to resolve host address ‘ftp.gnu.org’(CentOS 7的网络配置)

huanbia

wget: unable to resolve host address解决方法

asdf-kk  ·

wget: unable to resolve host address亲测有效办法(虚拟机ping不通宿主机与外网)

huaishitou

服务器配置填坑 wget: unable to resolve host address解决方法,最终成功

正大光明瑞士卷

DNS域名解析

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坦笑&&life

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值