关于DNS的定义,在此不再赘述。其功能简单来说:就是网络应用程序在向某个域名请求内容时,其实并不是直接向真实的主机发送,而是先向域名服务器进行查询,得到对应的IP地址,然后才指向具体的主机上的服务进行请求。
基于以上的原理,如何进行网络迁移就变得很容易了:只需要修改机器的DNS解析,就可以设计出自己想要的网络集群组合了。
有两种方式进行修改:
本机修改
修改本机hosts,不使用额外的DNS服务器
网关修改
建立DNS服务器并进行解析设置
6.3.1 本机修改
在linux机器下面, /etc/hosts 文件里面修改地址解析。
关于/etc/host,主机名和IP配置文件:
Hosts - The static table lookup for host name(主机名查询静态表)
此代码由Java架构师必看网-架构君整理
vim /etc/hosts
进行了相应的修改的机器上面再对域名进行访问时,就直接使用本机解析,不再向其它DNS服务器请求解析。
如果没有做物理的分布式部署,所有的服务都搭建在本机上,那么可以直接使用此方法。但是如果是实现了物理分布式部署,则可以通过DNS服务器及网关配置,实现同一网关下所有机器的网络统一配置。
6.3.2 网关修改
在linux系统中使用 dnsmasq 配置一台DNS应用服务器。
然后在网关上设置相应的DNS服务器,新的主机接入到此网关(物理表现为路由器)之后,由DHCP分配IP地址和DNS服务器地址。过程如下图所示:
对于智能路由器来说,本身就相当于一台linux主机,所以可以直接在本机上安装DNS服务器,并设置DHCP。 一般情况下,openwrt里面天然集成了dnsmasq。
对 /etc/config/network 文件进行编辑,就可以设置DHCP,修改相应的代码段:
config interface 'lan' …… option dns '127.0.0.1 223.5.5.5 223.6.6.6'
当然对于不熟悉linux的同学来说,也可以通过openwrt提供的web管理界面进行设置,在此略去不表。
6.4 网络统一配置
经过上述配置,后续所有连接到此路由下面的设备,都由路由统一分配DNS服务器了。
所有连接在此路由器上的设备,不管是移动设备,还是服务器还是PC都有统一的网络配置。
如果要对整个局域网进行网络修改,只需登录DNS服务器(此处就是智能路由器)。
修改 /etc/hosts 加上域名IP映射记录,然后执行下述命令重启dnsmasq服务即可:
此代码由Java架构师必看网-架构君整理
/etc/init.d/dnsmqsq restart