学过网络基础的同学都知道,我们要想在网络中通信,必须依赖ip地址才可以。而ip地址的记忆成本有些大,所以在浏览网站时,我们一般会通过域名来访问。网络中有个叫DNS的服务,为我们提供域名解析的功能,将域名解析到对应的IP地址。网络中的DNS服务非常多,这些DNS服务器我们一般称之为Public DNS,中文名为公共DNS服务器。
为什么有那么多的Public DNS呢?一个原因是解决负载的问题,还有一个是做访问限制。什么是访问限制呢?简单来说就是不允许你访问某些网站,方法非常简单,将请求的域名,对应到一个不可访问的IP地址上即可,就像我们平时访问不了谷歌,就是这个原因。如何突破这种限制?一个是通过静态解析文件hosts实现,还有一个就是搭建一个属于自己的公用DNS。
下面我们用最简单步骤搭建一台公用的DNS。这里以CentOS6为例,小版本不限制。
首先安装服务,安装的命令大家都知道,直接yum就行了,命令如下:
- yum -y install bind-*
成功之后的效果图如下:
有同学可能注意到,这里我们安装了bind-chroot,这是安全性的增强工具,会把本地的服务根目录限制在/var/chroot,因为我们要做公共DNS服务器,也就是说,可以提供给你身边的人使用,会公布在互联网中,安全问题当然也是我们要考虑的。
然后编写配置文件,CentOS6的配置文件在/etc/named.conf,使用vim命令修改就行了,命令如下:
- vim /etc/named.conf
将listen-on port 53 { 127.0.0.1; };删除即可。
最后启动服务:
- service named start
- #启动服务
- chkconfig named on
- #开机启动
如果主机开启了防火墙,还需要打开DNS的端口53,参考命令如下:
- iptables -A INPUT -p all –dport 53 -j ACCEPT
DNS使用TCP/UDP的53端口,所以需要同时打开,最后我们测试一下,看看效果:
原理:bind服务安装后,默认配置为缓存服务器模式。在请求域名时,会自动询去问根服务器,然后通过迭代查询,确认最终解析地址,返回给客户端同时,在本地会保留一份,已备再次查询。
www.ysidc.top 西数超哥博客,数据库,西数超哥,虚拟主机,域名注册,域名,云服务器,云主机,云建站,ysidc.top