DNS:(Domain Name System)域名系统,作为万维网上域名和IP地址的相互映射的一个分布式数据库,能够方便人们浏览网页而不需要记住繁琐的IP地址。
端口号:53,可基于UDP也可基于TCP(请求数据包大小不同)
DNS为每一个IP分配一个或多个域名,但一个域名只能有一个IP地址。
因特网上的域名结构:
国家顶级域名:一般为国家或地区所有。如:中国CN、美国US、英国UK等等
通用顶级域名:最常见的通用顶级域名有7个,即:com(公司企业),net(网络服务机构),org(非营利组织),int(国际组织),gov(美国的政府部门),mil(美国的军事部门)。
基础结构域名:这种顶级域名只有一个,即arpa,用于反向域名解析,因此称为反向域名。
IANA the internet Assigned Numbers Authority 互联网数字分配机构
ICANN the internet Corporation for Assigned names and Nunbers 互联网名称与数字地址分配机构
根服务器:
全球根域名服务器共有13台,主根服务器放置在美国,其余12台均为辅根服务器,其中9个放置在美国,2个放置在欧洲,1个在亚洲。所有根服务器均有美国政府授权的互联网域名与号码分配ICANN同一管理,负责全球互联网域名跟服务器、域名体系和IP地址的管理。
主DNS服务器:数据修改(接收用户请求返回数据)master
辅助DNS服务器:定期请求数据同步slave
缓存DNS服务器:缓存DNS数据hint
转发器:缓存服务器去除缓存功能forward
查询方式:迭代查询和递归查询,一般均为迭代查询和递归查询混合使用。
迭代查询:本地域名服务器只发送一次请求。
迭代查询工作过程:
假设主机A(m.xyz.con)访问主机B(y.abc.com),但不知道主机B的IP地址
1、 主机A(m.xyz.com)向本地域名服务器dns.xya.com进行递归查询,查询主机B(y.abc.com)的IP地址。
2、 本地域名服务器先向本地缓存服务器查询,若没有本地域名服务器向根域名服务器做递归查询。
3、 根域名服务器告诉本地域名服务器下一次查询应该向顶级域名服务器(dns.com)查询。
4、 本地域名服务器向顶级域名服务器(dns.com)查询。
5、 顶级域名服务器告诉本地域名服务器下一次查询应该向权限域名服务器(dns.com)查询。
6、 本地域名服务器向权限域名服务器(dns.abc…com)查询。
7、 根域名服务器此昂本地域名服务器返回y.abc.com的IP地址。
8、 本地域名服务器告诉主机y.abc.com的IP地址。
递归查询:本地域名服务器多次请求。
.
**DNS解析过程:**根域名服务器->顶级域名服务器->二级域名->三级域名······
客户端访问网址,若本地DNS服务器上缓存该网址,直接返回IP地址访问。
若本地DNS服务器上没有缓存该网址,则运用迭代查询查询该网址(查询顺序为DNS根域 名服务器,DNS顶级域名服务器、权限域名服务器)
主DNS服务器:数据修改 (接受用户请求返回数据) master
辅助dns服务器: 定期请求数据同步 slave
缓存dns服务器: 只缓存dns数据 hint
转发器:缓存服务器去掉缓存功能 forword
常用的DNS服务地址114.114.114.114位国内移动、联通、电信通用的DNS。
8.8.8.8为GOOGLE公司提出的全球通用的DNS。
建议使用8.8.8.8
正向解析:FQDN------->IP
反向解析:IP------->FQDN
FQDN全限定域名:同时带有主机名和域名的名称。
安装软件:
yum install bind -y 安装软件
rpm -ql bind 查看是否安装上软件
正向解析
服务端主文件配置
[root@www ~]# vim /etc/named.conf
options {
listen-on port 53 { 192.168.121.128; }; 服务端IP地址
directory "/var/named";
};
zone "openlab.com" IN {
type master; 类型为主服务器
file "named.openlab.com";
};
服务端配置文件
[root@www ~]# vim /var/named/named.openlab.com
$TTL 1D
@ IN SOA @ admin.admin.com. (
0 //序列号
1D //检查时间
1H //重试时间
1W //缓存时间
1D ) //过期时间
IN NS ns.openlab.com.
IN MX 10 mail.openlab.com.
mail IN A 192.168.121.128
ns IN A 192.168.121.128
ftp IN A 192.168.121.128
www IN A 192.168.121.128
money IN A 192.168.121.128
vftp IN CNAME ftp
**注释:**第一个@代表:/etc/named.conf文件中的openlab.com
资源记录名称:
SOA (起始授权记录) 记录提供有关dns区域工作方式的信息 -----具体负责哪个区域的解析
NS 将自己的域名映射到DNS 将域名最终映射到哪一台主机(由哪一台主机去解析当前所定义的域主机)
A (ipv4地址记录) 资源记录将主机名映射到ipv4地址。
CNAME (规范名称)记录域别名
MX 邮件交换记录
PTR 指针记录 将IPV4 IPV6地址映射到主机名 (用于反向DNS)
AAAA (IPV6 地址记录) 资源记录(四A记录)将主机名映射到ipv6地址。
重启服务
客户端查看
反向解析
服务端端主配置文件
options {
listen-on port 53 { 192.168.121.129; };
directory "/var/named";
};
zone "openlab.com" IN {
type master;
file "named.openlab.com";
};
zone "121.168.192.in-addr.arpa" IN { //反向解析
type master;
file "named.192.168.121";
};
配置文件
$TTL 1D
@ IN SOA @ admin.admin.com. (
0
1D
3H
1W
1D )
IN NS ns.qq.com.
IN NS ns.openlab.com.
128 IN PTR ns.openlab.com.
128 IN PTR ns.qq.com.
128 IN PTR www.openlab.com.
128 IN PTR ftp.openlab.com.
vftp IN CNAME ftp
128位客户端IP地址
PTR指针记录 将IPV4 IPV6地址映射到主机名 (用于反向DNS)
客户端
注:启动服务之前关闭防火墙和SELinux