标签:dns
域名
域名是用一串用点分开的字符串来表示的internet上的某一台或者一组计算机的名称,由于ipv4,ipv6地址很难记忆,我们在访问互联网时,一般用域名加主机名来进行访问,例如:www.google.com,这个后面省略了点(.),完整的格式应该是www.google.com.,走后面的点表示根域,.com为一级域,.google为二级域,www表示这个域中的某一台主机。我们在使用互联网时,要使用ip地址才能访问某一台主机,DNS服务器就为我们提供这个解析服务,将域名解析成ip(正向解析),也可将ip解析为域名(反向解析)。
注意:域名解析通常有两种方式,一种是/etc/hosts文件中的IP地址和域名的直接映射;一种是通过dns服务器来解析,同一个域名默认是先读取hosts文件来解析,如其中无此记录,再转向dns服务器请求解析,两种解析方式的优先级别在/etc/nsswitch.conf中定义:
#hosts: db files nisplus nis dns hosts: files dns #file指/etc/hosts
DNS
DNS(Domain Name System)的应用程序位bind,监听在TCP/UDP的53号端口,下面就介绍dns的安装配置:
[root@baby-virt-4 ~]# yum install bind
主配置文件:
/etc/named.conf #主配置文件,里面include了下面2个文件
/etc/named.rfc1912.zones #一般除根之外的区域文件定义都在这里完成
/etc/named.root.key
/etc/rc.d/init.d/named #服务启动脚本,在源码安装时,这个文件没有,需要自己手动编写
/etc/rndc.conf #域名服务远程控制工具的配置文件
/etc/rndc.key #域名服务远程控制工具的密钥控制文件
/usr/sbin/named #主程序
/usr/sbin/named-checkconf #检查/etc/named.conf配置文件的工具
/usr/sbin/named-checkzone #检查区域配置文件的工具
/usr/sbin/rndc #域名服务远程控制工具主程序
/usr/sbin/rndc-confgen #域名服务远程控制工具的密钥生成工具
// // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // server as a caching only nameserver (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // options { //listen-on port 53 { 127.0.0.1; }; #指定监听的ip,注释后监听所有ip(ipv4) //listen-on-v6 port 53 { ::1; }; #ipv6 directory "/var/named"; #区域文件目录 dump-file "/var/named/data/cache_dump.db"; #缓存存放的地方(猜的) statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; //allow-query { localhost; }; #是否允许查询 //recursion yes; #是否允许递归查询,这个可以在配置了view之后在具体的view中指定 //dnssec-enable yes; //dnssec-validation yes; //dnssec-lookaside auto; /* Path to ISC DLV key */ //bindkeys-file "/etc/named.iscdlv.key"; //managed-keys-directory "/var/named/dynamic"; }; logging { #定义日志存放位置 channel default_debug { file "data/named.run"; severity dynamic; }; }; include "/etc/named.rfc1912.zones"; //include "/etc/named.root.key";
配置完成后启动named服务service named start,当前服务器不负责任何域名的解析,是一台DNS缓存服务器。下面介绍区域文件的配置,如果需要反向解析,还需要配置反向区域文件,这些区域文件都需要放置在/etc/named.conf中directory参数指定的目录下(默认是/var/named/目录下)。
DNS服务器中域名与IP地址相互转换的映射信息以文本形式存储在区域文件中,每一个区域文件对应一个域名的解析,当然如果需要反解,还需要一个对应的反向区域文件。
先在/etc/named.rfc1912.zones中定义区域:
zone "xiaoxiao.com" IN { #引号中的是区域名称 type master; #指定服务器类型 file "xiaoxiao.com.zone"; #指定解析库文件,默认在/var/named目录下 allow-update { none; }; #是否允许更新 }; zone "0.168.192.in-addr.arpa" IN { type master; file "0.168.192.zone"; allow-update { none; }; }; #type {master|slave|hint|forward}; #master 主DNS服务器 #slave 从DNS服务器 #hint 提示域,所有非本机所负责的区域,都直接转发至这里,用于定义根区域 #forward 转发器
DNS服务器中域名与ip地址的映射信息以文本文件的形式存在于区域文件中,每一行为一个对应关系,称为一个资源记录(RR Resource recorde),资源记录定义格式:
[name] [ttl] IN type value
name #根据资源类型的不同,取值也不同,取值包括,FQDN,当前区域名称(简写为@),也可不写(与上一条资源记录的name值相同),根域为"."。
ttl #指定缓存时长,可以不写。可以直接在首行指定$TTL 1800,下面不写,就默认这个值。
IN #固定格式。
type #资源记录类型
type有下面几个值:
SOA #
NS
MX
A
AAAA
CNAME
PTR
标签:dns
原文地址:http://ljbaby.blog.51cto.com/10002758/1661203