栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

DNS复习

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

DNS复习

简述

为了降低用户访问网络资源的门槛,域名系统(Domain Name System,DNS)技术应运而生。这是一项用于管理和解析域名与IP地址对应关系的技术。简单来说,就是能够接受用户输入的域名或IP地址,然后自动查找与之匹配(或者说具有映射关系)的IP地址或域名,即将域名解析为IP地址(正向解析),或将IP地址解析为域名(反向解析)。这样一来,只需要在浏览器中输入域名就能打开想要访问的网站了。DNS域名解析技术的正向解析也是我们最常使用的一种工作模式。

3种类型的服务器。

  • 主服务器:在特定区域内具有唯一性,负责维护该区域内的域名与IP地址之间的对应关系。

  • 从服务器:从主服务器中获得域名与IP地址的对应关系并进行维护,以防主服务器宕机等情况。

  • 缓存服务器:通过向其他域名解析服务器查询获得域名与IP地址的对应关系,并将经常查询的域名信息保存到服务器本地,以此来提高重复查询时的效率。

查询方式

DNS域名解析服务采用分布式的数据结构来存放海量的“区域数据”信息,在执行用户发起的域名查询请求时,具有递归查询和迭代查询两种方式。

所谓递归查询,是指DNS服务器在收到用户发起的请求时,必须向用户返回一个准确的查询结果。如果DNS服务器本地没有存储与之对应的信息,则该服务器需要询问其他服务器,并将返回的查询结果提交给用户。

而迭代查询则是指,DNS服务器在收到用户发起的请求时,并不直接回复查询结果,而是告诉另一台DNS服务器的地址,用户再向这台DNS服务器提交请求,这样依次反复,直到返回查询结果。

域名分类

. :根域,可省略不写
com:顶级域,由ICANN组织指定和管理
分类:
国家地区域名:cn(中国)、hk(香港)、sg(新加坡)等通用顶级域名:com(商业机构)、org (非营利组织)、edu(教育机构)等新通用顶级域名:red(红色、热情)、top(顶级、高端)等
atguigu:二级域(注册域),可由个人或组织申请注册

www:三级域(子域),服务器网站名代表
主机名:s1.www.atguigu.com.中的s1就是主机名,一般用来表示具体某一台主机

流程
  1. 首先查找/etc/hosts
  2. 查找本地缓存
  3. 请求转发指定DNS服务器
  4. 查找域名是否本地解析
  5. 查找DNS服务器缓存
  6. 向根服务器发DNS请求,返回org域地址列表
  7. 使用某一个org域的ip,发送DNS请求,org域返回kernel域服务器地址列表
  8. 使用某一个kernel域的ip,发送DNS请求,kernel域返回www.kernel主机的ip地址,本地DNS服务收到后,返回客户机,并在本地DNS服务器保存一份
软件信息

软件名 bind 或bind-chroot

服务名 named

端口53

配置 /etc/named.conf
把第11行和第19行的地址均修改为any,分别表示服务器上的所有IP地址均可提供DNS域名解析服务,以及允许所有人对本服务器发送DNS查询请求。这两个地方一定要修改准确

[root@linuxprobe ~]# vim /etc/named.conf
  1 //
  2 // named.conf
  3 //
  4 // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
  5 // server as a caching only nameserver (as a localhost DNS resolver only).
  6 //
  7 // See /usr/share/doc/bind*/sample/ for example named configuration files.
  8 //
  9 
 10 options {
 11         listen-on port 53 { any; };
 12         listen-on-v6 port 53 { ::1; };
 13         directory       "/var/named";
 14         dump-file       "/var/named/data/cache_dump.db";
 15         statistics-file "/var/named/data/named_stats.txt";
 16         memstatistics-file "/var/named/data/named_mem_stats.txt";
 17         secroots-file   "/var/named/data/named.secroots";
 18         recursing-file  "/var/named/data/named.recursing";
 19         allow-query     { any; };
 20 
 21         
 31         recursion yes;
 32 
 33         dnssec-enable yes;
 34         dnssec-validation yes;
 35 
 36         managed-keys-directory "/var/named/dynamic";
 37 
 38         pid-file "/run/named/named.pid";
 39         session-keyfile "/run/named/session.key";
 40 
 41         
 42         include "/etc/crypto-policies/back-ends/bind.config";
 43 };
 44 
 45 logging {
 46         channel default_debug {
 47                 file "data/named.run";
 48                 severity dynamic;
 49         };
 50 };
 51 
 52 zone "." IN {
 53         type hint;
 54         file "named.ca";
 55 };
 56 
 57 include "/etc/named.rfc1912.zones";
 58 include "/etc/named.root.key";
 59 

区域配置文件 /etc/named.rfc1912.zones

数据配置文件 /etc/named/XXXX

实验 基本

正向
vim /etc/named.conf
 listen-on port 53 { any; };
 allow-query     { any; };
 
vim /etc/named.rfc1912.zones
zone "syh.com" IN {
        type master;
        file "syh.com.zone";
        allow-update {none;};
};


 cp -a named.localhost /etc/named/syh.com.zone
 vim /var/named/syh.com.zone
$TTL 1D
@       IN SOA   syh.com. root.syh.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      ns.syh.com.
ns      IN A    192.168.222.110

vim /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
IPADDR=192.168.222.110
NETMASK=255.255.255.0
DNS1=192.168.222.110
GATEWAY=192.168.222.110
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="ens33"
UUID="b5c352d6-b21b-4925-8cc0-a2f6f287b876"
DEVICE="ens33"
ONBOOT="yes"

service  network restart

[root@syh named]# nslookup ns.syh.com
Server:		192.168.222.110
Address:	192.168.222.110#53

Name:	ns.syh.com
Address: 192.168.222.110                 
反向
vim /etc/named.rfc1912.zones 

zone "syh.com" IN {
        type master;
        file "syh.com.zone";
        allow-update {none;};
};
zone "222.168.192.in-addr.arpa" IN { 
        type master;
        file "192.168.222.arpa";
};

cp -a /var/named/named.loopback /var/named/192.168.222.arpa


主从服务

主

 vim /etc/named.rfc1912.zones 
zone "syh.com" IN {
        type master;
        file "syh.com.zone";
        allow-update { 192.168.222.111; };
};


zone "222.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.222.arpa";
        allow-update { 192.168.222.111; };
};


从

vim /etc/named.conf
 listen-on port 53 { any; };
 allow-query     { any; };

 vim /etc/named.rfc1912.zones
zone "syh.com" IN {
        type slave;
        masters { 192.168.222.110; };
        file "slaves/syh.com.zone";
};
zone "222.168.192.in-addr.arpa" IN {
        type slave;
        masters { 192.168.222.110; };
        file "slaves/192.168.222.arpa";
};
缓存服务器 1

forwarders { 上级DNS服务器地址; };”,上级DNS服务器地址指的是获取数据配置文件的服务器。

vim /etc/named.conf

 allow-query     { any; };
forwarders { 210.73.64.1; };
 yum install dnsmasq -y
vim /etc/dnsmasq.conf 

# Include all files in /etc/dnsmasq.d except RPM backup files
domain=www.syh.com
server=192.168.222.110
cache-size=15000


智能DNS

dns

第1步:修改bind服务程序的主配置文件,把第11行的监听端口与第19行的允许查询主机修改为any。由于配置的DNS分离解析功能与DNS根服务器配置参数有冲突,所以需要把第52~55行的根域信息删除。

第2步:编辑区域配置文件。把区域配置文件中原有的数据清空,然后按照以下格式写入参数。首先使用acl参数分别定义两个变量名称(china与america),当下面需要匹配IP地址时只需写入变量名称即可,这样不仅容易阅读识别,而且也利于修改维护。这里的难点是理解view参数的作用。它的作用是通过判断用户的IP地址是中国的还是美国的,然后去分别加载不同的数据配置文件(linuxprobe.com.china或linuxprobe.com.america)。这样,当把相应的IP地址分别写入到数据配置文件后,即可实现DNS的分离解析功能。这样一来,当中国的用户访问linuxprobe.com域名时,便会按照linuxprobe.com.china数据配置文件内的IP地址找到对应的服务器。

acl "china" {122.71.115.0/24; };
acl "america" { 106.185.25.0/24; };

view "china" {
        match-clients { "china"; };
        zone "syh.com" {
        type master;
        file "syh.com.china";
        };
};
view "america" {
        match-clients { "america"; };
        zone "syh.com" {
        type master;
        file "syh.com.america";
        };
};   

第3步:建立数据配置文件。分别通过模板文件创建出两份不同名称的区域数据文件,其名称应与上面区域配置文件中的参数相对应。

[root@linuxprobe ~]# cd /var/named
[root@linuxprobe named]# cp -a named.localhost syh.com.china
[root@linuxprobe named]# cp -a named.localhost syh.com.america
[root@linuxprobe named]# vim syh.com.china


题

https://www.linuxprobe.com/basic-learning-13.html#136

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/992367.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号