DNS数据配置规范 一、省DNS需要完成的域名解析
根据集团公司的要求,省级DNS应该完成对如下APN进行解析:
以某省为例:
(1)cmnet.mnc000.mcc460.gprs
(2)cmwap.mnc000.mcc460.gprs
(3)xxxx.mnc000.mcc460.gprs
(4)xxxx.ln.mnc000.mcc460.gprs
(5)RACxxxx.LACyyyy.MNC0000.MCC0460.GPRS
对上述apn解析为本地的GGSN地址;对于其它apn,向根DNS发起请求,从根DNS获取他省的DNS的地址,从他省DNS获取相应的GGSN地址。同时要求省级DNS向根DNS发递归请求不采用非递归请求。 二、DNS数据配置规范
省级DNS配置数据主要涉及如下几个文件,以某(ln)为例其它省同理:
/etc/named.conf ――DNS配置文件
var/named/ named.cmnet ――CMNET的解析文件
var/named/ named.cmwap ――CMWAP的解析文件
var/named/ named.ln ――所有某省允许全国漫游apn的解析文件
var/named/ named.ra ――SGSN之间有相邻关系路由区的解析文件
var/named/ named.xxxx ――对某个某省本地APN不允许漫游的解析文件
var/named/ named. 127.0.0 ――本DNS回送地址(loopback address)
var/named/ named. 100.0.34 ――本DNS回送地址(loopback address)
var/named/ named.cache ――根DNS配置文件
下面我们将对每个文件具体配置进行详细的规定,要求各省严格执行本规范要求的配置格式。
2.1、named.conf 文件
DNS服务器通常用named守护进程提供,不过它有一个怪异的名字,称为bind。我们研究的是bind 8,这是目前的Linux发行版本中的named程序的标准。要使用named程序,你需要安装bind软件包,我这里使用的是bind-8.2.1-7。配置bind8首先需要处理/etc/named.conf文件,通常它由一串段落构成,我们这里只能介绍最重要的部分。在DNS服务器启动的时候,/etc/init.d/inetsvc自动启动in.named域名系统进程,in.named自动去读取它的配置文件/etc/named.conf,通过/etc/named.conf我们就可以对某个域名解析启动本地的数据和引导到其他服务器。
下面根据某省主DNS的named.conf文件为例对本规范详加阐述:
/etc/named.conf是基本的配置文件,但不包含任何DNS数据,针对我们前面的设定,先建立以下/etc/named.conf,其内容如下(兰色部分为解释):
options {
directory "/var/named"; //指定in.named工作目录在/var/named
pid-file "/var/named/named.pid"; //指定in.named的进程号在为named.pid
forwarders { //采取递归方式接入根DNS
110.0.70.99;
110.0.230.245;
};
};
zone "ln.mnc000.mcc460.gprs" in { //制定ln.mnc000.mcc460.gprs为本地授权域允许全国漫游
type master; //定义为主名字服务器
file "named.ln"; //定义域名解析文件
};
zone "cmnet.mnc000.mcc460.gprs" in { //cmnet.mnc000.mcc460.gprs为本地授权域
type master;
file "named.cmnet";
};
zone "cmwap.mnc000.mcc460.gprs" in { //cmwap.mnc000.mcc460.gprs为本地授权域
type master;
file "named.cmwap";
};
zone "lmcc.mnc000.mcc460.gprs" in { //lmcc.mnc000.mcc460.gprs为本地授权域不允许全国漫游,在这里lmcc只是举个例子,根据各省应用的不同可以对本地apn自行设置。
type master;
file "named.lmcc";
};
zone " mnc0000.mcc0460.gprs" in { //mnc0000.mcc4600.gprs(ra)为本地授权域
type master;
file "named.ra";
};
zone "34.137.211.in-addr.arpa" in {. //将网络100.0.34.X里的地址映射到主机名
type master;
file "named. 100.0.34";
};
zone "4.59.10.in-addr.arpa" in { //将网络10.216.19.X里的地址映射到主机名
type master;
file "named.10.59.4";
};
zone "0.0.127.in-addr.arpa" in { //包含了127.0.0.*形式的地址到域名的转换数据
type master;
file "named.127.0.0";
};
zone "." in {
type hint;
file "named.cache"; //从named.cache 文件中获得根服务器地址
}; 2.2、named.ln文件
现在,要按 /etc/named.conf中的定义,建立各个DNS数据文件。
根据/etc/named.cmwap的定义,我们在/var/named目录下建立Named.nm,其中应该包括所有在*.nm.mnc000.mcc460.gprs域内的主机节点。下面是named.nm的例子:
@ IN SOA LNDNS01BHW.LN.GPRS.Chinamobile.com. . (
2001041804 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ) ; Minimum
;
@ IN NS LNDNS01BHW.LN.GPRS.Chinamobile.com.
@ IN NS LNDNS02BHW.LN.GPRS.Chinamobile.com.
;
LNDNS01BHW.LN.GPRS.Chinamobile.com. IN A 100.0.34.132
LNDNS02BHW.LN.GPRS.Chinamobile.com. IN A 100.0.34.132
cmwap IN A 100.0.34.130
cmnet IN A 100.0.34.130
其中第一行是SOA记录,定义了域名数据的基本信息,依次是DNS服务器名、DNS 管理员邮件地址(这里的“@“用“.“代替),括号内的第一个数字是文件版本号(一般为当天的时间和修改次数组成),每次本文件内容修改后,必须更改此号。其余数字与DNS服务器直接的数据交换有关,在这里我们不需要改动。 括号后面有一条IN NS记录,定义了域名服务器本身的域名;IN A记录定义了对域名服务器和*.nm..mnc000.mcc460.gprs域内的主机节点 的DNS域名到IP地址的记录的解析结果,是必须有另一种记录是MX记录。MX是邮件地址转换记录,这里忽略。
2.3、named.cmnet文件
现在,要按 /etc/named.conf中的定义,建立各个DNS数据文件。根据/etc/named.cmnet的定义,我们在/var/named目录下建立named.cmnet,其中应该包括所有在*.cmnet.mnc000.mcc460.gprs域内的主机节点。下面是named.cmnet的例子:
@ IN SOA LNDNS01BHW.LN.GPRS.Chinamobile.com.. (
2001041804 ; Serial //序号,被区传送保留使用
10800 ; Refresh //区更新周期
3600 ; Retry //区传送失败后重试间隔
604800 ; Expire //区数据不再是权威的经过的时间
86400 ) ; Minimum //此区的任何资源记录的缺省TTL值
;
@ IN NS LNDNS01BHW.LN.GPRS.Chinamobile.com.
@ IN NS LNDNS02BHW.LN.GPRS.Chinamobile.com.
;
LNDNS01BHW.LN.GPRS.Chinamobile.com. IN A 100.0.34.132
LNDNS02BHW.LN.GPRS.Chinamobile.com. IN A 100.0.34.133
@ IN A 100.0.34.130
2.4、named.cmwap文件
根据/etc/named.cmwap的定义,我们在/var/named目录下建立named.cmwap,其中应该包括所有在*.cmwap.mnc000.mcc460.gprs域内的主机节点。下面是Named.cmwap的例子:
@ IN SOA LNDNS01BHW.LN.GPRS.Chinamobile.com. flying.HUAWEI.com. (
2001041804 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ) ; Minimum
;
@ IN NS LNDNS01BHW.LN.GPRS.Chinamobile.com.
@ IN NS LNDNS02BHW.LN.GPRS.Chinamobile.com.
;
LNDNS01BHW.LN.GPRS.Chinamobile.com. IN A 100.0.34.132
LNDNS02BHW.LN.GPRS.Chinamobile.com. IN A 100.0.34.133
@ IN A 100.0.34.130
2.5、named.ra文件
现在,要按 /etc/named.conf中的定义,建立各个DNS数据文件。在/var/named目录下建立named.ra,其主要作用是SGSN之间有相邻关系路由区的解析文件,当MS在同一PLMN内的两个SGSN间漫游时,新SGSN通过原RA与原SGSN的关系找出原SGSN的地址。这样每个SGSN就知道在PLMN内其它SGSN的地址。
当MS从一个SGSN漫游到另一个PLMN内的SGSN时,新SGSN自己无法得知原SGSN的地址,而是由SGSN将原路由区信息翻译成如下形式的逻辑名:
RACxxxx.LACyyyy.MNCzzzz.MCCwwww.GPRS; x,y,z,w是十六进制数字。
然后,SGSN使用逻辑地址从DNS服务器查询原SGSN的IP地址。每个PLMN应各配置一个DNS服务器。注意,DNS服务器是GPRS内部的实体,在GPRS系统外是未知的。
以上暗示当MS漫游到另一个路由区时,在无线信道上至少要发送CC+MNC+RAC+LAC(=RAI)参数。
如果新SGSN因任何原因未能获得原SGSN的地址,则与在同一PLMN内出现这种情况时采取同样的处理方法。
named.ra文件其中应该包括所有在*.mnc0000.mcc4600.gprs域内的主机节点。下面是named.ra的例子:
@ IN SOA LNDNS01BHW.LN.GPRS.Chinamobile.com.. (
2001041804 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ) ; Minimum
;
@ IN NS LNDNS01BHW.LN.GPRS.Chinamobile.com.
@ IN NS LNDNS02BHW.LN.GPRS.Chinamobile.com.
;
LNDNS01BHW.LN.GPRS.Chinamobile.com. IN A 100.0.34.132
LNDNS02BHW.LN.GPRS.Chinamobile.com. IN A 100.0.34.133
RAC0001.LAC4108 IN A 100.0.34.145
RAC0001.LAC4109 IN A 100.0.34.145
RAC0001.LAC4101 IN A 100.0.34.145
RAC0001.LAC4157 IN A 100.0.35.10
RAC0001.LAC4122 IN A 100.0.35.4
RAC0001.LAC4128 IN A 100.0.35.16
RAC0001.LAC4126 IN A 100.0.35.16
RAC0001.LAC4129 IN A 100.0.35.16
RAC0001.LAC4131 IN A 100.0.35.16
RAC0001.LAC4161 IN A 100.0.35.16
RAC0001.LAC4151 IN A 100.0.36.7
RAC0001.LAC4141 IN A 100.0.36.10
RAC0001.LAC4113 IN A 100.0.37.130
RAC0001.LAC4112 IN A 100.0.37.130
RAC0001.LAC4152 IN A 100.0.36.4
RAC0001.LAC4136 IN A 100.0.35.4
RAC0001.LAC4123 IN A 100.0.35.7
以上这些路由区分别指到SY、DL、YK、DD、AS等某各地SGSN
2.6、named.lmcc文件
根据/etc/named.cmnet的定义,我们在/var/named目录下建立named.lmcc,其中应该包括所有在*.lmcc.mnc000.mcc460.gprs域内的主机节点。下面是named.lmcc的例子:
@ IN SOA LNDNS01BHW.LN.GPRS.Chinamobile.com.. (
2001041804 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ) ; Minimum
;
@ IN NS LNDNS01BHW.LN.GPRS.Chinamobile.com.
@ IN NS LNDNS02BHW.LN.GPRS.Chinamobile.com.
;
LNDNS01BHW.LN.GPRS.Chinamobile.com. IN A 100.0.34.132
LNDNS02BHW.LN.GPRS.Chinamobile.com. IN A 100.0.34.133
@ IN A 100.0.34.130
lmcc.mnc000.mcc460.gprs为本地授权域不允许全国漫游,在这里lmcc只是举个例子,根据各省应用的不同可以对本地apn自行设置。
2.7、named.100.0.34
反向DNS数据文件用来提供根据IP地址查询相应DNS主机名,每个网段分别有一个数据文件。
@ IN SOA NMDNS01BHW.NM.GPRS.Chinamobile.com. . (
2001041804 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ) ; Minimum
;
@ IN NS NMDNS01BHW.NM.GPRS.Chinamobile.com.
@ IN NS NMDNS02BHW.NM.GPRS.Chinamobile.com.
;
27 IN PTR NMDNS01BHW.NM.GPRS.Chinamobile.com.
28 IN PTR NMDNS02BHW.NM.GPRS.Chinamobile.com.
反向DNS数据文件中的主要部分是PTR记录,PTR记录中的IP地址都只有主机号,named会根据named.conf的定义自动加上前面的网络号,注意在后面的主机名要附加一个“.” 。
2.8、Named.127.0.0
对于内部网段127.0.0通常只有一个地址,即127.0.0.1 loopback地址,主机用它来将数据流导向自己,如果没有它一但查找127.0.0.1就有可能失败,内容如下:
@ IN SOA localhost. . (
2001041804 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ) ; Minimum
@ IN NS localhost.
1 IN PTR localhost.
2.9、named.cache文件
在UNIX系统上通常在/var/named下已经提供了一个named.cache,该文件中包含了Internet的顶层域名服务器,在这里我们把它叫作根服务器,但这个文件通常会发生变化,所以最好从Internic下载最新的版本。该文件可通过匿名ftp从ftp.rs.internic.net下载,在domain目录下,文件名为named.root。该文件下载后要拷贝到named的工作目录并重命名成named.conf中指定的文件名,本文中为named.cache。 内容如下:
. 3600000 IN NS BJDNS01Amt.GPRS.Chinamobile.com.
BJDNS01Amt.GPRS.Chinamobile.com. 3600000 A 110.0.70.99
. 3600000 NS GZDNS01Aer.GPRS.Chinamobile.com.
GZDNS01Aer.GPRS.Chinamobile.com. 3600000 A 110.0.230.245
2.10、辅dns配置
以配置/etc/named.conf文件为例
它是基本的配置文件,但不包含任何DNS数据,针对我们前面的设定,先建立以下/etc/named.conf,其内容如下:
options {
directory "/var/named";
pid-file "/var/named/named.pid";
forwarders {
110.0.70.99;
110.0.230.245;
};
};
zone "ln.mnc000.mcc460.gprs" in {
type slave; //辅名字服务器
file "named.ln";
masters {100.0.34.132}; //指named.nm文件到主辅名字服务100.0.34.132上取
};
zone "cmnet.mnc000.mcc460.gprs" in {
type slave; //辅名字服务器
file "named.cmnet";
masters { 100.0.34.132; }; //指named.cmnet文件到主辅名字服务100.0.34.132上取
};
zone "cmwap.mnc000.mcc460.gprs" in {
type slave;
file "named.cmwap";
masters {100.0.34.132; };
};
zone "mnc0000.mcc4600.gprs" in {
type slave;
file "named.ra";
masters { 100.0.34.132; };
};
zone "lmcc.mnc000.mcc460.gprs" in {
type slave;
file "named.lmcc";
masters { 100.0.34.132; };
};
zone "34.137.211.in-addr.arpa" in {
type slave;
file "named.100.0.34";
masters {100.0.34.132; };
};
zone "4.59.10.in-addr.arpa" in {
type slave;
file "named.10.59.4";
masters { 100.0.34.132; };
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "named.127.0.0";
};
zone "." in {
type hint;
file "named.cache";
};
|