dns介绍:
dns域名解析服务,管理和解析域名与ip地址对应关系的技术
正向解析:域名解析为ip地址;反向解析:ip地址解析为域名
dns域名解析服务采用类似目录树层次结构记录域名与ip对应关系,采用分布式数据结构存储
三种类型服务器:
主服务器:在特定区域内具有唯一性,负责维护该区域内的域名与 IP 地址之间的对应关系。
从服务器:从主服务器中获得域名与 IP 地址的对应关系并进行维护,以防主服务器宕机等情况。
缓存服务器:通过向其他域名解析服务器查询获得域名与 IP 地址的对应关系,并将经常查询的域名信息保存到服务器本地,以此来提高重复查询时的效率。
域名查询请求两种方式:递归和迭代
递归:每次查询结果会返回用户
迭代:查询结果每次返回下一级,直到下一级查询成功后返回用户
根dns一共13台
使用端口udp和tcp 53
tcp和udp53端口在什么时候会使用?
bind介绍:
提供dns服务的程序包
安装部署 bind 服务程序时加上 chroot(俗称牢笼机制)扩展包,以便有效地限制 bind 服务程序仅能对自身的配置文件进行操作,以确保整个服务器的安全。
安装启动
yum install bind* #一般使用此命令将bind的相关包全部下载
yum install bind-utils //提供nslookup、dig、host命令的工具包
yum install bind-chroot #设置bind运行范围,保障系统安全
systemctl restart named #bind程序运行的进程名
rndc:remote name domain controller #name server control utility
监听:953/tcp,默认监听127.0.0.1地址
配置文件
主配置文件(/etc/named.conf):这些参数用来定义 bind 服务程序的运行。
区域配置文件(/etc/named.rfc1912.zones):用来保存域名和 IP 地址对应关系的所在位置。当需要查看或修改时,可根据这个位置找到相关文件。
数据配置文件目录(/var/named):该目录用来保存域名和 IP 地址真实对应关系的数据配置文件。
配置正反向解析
1、修改/etc/named.conf,设置允许所有人对本服务器发送dns查询请求
vim /etc/named.conf
搜索如下两行,修改
listen-on port 53 { any; };
allow-query { any; };
2、修改/etc/named.rfc1912.zones
vim /etc/named.rfc1912.zones
zone "hello.cn" in {
type master; #服务类型
file "hello.cn.zone"; #域名与ip地址解析规则保存的文件位置
allow-update {none;}; #允许那些客户机动态更新解析信息,此行可省略,即不做限制
};
zone "181.168.192.in-addr.arpa" in {
type master;
file "hello.cn.arpa";
allow-update {none;}; #此行可省略,即不做限制
};
补充:命令named-checkconf 命令和 named-checkzone,可分别检查主配置文件与数据配置
named-checkconf [filename] #默认检查/etc/named.conf
named-checkzone zonename filename
named-checkzone hello.cn hello.cn.zone
文件中语法或参数的错误
3、添加正反向解析文件
复制一份/etc/named/named.localhost作为正向解析模版
复制一份/etc/named/named.loopback作为反向解析模版
cd /etc/named
cp named.localhost hello.cn.zone
cp named.loopback hello.cn.arpa
[root@localhost named]# cat hello.cn.zone
$TTL 1D
@ IN SOA hello.cn. root.hello.cn. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS ns.hello.cn.
ns IN A 192.168.181.130
www IN A 192.168.181.130
[root@localhost named]# cat hello.cn.arpa
$TTL 1D
@ IN SOA hello.cn. root.hello.cn. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS ns.hello.cn.
130 IN PTR mail.hello.cn.
130 IN PTR ns.hello.cn.
130 IN PTR www.hello.cn.
4、测试
重启dns服务
将本机网卡dns地址修改为本机地址,可使用本机提供的dns查询服务
nslookup
>www.hello.cn
Server: ::1
Address: ::1#53
Name: www.hello.cn
Address: 192.168.181.131
>192.168.181.130
130.181.168.192.in-addr.arpa name = ns.hello.cn.
130.181.168.192.in-addr.arpa name = mail.hello.cn.
130.181.168.192.in-addr.arpa name = www.hello.cn.
主从服务器配置
添加从服务器后,客户端可从从服务器上查询服务,用于备份解析记录与负载均衡
主服务器ip 192.168.181.130
从服务器ip 192.168.181.131
在主服务器上修改/etc/named.rfc1912.zones,允许该从服务器的更新请求
vim /etc/named.rfc1912.zones
zone "hello.cn" in {
type master; #服务类型
file "hello.cn.zone"; #域名与ip地址解析规则保存的文件位置
allow-update {192.168.181.13;}; #允许那些客户机动态更新解析信息
};
zone "181.168.192.in-addr.arpa" in {
type master;
file "hello.cn.arpa";
allow-update {192.168.181.131;};
};
在从服务器上修改/etc/named.rfc1912.zones
vim /etc/named.rfc1912.zones
zone "hello.cn" in {
type slave; #服务类型
masters {192.168.181.130;}; #主服务器ip
file "slaves/hello.cn.zone"; #同步主服务器的配置保存位置
};
zone "181.168.192.in-addr.arpa" in {
type slave;
masters {192.168.181.130;};
file "slaves/hello.cn.arpa"; #同步主服务器的配置保存位置
};
测试
重启dns服务
将从服务器网卡dns地址修改为本机地址,可使用本机提供的dns查询服务