网络服务—DNS域名系统服务
网络服务—DNS域名系统服务
DNS介绍
'域名'(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。具有独一无二,不可重复的特性。
'域名系统'(Domain Name System,缩写:DNS)是互联网的一项服务。域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。可以理解为DNS就是翻译官。
正向解析:域名 --> IP地址
反向解析:IP地址 --> 域名
软件名称:
bind
服务名称:
named
软件端口:
UDP 53 数据通信(域名解析)
TCP 53 数据同步(主从同步)
域名的组成和分类
根域: . 全球共有13台根域服务器
顶级域(一级域): com 域名管理机构创建和管理
注册域(二级域): wyy 个人和企业可以申请的域名(有偿)
主机名(三级域): www 在申请的二级域基础上,设置指定某一台机器所使用的域名
域名解析过程
1. 客户机首先查看查找本地hosts文件,如果有则返回,否则进行下一步
2. 客户机查看本地缓存,是否存在本条目的缓存,如果有则直接返回,否则进行下一步。
3. 将请求转发给指向的DNS服务器。
4. 查看域名是否本地解析,是则本地解析返回,否则进行下一步。
5. 本地DNS服务器首先在缓存中查找,有则返回,无则进行下一步。
6. 向全球13个根域服务器发起DNS请求,根域返回org域的地址列表。
7. 使用某一个org域的IP地址,发起DNS请求,org域返回kernel域服务器地址列表。
8. 使用某一个kernel域IP地址,发起DNS请求,kernel域返回www.kernel.org主机的IP地址,本地DNS服务收到后,返回给客户机,并在本地DNS服务器保存一份
DNS实验搭建
软件安装
# 先关闭服务器和客户机上的防火墙和SELinux
$ yum -y install
配置主配置文件(/etc/named.conf)
1) 修改监听的本机的端口和ip
2)修改允许的客户端地址(建议使用any作为任意地址)
$ vim /etc/named.conf
options {
listen-on port 53 { 192.168.66.11; }; # 设置监听IP或填写any代表所有
listen-on-v6 port 53 { ::1; };
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 { any; };# 设置可以访问服务器的客户端IP(可any代表)
recursion yes;
配置区域文件(/etc/named.rfc1912.zones)
1)正向解析:解析的域,对应数据解析的名字和位置
$ vim /etc/named.rfc1912.zones
zone "wyy.com" IN {
type master;
file "wyy.localhost";
allow-update { none; };
};
2)反向解析:ip的反向解析,对应数据解析的名字和位置
zone "11.66.168.190.in-addr.arpa" IN {
type master;
file "wyy.loopback";
allow-update { none; };
};
# 注:先对区域文件进行备份,删除多余的模板,只留下一个正向和一个反向(反向修改时,网络位的反写格式,如192.168.100.2-->100.168.192.)
配置数据文件/var/named/
# 先复制生成正向解析文件和反向解析文件
$ cd /var/named/
$ cp -a named.localhost wyy.localhost
$ cp -a named.loopback wyy.loopback
# 编辑正向解析文件(注意域名结尾的 “.”)*.localhost
$ vim wyy.localhost
$TTL 1D
@ IN SOA wyy.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.wyy.com.
dns A 192.168.66.11
www A 192.168.66.12
ftp A 192.168.66.13
# 编辑反向解析文件(注意域名结尾的 “.”)*.loopback
$ vim wyy.loopback
$TTL 1D
@ IN SOA wyy.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.wyy.com.
11 PTR dns.wyy.com.
12 PTR www.wyy.com.
13 PTR ftp.wyy.com.
重启DNS服务
service named restart
客户端测试
# 分别用虚拟机安装httpd、vsftp服务进行测试,用nslookup IP/域名,测试正向以及反向解析。
主从DNS搭建
主DNS服务器搭建
安装bind软件
$ yum -yinstall bind
配置主配置文件(/etc/named.conf)
$ vim /etc/named.conf
options {
listen-on port 53 { 192.168.66.11; }; # 设置监听IP或填写any代表所有
listen-on-v6 port 53 { ::1; };
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 { any; };# 设置可以访问服务器的客户端IP(可any代表)
recursion yes;
配置区域文件(/etc/named.rfc1912.zones)
# allow-update { none; };修改为allow-transfer { 从服务器IP地址; };
$ vim /etc/named.rfc1912.zones
zone "wyy.com" IN {
type master;
file "wyy.localhost";
allow-transfer { 192.168.66.12; }
};
配置数据文件/var/named/
$ cd /var/named/
$ cp -a named.localhost wyy.localhost
$ vim wyy.localhost
$TTL 1D
@ IN SOA wyy.com. rname.invalid. (
2020101002 ; serial
# 版本号:默认为0
1D ; refresh
# 更新频率:自动向主服务器发起同步请求的周期。
1H ; retry
# 重试频率:更新失败时重新发起同步请求的周期
1W ; expire
# 若请求同步失败长达指定天数,从服务器失效,停止对外提供解析
3H ) ; minimum
# 缓存服务器无法更新时的失效时间。
NS dns.wyy.com.
dns A 192.168.66.11
dns2 A 192.168.66.12
www A 192.168.66.13
ftp A 192.168.66.14
正向解析记录:
1.版本号修改{格式:2020101001} #序号每次+1
2.添加两条解析记录,声明从服务器
NS dns2.kernel.com. #从服务器域名
dns2 A 192.168.100.20 #从服务器IP地址
启动named服务
$ service named restart
搭建从DNS服务器
安装bind软件
$ yum -y install bind
配置主配置文件(/etc/named.conf)
$ vim /etc/named.conf
options {
listen-on port 53 { any; }; # 设置监听IP或填写any代表所有
listen-on-v6 port 53 { ::1; };
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 { any; };# 设置可以访问服务器的客户端IP(可any代表)
recursion yes;
配置区域文件(/etc/named.rfc1912.zones)
# 从服务器解析域与主服务器相同 将文件类型修改为slave 声明主服务器地址 将正向解析文件改名,并放入从服务器专属文件夹/var/named/slaves
$ vim /etc/named.rfc1912.zones
zone "wyy.com" IN {
type slave;
masters { 192.168.66.11; }
file "alaves/wyy.localhost";
allow-update { none; }
};
重启named服务
$ service named restart
查看向主服务器同步来的配置文件
vim /var/named/slaves/wyy.localhost
DNS缓存服务器
# 实验作用:
加快解析速度,提高工作效率。
# 与主从服务器的区别:
主从服务器,二者数据完全相同。而主缓模式,缓存服务器只保存那些解析频率高的解析记录,解析次数少的不保存。缓存服务器不用配置文件记录解析关系,而是使用内存记录解析关系。记录的数量取决于配置文件中设置的数量,假如设置100条,它就只会保存被解析次数排名前100的解析关系。调运内存效率更高,速度更快。不在缓存记录中的请求,会被缓存服务器直接转发到主服务器查询。
# 实验准备:
关闭SELinux、防火墙 一台主服务器、一台缓存服务器、一台测试机
# 实验软件:
dnsmasq
安装dnsmasq
$ yum -y install dnsmasq
修改配置文件
$ vim /etc/dnsmasq.conf
# 直接最后一行添加
domain=wyy.com #需要解析的域(一级+二级)
server=192.168.66.11 #主DNS服务器IP
cache-size=15000 #声明缓存条数
重启dnsmasq
service dnsmasq restart
智能DNS(分离解析)
# 实验原理:
DNS分离解析即将相同域名解析为不同的IP地址。现实网络中一些网站为了让用户有更好的体验效果解析速度更快,就把来自不同运营商的用户解析到相对应的服务器这样就大大提升了访问速度
# 分布式:
同一个任务,由不同步骤共同完成的过程叫分布式
# 负载均衡:
将用户的请求,分配到多个功能相同的服务器上。
# 实验环境 网卡: ip: gw: dns:
一台内网测试机(单网卡) vmnat10 192.168.10.10 192.168.10.30 192.168.10.30
一台web服务器(双网卡) vmnat10 192.168.10.20
vmnat11 192.168.11.20
一台网关+DNS(双网卡) vmnat10 192.168.10.30
vmnat11 192.168.11.30
一台外网测试机(单网卡) vmnat11 192.168.11.40 192.168.11.30 192.168.11.30
配置双网卡信息
cp –a ifcfg-eth0 ifcfg-eth1
安装bind
$ yum -y install bind
内核配置文件开启路由转发
$ vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
$ sysctl -p
修改主配置文件/etc/named.conf
$ vim /etc/named.conf
options {
listen-on port 53 { any; }; # 设置监听IP或填写any代表所有
listen-on-v6 port 53 { ::1; };
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 { any; };# 设置可以访问服务器的客户端IP(可any代表)
recursion yes;
# 添加lan和wan
生成自己定义的区域文件
$ cp –a named.rfc1912.zones lan.zones
$ vim lan.zones # 配置内网区域文件
zone "wyy.com" IN {
type master;
file "wyy.lan";
allow-update { none; }
};
$ cp –a named.rfc1912.zones wan.zones
$ vim wan.zones # 配置外网区域
zone "wyy.com" IN {
type master;
file "wyy.wan";
allow-update { none; }
};
配置数据文件
$ cp -a named.localhost wyy.lan # 配置内网的正向解析文件
$ vim wyy.lan
$TTL 1D
@ IN SOA wyy.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.wyy.com.
dns A 192.168.10.30
www A 192.168.10.20
$ cp -a wyy.lan wyy.wan # 配置外网的正向解析文件
$ vim wyy.wan
$TTL 1D
@ IN SOA wyy.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.wyy.com.
dns A 192.168.11.30
www A 192.168.11.20
重启服务
$ service named restart
效果测试
内网客户端网卡配置
将dns和网关都指为网关服务器的内网口地址
外网客户端网卡配置
将dns和网关都指为网关服务器的外网口地址
注:本文为博主查阅多方资料整理而成,如有侵权请留言联系博主删除。
学习新东西,不要忘记复习旧知识,这样你才能更好!