DNS是计算机域名系统或域名解析服务器,它是由解析器以及域名服务器组成。
域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。
XXX环境域名www.sdp.com为通过万网申请的付费域名。配置了泛域解析,即所有.sdp.com后缀的子域名都能解析到XXX环境的服务器中,例如a.sdp.com,b.sdp.com,或a.b.sdp.com都能解析的XXX环境同一台服务器中。
- 引出问题:
XXX环境分为商用域和测试域,分别部署在不同的服务器中,且需要使用的子域名规格不一样。商用域涉及使用的子域名规则为xxx.sdp.com,测试域涉及使用的子域名规则为xxx.test.sdp.com
在没有使用负载均衡设备情况下,申请的域名只能解析到一台服务器对应的IP地址,即所有xxx.sdp.com子域名(包括xxx.test.sdp.com,此时xxx.test也被认为是xxx)都解析到商用域服务器。当调用测试域和商用域能力时,不能同时满足域名的自动解析到不同的服务器中的要求。
- 解决思路
将商用域服务器设置为XXX环境首选DNS服务器,专门用于解析xxx.test.sdp.com类子域名,将此类子域名映射至测试域服务器IP地址。即xxx.test.sdp.com子域名可解析至测试域名服务器,剩余的xxx.sdp.com子域名保持默认映射关系,解析至商用服务器。
- 操作方法
- 将商用服务器配置为DNS服务器
a. 以root用户登录商用域服务器
b. 安装bin组件包
配置DNS服务前目录下新增域名解析文件,需要安装bind组件包,可通过yast工具进行安装。
>rpm -qa |grep bind
c. 在/var/lib/named目录,包括正向解析文件和反向解析文件。
#vi test.sdp.com.zone
$TTL 1W @ IN SOA test.sdp.com root( 42 ;Serial(d.adams) 2D ;Refresh 4H ;Retry 6W ;Expire 1W);Minimum IN NS test.sdp.com. #这里就是我们设置的域名 IN A 192.168.8.50 dns IN A 192.168.8.50 * IN A 192.168.8.51
test.sdp.com为设置的域名
*表示解析test.sdp.com所有子域名
192.168.8.50为商用域服务器IP地址
192.168.8.51为测试域服务器IP地址
#vi 192.168.8.zone
$TTL 1W @ IN SOA test.sdp.com root( 42 ;Serial(d.adams) 2D ;Refresh 4H ;Retry 6W ;Expire 1W);Minimum IN NS test.sdp.com. #这里就是我们设置的域名 56 IN PTR test.sdp.com.
d. 配置/etc/named.conf文件,将需要解析的域名文件信息添加至此配置文件中。
添加如下信息:
zone "test.sdp.com" in { #正向解析区域 type master; #主区域 file "test.sdp.com"; #正向解析区域文件名,在"/var/lib/named"目录中自行创建 }; zone "8.168.192.in-addr.arpa" in { #反向解析区域 type master; #主区域 file "192.168.8.zone"; #反向解析区域文件名,在"/var/lib/named"目录中自行创建 };
e. 配置/etc/resolv.conf文件,将此服务器设置为首选DNS服务器。
在文件中添加如下信息:
nameserver 192.168.8.50
f. 执行rcnamed restart命令重启域名服务。
2. 设置测试域服务器的首选DNS服务器为商用域服务器。
a. 以root用户登录测试域服务器。
b. 配置/etc/resolv.conf文件,将商用域服务器作为服务器的首选DNS服务器。
在文件中添加如下信息:
nameserver 192.168.8.50
c. 执行rcnamed restart命令重启域名服务。
3. 在商用域服务器中执行nslookup命令测试域名解析是否正确。
#nslookup a.sdp.com 商用子域名
server: 192.168.8.50 Address: 192.168.8.50#53 Name: a.sdp.com Address: 192.168.8.50
下面一行Address的IP地址表示域名解析后的IP地址,子域名解析到商用服务器IP地址,表示解析正确。
#nslookup a.test.sdp.com 测试子域名
server: 192.168.8.50 Address: 192.168.8.50#53 Name: a。test.sdp.com Address: 192.168.8.51
下面一行Address的IP地址表示域名解析后的IP地址,子域名解析到测试域服务器IP地址,表示解析正确。