在虚拟机通过主机ping百度的实验中,我们强调过一点,用虚拟机ping 百度时,必须ping百度的ip地址,
而不能ping www.baidu.com(百度的域名),是因为没有一个地址解析服务器可以将百度的域名所对应的ip地址解析出来。
那么,如何解决这个问题呢???
这就用到了本文所说的DNS--------
DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。
名称解析文件
1.在本地解析文件/etc/hosts 中把操作者把知道的域名对应的ip地址写进去
例如:将百度的ip 和 域名写入/etc/hosts中
220.181.112.244 www.baidu.com
ping www.baidu.com时可以解析出ip地址,可以ping通百度
2. 在DNS指向文件/etc/resolv.conf文件中添加知道域名解析的nameserver
例子:在DNS指向文件那种添加nameserver 114.114.114.114
nameserver 114.114.114.114
ping www.taobao.com可以解析出地址,可以ping通
注意:在动态网络下,添加是临时的;在静态网络下不是临时的
3./etc/nsswitch.com 文件确定DNS解析的优先级顺序
在本地解析文件中添加淘宝的域名 ip 172.25.254.60,在DNS指向文件中添加nameserver 114.114.114
此时ping www.taobao.com ,会通过哪个ip ping通淘宝呢???
这就和/etc/nsswitch.conf文件的设定有关系了, 默认是本地的优先级高
如更改文件的设置,改成
则再次ping www.taobao.com 时,就会是/etc/resolv.conf文件中nameserver解析出的ip了
DNS的设定方式
DNS设定在动态分配网络和静态分配网络两种情况下讨论
实验1:动态分配网络时
1.动态网络情况下,dhcp服务会自动分配ip地址,子网掩码以及DNS等等
dhcp自动分配了一个nameserver 172.25.254.250
2.若手动在/etc/resolv.conf下添加nameserver 114.114.114.114,是临时的,重启网络后,这个DNS地址消失
3.若在网络设置中设置DNS1=192.168.25.234,在/etc/resolv.conf文件中会有一个DNS设定的,有一个dhcp服务自动分配的
4.若设置PEERDNS=no,则会显示网络中DNS设定的地址
此时在/etc/resolv.conf文件下nameserver 114.114.114.114 ,还是重启网络会消失
4.将网络设置中的DNS去掉,设置PEERDNS=no,使DNS不受网卡的管控,不让dhcp服务自动分配DNS
此时,/etc/resolv.conf文件下没有DNS地址
如果手动添加,重启网络后不再消失
实验2.静态网络配置
1.静态网络下,在/etc/resolv.conf文件中添加的nameserver 重启网络不会消失
编辑文件,添加name server 114.114.114.114
重启网络
2.若在网络设置中添加DNS,则这个DNS会覆盖掉/etc/resolv.conf文件中的手动设置的一个nameserver
注意:只是覆盖掉,不是丢失
重启网络
3.若用PEERDNS=no,则会不显示网络中设定的DNS,手动添加的nameserver重新显示出来。