1.
三种名字解析方式:
第一种是/etc/hosts文件解析:这个文件为每一个主机到IP地址的映射包含了一行。在一个大规模的网络中保持这个文件在所有主机的一致性是不可能实现的。如果一个主机声明了多个行,只有第一个出现的行用于解析。
格式:<ip address> <host name> <aliases>
第二种是NIS(网络信息系统)使用了一个主NIS服务器保存了主机和用户的集中数据库并且使用了一个平面的名字空间,从属NIS用于共享负载和提供冗余。
最常用的是域名服务器DNS。
2.
一个域名系统在名字解析的过程中交互的三个主要部分:
- 当给主机指定名字时,使用了一个树形的层次命名空间,一个完全合格域名(FQDN)是主机名和域名的组合。
- 一个或多个名字服务器用于解析一个主机名到它的IP地址,反之亦然。
- 解析器库函数由一个应用程序请求主机名解析。这些解析器函数决定了哪个名字解析服务被使用,比如NIS或DNS,并且接着使用这个服务来进行解析,gethostbyname()函数用于映射一个主机名到IP地址,gethostbyaddr()相反。
3.
相对名与绝对名:
在/etc/resolv.conf文件里保存了一个本地域名的记录。如果你不什么一个域名来解析一个主机名,解析器在解析这个主机名之前会自动追 加本地域名到主机上,比如,你试图解析hp0的主机名且这个主机属于moko.com域,解析器将使用DNS解析为hp0.moko.com。这个方法叫 做相对主机名解析。然而,如果你在该名字后面加上一个点,解析器把这个名字当做一个绝对名并不把域名追加到它后面。
4.
三种名字服务器:
有三种类型的名字服务器用在INTERNET上。一个区域是域名的一部分,一个主域名服务器有域的授权,它可以把域分成区域并把这些区域分派给其他的名字服务器。
- 主名字服务器:维护了一个域中的主机的数据结构和指向该域中负责区域的授权服务器的指针,它是在它的域中解析主机的主要联系点,一个主服务器可以创建子域授权给其他服务器。
- 二级域名服务器:用作主服务器失败的备份服务器,它从主服务器获取数据并定时与主服务器同步数据。
- 缓冲名字服务器:没有本地数据文件,用于查找主机名并在大型网络中分担负载。
4.
系统进入运行级2时,在系统引导时启动DNS服务器进程named。
进程自动启动由/etc/rc.config.d/namesvrs文件中的NAMED变量控制,值为1时表示引导时启动。
启动脚本为/sbin/init.d/named。
named进程查看它的配置文件/etc/named.boot,它包含一个属于该服务器的域名列表。
配置DNS使用HP-UX提供的命令行工具hosts_to_named。
5.
配置主DNS服务器
(1)在一个INTERNET注册机构注册你的域名,提供两个用于域中主和二级服务器的网络IP地址。
(2)在用作主域名服务器的系统的/etc/hosts文件中创建一个主机名和相应的IP地址的列表,可以添加别名。
例:192.168.1.253 moko1.moko.com moko1
192.168.1.1 moko2.moko.com moko2
127.0.0.1 localhost loopback
(3)使用mkdir命令创建一个目录/etc/named.data
(4)cd进入这个目录
(5)创建一个名为param的文件,它被hosts_to_named命令用于创建DNS数据文件。
文件包含如下行:
-d moko.com #域名
-n 192.168.1 #域的网络号
-z 192.168.1.253 #为二级域名服务器创建配置文件,IP地址为主域名服务器地址。
-b /etc/named.boot #启动配置文件
-s #在配置文件中添加一个NS资源记录
(6)运行hosts_to_named命令创建服务器的配置和数据文件。
(7)从INTERNET上下载db.cache文件并拷贝到/etc/named.data/目录下,这个文件包含了名字服务器地址。
(8)修改/etc/rc.cache.d/namesvrs文件以便named进程每次系统启动时引导,将NAMED变量改为1。
(9)使用/sbin/init.d/named start命令启动服务。
(10)使用ps -ef | grep named确保进程正在运行。
6.
DNS配置文件
/etc/named.data/db.cache 根名字服务器地址,网上即可下载到
由hosts_to_named命令创建的文件:
/etc/named.data/boot.cacheonly 一个缓冲服务器引导的文件
/etc/named.data/boot.sec.save 磁盘保存数据的二级域名服务器引导文件
/etc/named.data/boot.sec 磁盘不保存数据的二级域名服务器引导文件
/etc/named.data/db.moko 包含域moko.com中所有主机名到IP的映射
/etc/named.data/db.192.168.1 包含网络192.168.1的主机的反向主机名映射
/etc/named.data/db.127.0.0 环回地址的映射
/etc/named.boot named进程的引导文件
看一个
/etc/named.boot
的例子文件(分号开头的行为注释行)
;
; type domain source file
;
directory /etc/name.data
primary 0.0.127.IN-ADDR.ARPA db.127.0.0
primary moko.com db.moko
primary 1.168.192.IN-ADDR.ARPA db.192.168.1
cache
.
db.cache
看一个
/etc/named.data/db.127.0.0
的例子文件:
@ IN SOA moko1.moko.com
.
root.moko1.moko.com
.
(
1 ;serial
10800 ;Refresh
3600 ;Retry
604800 ;Expire
86400 ) ;Minimun
IN NS moko1.moko.com
.
1 IN PTR localhost
.
看一个
/etc/named.data/db.192.168.3
的例子文件:
@ IN SOA moko1.moko.com
.
root.moko1.moko.com
.
(
1 ;serial
10800 ;Refresh
3600 ;Retry
604800 ;Expire
86400 ) ;Minimun
IN NS moko1.moko.com
.
253 IN PTR moko1.moko.com
.
1 IN PTR moko2.moko.com
.
看一个
/etc/named.data/db.moko
的例子文件:
@ IN SOA moko1.moko.com
.
root.moko1.moko.com
.
(
1 ;serial
10800 ;Refresh
3600 ;Retry
604800 ;Expire
86400 ) ;Minimun
IN NS moko1.moko.com
.
localhost IN A 127.0.0.1
moko1 IN A 192.168.1.253
moko2 IN A 192.168.1.1
moko1 IN MX 10 moko1.moko.com
.
moko2 IN MX 10 moko2.moko.com
.
看一个
/etc/named.data/boot.cacheonly
的例子文件:
;
; type domain source file
;
directory /etc/name.data
primary 0.0.127.IN-ADDR.ARPA db.127.0.0
cache
.
db.cache
看一个
/etc/named.data/boot.sec
的例子文件:
;
; type domain source file
;
directory /etc/name.data
primary 0.0.127.IN-ADDR.ARPA db.127.0.0
secondary moko.com 192.168.1.253
secondary 1.168.192.IN-ADDR.ARPA 192.168.1.253
cache
.
db.cache
看一个
/etc/named.data/boot.sec.save
的例子文件:
;
; type domain source file
;
directory /etc/name.data
primary 0.0.127.IN-ADDR.ARPA db.127.0.0
secondary moko.com 192.168.1.253 db.moko
secondary 1.168.192.IN-ADDR.ARPA 192.168.1.253 db.192.168.1
cache
.
db.cache
在这里对DNS配置文件的一些内容进行解析:
首先是:
SOA :Start of Authority,开始资源记录,[zone] IN SOA [主机名] [管理员email] ([五组更新时间参数])
五组更新时间的参数(对于二级域名服务器的更新数据文件操作非常重要):
- Serial:数据库的序列号,当主DNS更新时序列号增加,二级DNS检查序列号改变后自动更新。
- Refresh:以秒为单位检查DNS的更新文件的时间。
- Retry:如果到了refresh的时间,仍连接不上主DNS,二级DNS的重试间隔时间。
- Expire:如在这个时间内一直无法与主DNS联系,所有数据被终止。
- Minimun:没有指定生存期的数据,可以保存在数据库中的时间,及TTL。
接着是资源记录:
A代表主机地址记录,[hostname] IN A [IP]
CNAME用作主机别名或规则名,[hostname] IN CNAME [主机名称]
MX是邮件资源记录,[hostname] IN MX [顺序] [主机名称],顺序参数越小优先级越高,主机名称必须存在A记录。
NS是名字服务器记录,zone] IN NS [主机名称],NS后面接的一定是主机名称。
PTR: Pointer的简写,[IP] IN PTR [主机名称],后面主机尽量使用完整FQDN,即加上一个点。
7.
更新主服务器上的数据库文件
一个主DNS在引导时读取它的数据库文件,每一次更新这些文件,你必须要求服务器重新装入它的文件或重新启动服务器。虽然DNS数据库文件可以手工地编辑,但是如下的方式更好一些:
(1)编辑和更新用于主服务器上创建数据库文件的/etc/hosts文件
(2)进入保存param文件的/etc/named.data目录
(3)运行hosts_to_named -f param命令来重新生成DNS数据文件
(4)使用sig_named restart 命令重新装入这些文件
8.
配置二级域名服务器(辅助域名服务器)
二级域名服务器提供对主DNS的备份,这样如果主DNS失效,用户还可以使用二级域名服务器解析域名。
配置二级域名服务器不需要使用hosts_to_named。
步骤很简单:
(1)使用mkdir命令创建/etc/named.data目录。
(2)从主DNS拷贝boot.sec或boot.sec.save文件为/etc/named,boot。
拷贝哪个文件的区别在于你是否要在本地磁盘保存DNS数据库文件。
(3)从主DNS拷贝db.127.0.0和db.cache到/etc/named.data目录。
(4)如果你想要创建本地磁盘数据库文件,那么从主DNS上的/etc/named.data目录中拷贝剩余的文件。
(5)更新/etc/rc.config.d/namesvrs文件在引导时启动named。
(6)使用/sbin/init.d/named start 命令启动named。
你可以不必等待它自动更新,可以随时使用sig_named restart 命令更新服务器的数据库。
9.
配置缓冲域名服务器
(1)使用mkdir命令创建/etc/named.data目录。
(2)从主DNS拷贝named.cacheonly文件为/etc/named.boot。
(3)从主DNS拷贝db.127.0.0和db.cache到/etc/named.data目录。
(4)更新/etc/rc.config.d/namesvrs文件在引导时启动named。
(5)使用/sbin/init.d/named start 命令启动named。
1.
三种名字解析方式:
第一种是/etc/hosts文件解析:这个文件为每一个主机到IP地址的映射包含了一行。在一个大规模的网络中保持这个文件在所有主机的一致性是不可能实现的。如果一个主机声明了多个行,只有第一个出现的行用于解析。
格式:
第二种是NIS(网络信息系统)使用了一个主NIS服务器保存了主机和用户的集中数据库并且使用了一个平面的名字空间,从属NIS用于共享负载和提供冗余。
最常用的是域名服务器DNS。
2.
一个域名系统在名字解析的过程中交互的三个主要部分:
- 当给主机指定名字时,使用了一个树形的层次命名空间,一个完全合格域名(FQDN)是主机名和域名的组合。
- 一个或多个名字服务器用于解析一个主机名到它的IP地址,反之亦然。
- 解析器库函数由一个应用程序请求主机名解析。这些解析器函数决定了哪个名字解析服务被使用,比如NIS或DNS,并且接着使用这个服务来进行解析,gethostbyname()函数用于映射一个主机名到IP地址,gethostbyaddr()相反。
3.
相对名与绝对名:
在/etc/resolv.conf文件里保存了一个本地域名的记录。如果你不什么一个域名来解析一个主机名,解析器在解析这个主机名之前会自动追 加本地域名到主机上,比如,你试图解析hp0的主机名且这个主机属于moko.com域,解析器将使用DNS解析为hp0.moko.com。这个方法叫 做相对主机名解析。然而,如果你在该名字后面加上一个点,解析器把这个名字当做一个绝对名并不把域名追加到它后面。
4.
三种名字服务器:
有三种类型的名字服务器用在INTERNET上。一个区域是域名的一部分,一个主域名服务器有域的授权,它可以把域分成区域并把这些区域分派给其他的名字服务器。
- 主名字服务器:维护了一个域中的主机的数据结构和指向该域中负责区域的授权服务器的指针,它是在它的域中解析主机的主要联系点,一个主服务器可以创建子域授权给其他服务器。
- 二级域名服务器:用作主服务器失败的备份服务器,它从主服务器获取数据并定时与主服务器同步数据。
- 缓冲名字服务器:没有本地数据文件,用于查找主机名并在大型网络中分担负载。
4.
系统进入运行级2时,在系统引导时启动DNS服务器进程named。
进程自动启动由/etc/rc.config.d/namesvrs文件中的NAMED变量控制,值为1时表示引导时启动。
启动脚本为/sbin/init.d/named。
named进程查看它的配置文件/etc/named.boot,它包含一个属于该服务器的域名列表。
配置DNS使用HP-UX提供的命令行工具hosts_to_named。
5.
配置主DNS服务器
(1)在一个INTERNET注册机构注册你的域名,提供两个用于域中主和二级服务器的网络IP地址。
(2)在用作主域名服务器的系统的/etc/hosts文件中创建一个主机名和相应的IP地址的列表,可以添加别名。
例:192.168.1.253 moko1.moko.com moko1
192.168.1.1 moko2.moko.com moko2
127.0.0.1 localhost loopback
(3)使用mkdir命令创建一个目录/etc/named.data
(4)cd进入这个目录
(5)创建一个名为param的文件,它被hosts_to_named命令用于创建DNS数据文件。
文件包含如下行:
-d moko.com #域名
-n 192.168.1 #域的网络号
-z 192.168.1.253 #为二级域名服务器创建配置文件,IP地址为主域名服务器地址。
-b /etc/named.boot #启动配置文件
-s #在配置文件中添加一个NS资源记录
(6)运行hosts_to_named命令创建服务器的配置和数据文件。
(7)从INTERNET上下载db.cache文件并拷贝到/etc/named.data/目录下,这个文件包含了名字服务器地址。
(8)修改/etc/rc.cache.d/namesvrs文件以便named进程每次系统启动时引导,将NAMED变量改为1。
(9)使用/sbin/init.d/named start命令启动服务。
(10)使用ps -ef | grep named确保进程正在运行。
6.
DNS配置文件
/etc/named.data/db.cache 根名字服务器地址,网上即可下载到
由hosts_to_named命令创建的文件:
/etc/named.data/boot.cacheonly 一个缓冲服务器引导的文件
/etc/named.data/boot.sec.save 磁盘保存数据的二级域名服务器引导文件
/etc/named.data/boot.sec 磁盘不保存数据的二级域名服务器引导文件
/etc/named.data/db.moko 包含域moko.com中所有主机名到IP的映射
/etc/named.data/db.192.168.1 包含网络192.168.1的主机的反向主机名映射
/etc/named.data/db.127.0.0 环回地址的映射
/etc/named.boot named进程的引导文件
看一个
/etc/named.boot
的例子文件(分号开头的行为注释行)
;
; type domain source file
;
directory /etc/name.data
primary 0.0.127.IN-ADDR.ARPA db.127.0.0
primary moko.com db.moko
primary 1.168.192.IN-ADDR.ARPA db.192.168.1
cache
.
db.cache
看一个
/etc/named.data/db.127.0.0
的例子文件:
@ IN SOA moko1.moko.com
.
root.moko1.moko.com
.
(
1 ;serial
10800 ;Refresh
3600 ;Retry
604800 ;Expire
86400 ) ;Minimun
IN NS moko1.moko.com
.
1 IN PTR localhost
.
看一个
/etc/named.data/db.192.168.3
的例子文件:
@ IN SOA moko1.moko.com
.
root.moko1.moko.com
.
(
1 ;serial
10800 ;Refresh
3600 ;Retry
604800 ;Expire
86400 ) ;Minimun
IN NS moko1.moko.com
.
253 IN PTR moko1.moko.com
.
1 IN PTR moko2.moko.com
.
看一个
/etc/named.data/db.moko
的例子文件:
@ IN SOA moko1.moko.com
.
root.moko1.moko.com
.
(
1 ;serial
10800 ;Refresh
3600 ;Retry
604800 ;Expire
86400 ) ;Minimun
IN NS moko1.moko.com
.
localhost IN A 127.0.0.1
moko1 IN A 192.168.1.253
moko2 IN A 192.168.1.1
moko1 IN MX 10 moko1.moko.com
.
moko2 IN MX 10 moko2.moko.com
.
看一个
/etc/named.data/boot.cacheonly
的例子文件:
;
; type domain source file
;
directory /etc/name.data
primary 0.0.127.IN-ADDR.ARPA db.127.0.0
cache
.
db.cache
看一个
/etc/named.data/boot.sec
的例子文件:
;
; type domain source file
;
directory /etc/name.data
primary 0.0.127.IN-ADDR.ARPA db.127.0.0
secondary moko.com 192.168.1.253
secondary 1.168.192.IN-ADDR.ARPA 192.168.1.253
cache
.
db.cache
看一个
/etc/named.data/boot.sec.save
的例子文件:
;
; type domain source file
;
directory /etc/name.data
primary 0.0.127.IN-ADDR.ARPA db.127.0.0
secondary moko.com 192.168.1.253 db.moko
secondary 1.168.192.IN-ADDR.ARPA 192.168.1.253 db.192.168.1
cache
.
db.cache
在这里对DNS配置文件的一些内容进行解析:
首先是:
SOA :Start of Authority,开始资源记录,[zone] IN SOA [主机名] [管理员email] ([五组更新时间参数])
五组更新时间的参数(对于二级域名服务器的更新数据文件操作非常重要):
- Serial:数据库的序列号,当主DNS更新时序列号增加,二级DNS检查序列号改变后自动更新。
- Refresh:以秒为单位检查DNS的更新文件的时间。
- Retry:如果到了refresh的时间,仍连接不上主DNS,二级DNS的重试间隔时间。
- Expire:如在这个时间内一直无法与主DNS联系,所有数据被终止。
- Minimun:没有指定生存期的数据,可以保存在数据库中的时间,及TTL。
接着是资源记录:
A代表主机地址记录,[hostname] IN A [IP]
CNAME用作主机别名或规则名,[hostname] IN CNAME [主机名称]
MX是邮件资源记录,[hostname] IN MX [顺序] [主机名称],顺序参数越小优先级越高,主机名称必须存在A记录。
NS是名字服务器记录,zone] IN NS [主机名称],NS后面接的一定是主机名称。
PTR: Pointer的简写,[IP] IN PTR [主机名称],后面主机尽量使用完整FQDN,即加上一个点。
7.
更新主服务器上的数据库文件
一个主DNS在引导时读取它的数据库文件,每一次更新这些文件,你必须要求服务器重新装入它的文件或重新启动服务器。虽然DNS数据库文件可以手工地编辑,但是如下的方式更好一些:
(1)编辑和更新用于主服务器上创建数据库文件的/etc/hosts文件
(2)进入保存param文件的/etc/named.data目录
(3)运行hosts_to_named -f param命令来重新生成DNS数据文件
(4)使用sig_named restart 命令重新装入这些文件
8.
配置二级域名服务器(辅助域名服务器)
二级域名服务器提供对主DNS的备份,这样如果主DNS失效,用户还可以使用二级域名服务器解析域名。
配置二级域名服务器不需要使用hosts_to_named。
步骤很简单:
(1)使用mkdir命令创建/etc/named.data目录。
(2)从主DNS拷贝boot.sec或boot.sec.save文件为/etc/named,boot。
拷贝哪个文件的区别在于你是否要在本地磁盘保存DNS数据库文件。
(3)从主DNS拷贝db.127.0.0和db.cache到/etc/named.data目录。
(4)如果你想要创建本地磁盘数据库文件,那么从主DNS上的/etc/named.data目录中拷贝剩余的文件。
(5)更新/etc/rc.config.d/namesvrs文件在引导时启动named。
(6)使用/sbin/init.d/named start 命令启动named。
你可以不必等待它自动更新,可以随时使用sig_named restart 命令更新服务器的数据库。
9.
配置缓冲域名服务器
(1)使用mkdir命令创建/etc/named.data目录。
(2)从主DNS拷贝named.cacheonly文件为/etc/named.boot。
(3)从主DNS拷贝db.127.0.0和db.cache到/etc/named.data目录。
(4)更新/etc/rc.config.d/namesvrs文件在引导时启动named。
(5)使用/sbin/init.d/named start 命令启动named。
10.
HP-UX有很多信息源,一个主机可以采用几个方式来进行域名解析,我们使用/etc/nsswitch.conf文件控制了哪个服务器将被用于一个特定类型的信息,其顺序将是什么。例如在这个文件中写入:
hosts: dns files #为了主机名解析首先使用DNS,接着使用/etc/hosts文件
关于更多的nsswitch.conf文件的知识,参考:
http://moko39848381.blog.163.com/blog/static/139827331201032744851316/
linfengdu的博客:
/etc/resolv.conf 文件的配置说明:
该文件是DNS域名解析的配置文件,它的格式很简单,每行以一个关键字开头,后接配置参数。resolv.conf的关键字主要有四个,分别是:
nameserver #定义DNS服务器的IP地址
domain #定义本地域名
search #定义域名的搜索列表
sortlist #对返回的域名进行排序
/etc/resolv.conf的一个示例:
domain ringkee.com
search
www.ringkee.com
ringkee.com
nameserver 202.96.128.86
nameserver 202.96.128.166
最主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的
使用nslookup测试DNS解析。