DNS服务的实现和原理

DNS服务器实战

目的:

搭建DNS正向主服务器,实现web服务器基于FQDN的访问

环境要求

需要三台主机

DNS服务端:10.0.0.8

web服务器:10.0.0.7

DNS客户端:10.0.0.6

前提准备

关闭SELinux

关闭防火墙

时间同步

在DNS服务端安装bind

yum install bind bind-utils -y

启用网站

systemctl status httpd.service 查看httpd服务是否启用 start启用 stop关闭

/var/www/html 网站的配置文件把东西放进里面可以在网站里面显示出来

目录名要改成index_files 文件要改成index

 

 

要先安装工具包bind 和bind.utils

1.在主配置文件中定义区域

vim /etc/named.conf

#注释掉下面两行

// listen-on port 53 { 127.0.0.1; };

// allow-query { localhost; };

 

vim /etc/named.rfc1912.zones

zone "ZONE_NAME" IN {

type {master|slave|hint|forward};

file "ZONE_NAME.zone";

};

 

DNS区域数据库文件

cp -p /var/named/named.localhost /var/named/wang.org.zone

#如果没有加-p选项,需要修改所有者或权限。chgrp named wang.org.zone

 

vim /var/named/wang.org.zone

$TTL 1D

@ IN SOA admin.wang.org. (

2019042210 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

IN NS master

master A 10.0.0.8

www A 10.0.0.7

 

检查配置文件和数据库文件格式,并启动服务

named-checkconf

named-checkzone wang.org /var/named/wang.org.zone

systemctl start named #第一次启动服务

rndc reload #不是第一次启动服务

 

从DNS

vim /var/named/named.rfc1912.zones

加上下面的这一段

zone "zeng.org" IN { type slave; masters {10.0.0.11;}; file "slaves/zeng.org.zone"; // allow-update { none; }; };

 

在web服务器上配置主域

配置主页面

echo www.shanghai.wang.org > /var/www/html/index.html

 

 

检查配置文件

named-checkconf

named-checkzone wang.org文件名 /var/named/wang.org/zone绝对路径

 

 

实现DNSforward(缓存)服务器

实现步骤

yum install bind -y

vim /etc/named.conf

#注释掉两行

// listen-on port 53 { 127.0.0.1; };

// allow-query { localhost; };

forward first;

forwarders { 10.0.0.18;};

#关闭dnsec功能

dnssec-enable no;

dnssec-validation no;

 

 

实现主DNS服务器

yum install bind -y

vim /etc/named.conf

#注释掉两行

// listen-on port 53 { 127.0.0.1; };

// allow-query { localhost; };

vim /etc/named.rfc1912.zones

#加上下面这段

zone "wang.org" {

type master;

file "wang.org.zone";

};

cp -p /var/named/named.localhost /var/named/wang.org.zone

#如果没有-p,需要改权限。chgrp named wang.org.zone

vim /var/named/wang.org.zone

$TTL 1D

@ IN SOA master admin.wang.org. (

2019042214 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

NS master

master A 10.0.0.18

websrv A 10.0.0.7

www CNAME websrv

 

 

 

DNS子域分配

准备同上

vim /etc/named.rfc1912.zones

zone "zengweijie.com" IN { type master; file "zengweijie.com.zone"; };

 

vim /etc/named.conf

// listen-on port 53 { 127.0.0.1; };

// allow-query { localhost; }; allow-transfer { 10.0.0.12;};

 

vim /var/named/zengweijie.com.zone

TTL 1D @ IN SOA zengweijie.com. rname.invalid. ( 11111112 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS dns1 BJ IN NS dns2 dns1 IN A 10.0.0.11 dns2 IN A 10.0.0.12

www CNAME websrv websrv A 10.0.0.10

 

// listen-on port 53 { 127.0.0.1; };

// allow-query { localhost; };

dnssec-enable no;

dnssec-validation no;

 

zone "BJ.zengweijie.com" IN { type master; file "BJ.zengweijie.com.zone"; // allow-update { none; }; };

 

$TTL 1D @ IN SOA BJ.zengweijie.com rname.invalid. ( 11111111 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS dns1 dns1 A 10.0.0.12 www A 10.0.0.43

 

 

CDN工作原理

\1. 用户向浏览器输入www.a.com这个域名,浏览器第一次发现本地没有dns缓存,则向网站的DNS服务器请求

\2. 网站的DNS域名解析器设置了CNAME,指向了www.a.tbcdn.com,请求指向了CDN网络中的智能DNS负载均衡系统

\3. 智能DNS负载均衡系统解析域名,把对用户响应速度最快的IP节点返回给用户;

\4. 用户向该IP节点(CDN服务器)发出请求

\5. 由于是第一次访问,CDN服务器会通过Cache内部专用DNS解析得到此域名的原web站点IP,向原站点服务器发起请求,并在CDN服务器上缓存内容

\6. 请求结果发给用户

 
posted @ 2022-11-11 20:36  zengweijie  阅读(107)  评论(0)    收藏  举报