架构师的成长之路初片~DNS
DNS服务器
包名:bind、bind-chroot
/etc.resolv.conf(本机指定 DNS服务器文件)
全球只有13台DNS服务器,12台美国,1台日本。
###正向解析与反向解析不是绝对成立的关系。
#############################################################################################
cn(中国)
FQDN(完全合格的主机名):站点名(自己起)+注册的域名
DNS域名管理:
BIND域名服务
#Bind(主程序包)(bind-chroot安全功能包(提供牢笼政策))
#bind-chroot与bind不存在绝对关系
#推荐备份一份主配置文件
(名字叫named,端口号53)
例子:
主配置文件:/etc/named.conf //构建dns域名
options { listen-on port 53 { 127.0.0.1; }; //默认监听本机网卡的端口ip地址
recursion no; //不支持递归查询,要自己添加。默认开启
directory "/var/named"; //定义地址库文件
allow-query { localhost; }; //默认是允许本机访问,所以需改成 anny }; //注意大括号与空格,不能多,不能少。以分号结尾,分号后不能有空格。 zone "ahao,com" IN { //zone代表区域, 解析以ahao,com结尾的域名 type master; //master(主) slave(副) file "ahao.com.zone"; //地址库文件 };
named,用named的身份证允许,所以涉及权限问题。要运行named,必须要有读权限。
保证named用户对地址库文件有读取权限。
所以用cp -p 权限不变进行复制。
cp -p named.localhost ahao.com.zone
从配置文件:/var/named/* //
地址库文件:
ahao.com.zone
地址库文件,默认以 . 结尾。 如若不加 · 默认加上这个主机负责的域名。
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
ahao.com. NS pc7 //ahao.com这个域名由pc7这个主机负责
pc7 A 192.168.4.7 // A 代表正向解析 ,NS代表声明
/上下pc7必须一样,ip对就行。域名不做特定.
www A 1.1.1.1
vip A 2.2.2.2
地址库检测命令:
named-checkzone ahao.com
测试:
专门测试dns的命令:nslookup 域名
此命令需要装包:
yum -y install bind-utils-9.9.4-61.el7.x86_64
并且在对应的web机上做 dns 指定dns
nameserver 192.168.4.7 > /etc/resolv.conf
]# nslookup www.ahao.com
Server: 192.168.2.100
Address: 192.168.2.100#53
Name: www.ahao.com
Address: 1.1.1.1
出现如上,即成功。
DNS轮询机制:(了解)
如若域名相同,主机可轮询访问各个主机ip
$TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum ahao.com. NS pc1 pc1 A 192.168.2.100 www A 192.168.2.100 www A 192.168.2.101 www A 192.168.2.102
* A 192.168.2.100 //如若www多打或者少打的时候,则*匹配。
ftp A 1.1.1.1
vip CNAME ftp //vip解析结果与ftp解析结果一致,CNAME 必须大写
递归查询与迭代查询
递归查询:把给客户把查询的结果带回来(帮问,跑腿)
迭代查询:告诉客户下一站怎么走,而不给出结果(不帮问,不跑腿)
首选服务器默认:递归查询
dig @ip www.ahao.com //专业的把访问的路径都显示出来
搭建主从DNS架构:
作用:提高可靠性,从DNS服务器(备份)主DNS服务器的数据。
主要为了数据的安全及备份,以及丢失。
主服务器配置:
/etc/named.conf
options { directory "/var/named"; allow-transfer { 192.168.2.200; }; //运行谁进行传输数据 }; zone "ahao.com" IN { type master; file "ahao.com.zone"; };
从服务器配置:
/etc/named.conf
由于从需要从主中弄到文件,所以在从目录中添加读写执行(rwx)权限
options { directory "/var/named"; }; zone "ahao.com" IN { type slave; //类型为备份 file "/var/named/slaves/ahao.com.slave"; //路径尽量为绝对路径 masters { 192.168.2.100; }; //声名主服务器 masterfile-format text; //复制的文件是明文,而不是加密。 };
待续.. 162