什么是DNS?
域名系统(Domain Name System,缩写:DNS)是互联网的一项服务。DNS,即Domain Name System,域比如名服务器,实现域名和IP地址对应的解析。将www.baidu.com 转换成某个IP地址,或者将某个IP映射成www.baidu.com。
DNS的三种服务类型
- 主服务器:在特定区域内具有唯一性,负责维护该区域内的域名与IP地址之间的对应关系。
- 从服务器:从主服务器中获得域名与IP地址的对应关系并进行维护,以防主服务器宕机等情况。
- 缓存服务器:通过向其他域名解析服务器查询获得域名与IP地址对应关系,并将经常查询的域名信息保存至服务器本地,以此来提高重复查询的效率。
DNS原理
关于DNS的获取流程:
DNS是应用层协议,事实上他是为其他应用层协议工作的,包括不限于HTTP和SMTP以及FTP,用于将用户提供的主机名解析为ip地址。
具体过程如下:
①用户主机上运行着DNS的客户端,就是我们的PC机或者手机客户端运行着DNS客户端了
②浏览器将接收到的url中抽取出域名字段,就是访问的主机名,比如
http://www.baidu.com/
, 并将这个主机名传送给DNS应用的客户端
③DNS客户机端向DNS服务器端发送一份查询报文,报文中包含着要访问的主机名字段(中间包括一些列缓存查询以及分布式DNS集群的工作)
④该DNS客户机最终会收到一份回答报文,其中包含有该主机名对应的IP地址
⑤一旦该浏览器收到来自DNS的IP地址,就可以向该IP地址定位的HTTP服务器发起TCP连接
DNS服务的配置文件
主配置文件: /etc/named.conf
子配置文件: /etc/named.rfc1912.zones
数据目录: /var/name
高速缓存DNS服务器(非权威)
当某个访问请求解析过一个域名以后,该解析记录就放置在缓存中,以后再有同样的解析请求,就直接从缓存中提供结果,加快了访问者的应答速度。
DNS就是将访问者的域名名字转换成IP地址,然后电脑之间用IP地址来互相查找通信,前提就是DNS服务器自己有这些记录,或者他可以找到其他有这些记 录的服务器。通常因为DNS服务器安装后默认会安装13个全球根服务器地址,可以通过迭代查询方式来完成解析,所以理论上来说,只要不是人工屏蔽结果,那 么全球任意一个存在的域名,你都可以在任意的地方解析到。
服务端配置
hostnamectl set-hostname dns.westos.com 为方便区分服务端和客户端,更改主机名
yum install bind.x86_64 下载dns软件
firewall-cmd --permanent --add-service=dns 使火墙允许dns服务
firewall-cmd --reload
netstat -antlupe | grep named 查看53端口在哪开,发现53端口只能在主机当中开
vim /etc/named.conf 修改主配置文件
修改listen-on port 53 { any; }; 开放53端口
修改 allow-query {any;}; 并且允许所有主机访问
添加语句forwarders { 114.114.114.114;}; 当dns高速缓存服务器解析不到时找114.114.114.114 systemctl restart named
vim /etc/named.conf 修改主配置文件
vim /etc/resolv.conf
nameserver 172.25.60.100