在Linux中设置DNS
DNS简介
DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访
互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名
析)。DNS协议运行在UDP协议之上,使用端口号53。
DNS的设置与修改
通过编辑本地解析文件
- 本地解析文件在我们Linux中的 /etc/hosts 文件内,我们要修改DNS的设置,需要编辑此文本
- 文件中写入我们需要上网的网址及网址的ip地址
- 我们即可通过编辑本地解析文件访问我们需要上网的网站
没有编辑本地解析文件和DNS指向文件之前,无法通过域名来访问网址,只能使用网址的IP地址进行访问:
编辑本地解析文件:
编辑完成后即可通过写入文件的域名来访问对应网址:
通过编辑DNS指向文件
- DNS指向文件在我们Linux中的 /etc/resolv.conf文件内,我们要修改DNS的设置,需要编辑此文本
- 第二行编辑 nameserver 114.114.114.114 指定我们使用的域名服务
- 此时我们在即可通过网址访问所有的网站
如果我们想访问其他网站,需要往本地解析里添加网站的IP和域名,我们可以编辑DNS指向文件自动向系统索要网址的IP地址:
在/etc/resolv.conf中,设定域名服务器,当我们浏览网站时会自动获取域名服务器的IP地址
现在可以直接访问在本地解析文件中没有写入的网址:
注意:本地解析文件的优先级默认比DNS指向文件的优先级高
调整优先级的方法:
- DNS优先级的配置文件在 /etc/nsswitch.conf 中,我们进入编辑模式编辑此文件
- 第39行中默认为 files dns 前者为本地解析文件,后者为DNS指向文件,排列的顺序代表着优先级的高低,将其修改为dns files即为调整了DNS指向文件的优先级高
默认本地解析文件的优先级高
修改后dns指向文件的优先级高
配置静态DNS
配置静态网卡中的静态DNS:
在网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 中,我们新增参数:
DNS1=
DNS2=
最多可以配置两个DNS指向,重启网络后,我们查看DNS配置文件,静态网卡中DNS配置不会发生改变
配置开启DHCP服务网卡中的静态DNS:
由于每次重启网络都会分到新的IP,所以在常规状态下重启网络后DNS配置文件会自动获取新的DNS路径,下面解决这个问题:
在网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 中,我们新增参数:
PEERDNS=no
重启网络,此时 DNS配置文件 /etc/resolv.conf 中的文件将回复默认,我们修改其中的文件:
nameserver=114.114.114.114
重启网络后,我们查看DNS配置文件,发现DNS的配置文件也不会发生改变