众所周知,DNS服务是用来将主机名和域名转换为IP地址的服务,在互联网中必须使用DNS服务的主要原因有以下两个:一、主机名和域名相对IP地址来说,更容易记忆;二、一个主机和域名可能拥有多个IP地址,并且有可能会改变。
今天所写的是真实案例,某公司总部建立了一个电商网站,随着业务发展,现有将近100个门店需要单独的站点入口。原来网址www.domain.com,DNS服务器中设置A记录指向IP:121.x.x.33,如果门店比较少,那么,我们逐一添加A记录就可以了,比如 md1.domain.com,A记录也指向IP:121.x.x.33,但是这样做的话,100个门店就要做100条DNS A记录,所以我们在这里就要使用通配符*来做DNS解析,如下图所示,我只做这一条A记录,就把所有门店的网址全部解析到了IP:121.x.x.33
通配符解析
但是这么做有个明显的问题,domain.com这个域名下面,还有邮件服务器mail.domain.com、ERP服务器 erp.domain.com、CRM服务器 crm.domain.com等等,做完上面这条通配符解析,原来的这些服务器, 全部都无法访问了,原因是通配符覆盖了同域名下所有的A记录。要解决这个问题,我们只能另辟蹊径:利用别名解析(cname),因为cname解析优先于A记录。首先,我们需要在DNS服务器上面新建一个主要区域:cndomain.com,在这个新建的主要区域里面,创建与domain.com对应的主机(A记录):mail、erp、crm等,目的IP切记一定要与domain.com里面A记录的保持一致;
新建的主要区域就是起个中转的作用
然后回到domain.com这个区域,创建cname记录,如下图所示:第一行填写crm,第二行是domain.com,第三行填写crm.cndomain.com (其他几个同样操作),至此,邮件服务器、ERP服务器、CRM服务器又能正常访问了,其实就是利用新建的主要域名做了一次跳转,比如用户访问mail.domain.com这个主机的时候,首先会跳转到mail.cndomain.com,然后再解析到正确的IP地址,这时才能打开邮件服务器登录界面,这个时间非常短,用户基本上不会有感知。
cname别名解析
经过以上几步简单的操作,解决了100个门店的域名解析问题,也解决了原有服务器域名的解析问题。