问题引入
# 我们平时在网址栏访问网址的时候,
比如 : 访问 百度 的时候,是怎样访问的 ?
===>>>
那是不是就是在 地址栏 我们输入 www.baidu.com 随后就跳转到 百度的页面去了~!
但实际是 :
===>>>
真正要访问 百度 的服务器时,使用的是 IP + 端口号 的形式去访问的~!!
因此,最终就会 把 www.baidu.com 转化为 IP + 端口号 而后访问成功~!
我们访问一个网络或者访问一台主机,背后的机理都是 IP + 端口号形式去访问的~!
这才是背后的机理~!!!!
因此,我们对应到 Linux 里面,如果我们要去访问一台机器,只给了主机名的话,那我们
如果要访问这台机器,那我们是不是也需要把这个主机名转化为 IP .
即 : 也得需要清楚这个 主机所对应的 IP
示例 :
上示就是 我们想要访问 rhcsa 这台主机 ~!!
那我们是不是首先得知道 rhcsa 这个主机 所对应的 IP
那问题就来了 ?????
===>>>
那我怎么就知道 rhcsa 这台主机名所对应的 IP 是多少呢 ????
在 Linux 里如何通过 主机名 来找到 IP
这就是问题所在 ~!!!!!!!!!!!!
通过 /etc/hosts 文件实现域名解析
# 我们继续 以 上示为例 :
问题为 : 如何将 rhcsa 转换为 IP ???
===>>>
首先要注意的是,如果不是公网的 IP ,我们必须要在 Linux 中配置 主机名 和 IP 的映射关
系,这样就可以 从主机名 找 IP 了~!!
# 为什么要强调 不是公网的 IP
大家肯定知道 DNS 服务吧,因为所有在公网注册过的域名,是都可以通过公共的 DNS
服务器来转化解析成 IP ~!!
比如 www.baidu.com 就是公网里的 IP ~!!
那我们在哪里来 配置 主机名 和 IP 的映射关系呢 ??
===>>>
/ etc / hosts 就是 对应的配置文件~!!
我们来看看 / etc / hosts 这个配置文件里的内容
[root@fsw ~]# vim /etc/hosts
===>>>
上示就是 / etc / hosts 文件里的内容 :左边为 IP 地址,右边为对应的 主机名
我们就是在 / etc / hosts 里 去进行配置的~!!
===>>>
上示即是 我们 进行配置的 主机名 与 IP 的映射关系~!!
然后,我们再访问 rhcsa 这台主机 ( 通过 Ping )
===>>>
可以看到的是,此时你访问 rhcsa 便访问成功,并且显示了 rhcsa 所对应的 IP
这就意味着 把 rhcsa 转换成了 IP ~!!
注 :
# 如果你访问的不是公网里的 IP ,而是 指定的一个服务器的主机名的话,
那么你需要先在 linux 的配置文件里,先做 主机名和 IP 的映射,然后,你访问主机
名的时候,就会把主机名转化为 IP ,你就访问成功了~!!!!!
DNS 解析 :
第一种 :
# 这就是我们前面说的,使用公网的 DNS 服务器,可以将公网里的域名转化为 IP
就像我们访问 www.baidu.com 我们访问成功了,你可以看到,36.152.44.96
这就是 直接把 域名( www.baidu.com) 转化成了 IP
第二种 :
# 我们自己搭建了一个 DNS 服务器,提供了当前自己网络中域名解析。
比如现在,我自己搭了一个网络,域名是 : www.oupeng.com
那就是,只要你是属于这个 www.oupeng.com 这个域名,那就都可以解析
比如 : mail.oupeng.com 或者 dhcp.oupeng.com 都是属于 www.oupeng.com
那这俩域名就可以被解析~!
因为在 www.oupeng.com 里搭建了 DNS 服务器 ~!!
那在哪配置呢??
===>>>
/etc/resolv.conf
上示内容,就是配置文件里 /etc/resolv.conf 的内容
内容里的 : nameserver 8.8.8.8
是哪来的呢??
===>>>
你可以看到图的最上面 Generated by NetworkManager
是由 NetworkManger 产生的 ~!!
前面的文章在介绍 新建连接 的时候,指定 DNS 服务器的地址,这就是我们当时新建连
接的时候,指定了DNS服务器地址后,就在这里产生了~!!!
当然你也可以在这里继续编辑 :
===>>>
/ etc / resolv.conf 这个文件还可以配置下示内容 ;
nameserver // 定义 DNS 服务器的IP 地址
domain // 定义 本地域名
search // 定义 域名的搜索列表
sortlist // 对返回的域名进行排序
指定域名解析的顺序
etc/hosts和/etc/resolv.conf文件均可响应域名解析的请求,其响应的先后顺序可在文
件 / etc / nsswitch.conf 中设置。
其默认解析顺序为hosts文件、resolv.conf文件中的DNS服务器