DNS域名解析系统
DNS协议: 域名解析服务, 把域名(主机名)解析成IP地址
域名是分级: server1.example.com.
根域名 .
顶级域或一级域名 : .com .cn .net
二级域名: baidu , google ,163 ==> baidu.com. google.com. 163.com.
三级域名: www , bbs 一般是由域名持有人自定义的 《--- www.baidu.com. bbs.163.com.
Zone: 能够解析某域名的DNS服务器集合
DNS解析记录数据类型:
本地授权数据
本地缓存非授权数据
远程递归非授权数据
# dig A example.com IPv4记录
# dig AAAA a.root-server.net IPv6记录
# dig ipa-ca.server0.example.com 别名记录
# dig PTR 10.0.25.172.in-addr.arpa 反向记录
# dig SOA example.com 起始授权记录:提供DNS zone(区)的授权信息
# dig NS example.com name server用于表示该主机
# dig MX example.com 邮件服务解析
DNS:domain name server
作用:做域名解析
域名分析分为2种:正向解析:把主机名解析成Ip地址,反向解析:把Ip地址解析成主机名
DNS与/etc/hosts
Ip 地址 +网址(FQDN) + 主机名
etc/hosts 可以临时替代dns
www.net.cn :万网,国内最大
安装配置dns服务器:
yum install bind bind-chroot -y
bind-chroot:模拟真的文件系统,防止黑客进行攻击
什么时候会用到dns服务器
1.公司比较大,20条解析不能满足
2.开发型公司内部做WEB项目,测试(放到公网上面)
3.在局域网中来做电脑的管理
4.自己做实验:邮件服务器,Mx邮件交换记录,需要自签发证书等等
Bind软件包:应用性高,但安全性太差
/var/named/chroot/etc :假的dns主配置文件
vim /etc/named.conf :真的dns主配置文件
/etc/named.rfc1912.zones :真的分项配置文件
参数:
监听 53号端口
listen-on port 53 { any; }; :本地任意一个块网卡,多个Ip 地址用分号分隔
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; }; :谁可以对我进行查询,默认:自己 ,改成any,谁都可以
recursion yes; :递归查询
dnssec-enable yes; :是否启用dns安全密钥 (不重要,忽略)
vim /var/named/named.ca : 根域服务器的Ip 地址和主机名 ,在这个文件夹
recursion yes;
forwarders {202.96.69.38;};
forward first;
实验
vim /etc/named.conf :去主配置文件
options {
listen-on port 53 { any; }; :改成any
# listen-on-v6 port 53 { ::1; }; :注释掉
vim /etc/named.rfc1912.zones (分项配置文件)
zone "sina.com" IN { :解析sina这个的时候
type master; 类型:主域名服务器
file "sina.com.zone"; 去这个文件查询
allow-update { none; }; 不允许别人向我更新
};
zone "126.168.192.in-addr.arpa" IN {
type master;
file "sina.com.rev";
};
辅的向主的更新
cd /var/named
cp -p named.localhost sina.com.zone :-p:保持原有权限
cp -p named.loopback sina.com.rev
vim sina.com.zone
参数
$TTL 1D : 全称:time to live 最大生存周期 ,成功访问的结果放在缓存服务器上,如果有人再访问,直接访问缓存服务器,指定的资源记录存放在高速缓存中的时间,这是寿命字段,一天更新一次
@ IN SOA @ rname.invalid. :起始授权记录,就是全局参数 ,IN :代表internet,标识网络类型 @:表示当前区域,第2个@表示你本机,后面+的是邮箱,不用@,用点,@又特么用处,
0 ; serial :每改一次记录,这里的值改一次
1D ; refresh :刷新,你的从域名服务器多长时间检查你的主域名服务器,刷新一次
1H ; retry :主域名发生故障,每隔一个小时,我再尝试一次
1W ; expire :每隔一个小时我会向你同步,1W:代表一个星期,最多尝试一星期,如果有人向从域名域名发生请求了,我连不上主域名服务器,我这是一个星期之前的数据了,不可靠了,但我还是会给你发。
3H ) ; minimum :最小时间间隔,如果有人找条记录,我没有这条记录,下次有人找,我告诉他我没有,三个小时后我会再查询一次,浏览下面内容
Ns :name server记录,标识自己的主机名
A:当有人问我Ip 地址为多少的时候,我就解析为主机名
vim sina.com.zone //正向的
$TTL 1D
@ IN SOA dns1.sina.com. root.dns1.sina.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns1.sina.com. :我自己的主机名 ,我给自己的名字叫什么
dns1 A 192.168.126.128 :主机名 对应Ip 地址
www A 192.168.126.129
ftp A 192.168.126.130
mail A 192.168.126.131
vim sina.com.rev //反向的
$TTL 1D
@ IN SOA dns1.sina.com. root.dns1.sina.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns1.sina.com.
128 PTR dns1.sina.com. :反向写PTR ,正向是A (后面加点)
129 PTR www.sina.com.
130 PTR ftp.sina.com.
131 PTR mail.sina.com.
vim /etc/resolv.conf :dns写这里临时生效
写网卡配置文件里永久生效
域名的测试:
nslookup dns1.sina.com :测试正的
nslookup 192.168.126.128 :测试反的