DNS(domain NAME SYSTEM)域名解析系统

用来地址解析,比如内网环境想外网听歌,可以配置个DNS服务器,服务器联通内外网,听歌的地址解析成一个IP,再将IP映射到外网。也可进行反向解析,目前没发现有啥用

正向解析

配置

  1. 下载软件
# 牢笼机制,可以让这个服务的作用范围缩到最小,类似于自己建个nologin用户,只给某个服务用
yum install named-chroot
  1. 配置文件
    分三部分
    主配置文件 /etc/named.conf
    区域配置文件 /etc/named.rfc1912.zones 保存域名映射关系存的地址
    数据配置文件目录 /var/named 对应区域配置文件里的zone,一一对应,一个zone对应一个文件,意味着一个域名对应一个文件
vim /etc/named.conf
# 更改11行和17行为any即可,11行意味着所有的网口都监听解析请求,17是所有人都能向这个服务器发送解析请求,类似于source和direction的配置1 //2 // named.conf3 //4 // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS5 // 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 allow-query { any; };
# 一个区域配置文件可以配置多个域名
vim /etc/named.rfc1912.zones
# 定义一个域名的空间
zone "haha.com" IN{# 主域名服务器
type master;
# 域名空间的存放文件名称,虽遍起名,但是为了规范最好和空间一样
file "haha.com.zone";
# 是否允许同步,none是不允许
allow-update {none;};
}
# 目前/var/named下面有很多文件,都是示例文件,可以直接拷贝一份后修改使用,注意所属用户和所属组
# 文件名对应着区域配置文件里的配置,一个文件对应一个域名
cp -a named.localhost haha.com.zone
# 修改配置文件
vim haha.com.zone
# 生效时间 一天这就是个变量
$TTL 1D
# @ 下面所有的信息都是一个记录,它是有自己的规范的,详细的见最后DNS链接,此处@意思为默认域,或者叫当前域,因为我们编辑的文件是区域配置文件指向的数据文件,所以内容都是以这个区域配置文件中对应的参数为准的
# IN SOA SOA记录,可以理解为定义这个域的版本之类的参数,版本是从服务器同步时是否更新的判断标砖,修改DNS后,自动增加。具体怎么增加的还真不清楚,IN是记录的意思,
# haha.com. ***域名记着最后的根域.要加***
# haha.haha.haha 邮箱地址,第一个"."是@的替代,防止冲突@       IN SOA  haha.com. haha.haha.haha.(0       ; serial 1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimum# name server 服务器地址,目前看不出来是干嘛的# ns.haha.com 也看不出来干嘛的NS      ns.haha.com.
# ns ns.haha.com的省略,因为已经定义过域名为haha.com,所以后面的可以省略
# IN A 类似于映射 意味着ns.haha.com  映射到后面的地址,A 是A记录的意思,NS是NS记录
#  192.168.10.10 实际的IP地址
ns      IN A    192.168.10.10
# www www.haha.com的缩写
www     IN A    192.168.10.10

分离解析技术

因不同国家或地区所使用的IP是不同的,所以为了让不同地区访问同一个服务时,不会因服务器的位置导致访问过慢,使用了分离解析技术,让不同国家访问本地的或比较近的服务器,类似于访问控制列表,对不同的IP进行不同的设置,限制访问的地址。

配置方式

  1. 主配置文件,修改bind服务程序的主配置文件,把第11行的监听端口与第17行的允许查询主机修改为any。由于配置的DNS分离解析功能与DNS根服务器配置参数有冲突,所以需要把第51~54行的根域信息删除。
[root@linuxprobe ~]# vim /etc/named.conf
………………省略部分输出信息………………44 logging {45 channel default_debug {46 file "data/named.run";47 severity dynamic;48 };49 };50 51 zone "." IN {52 type hint;53 file "named.ca";54 };55 56 include "/etc/named.rfc1912.zones";57 include "/etc/named.root.key";58
………………省略部分输出信息………………
  1. 区域配置文件,配置多个区域,并且每个区域设置不同的IP,意味着,这些IP访问时会访问不同的数据配置文件
[root@linuxprobe ~]# vim /etc/named.rfc1912.zones
1 acl "china" { 122.71.115.0/24; };
2 acl "american" { 106.185.25.0/24;};
3 view "china"{4 match-clients { "china"; };
5 zone "linuxprobe.com" {6 type master;
7 file "linuxprobe.com.china";
8 };
9 };
10 view "american" {11 match-clients { "american"; };
12 zone "linuxprobe.com" {13 type master;
14 file "linuxprobe.com.american";
15 };
16 };
  1. 建立数据配置文件。分别通过模板文件创建出两份不同名称的区域数据文件,其名称应与上面区域配置文件中的参数相对应。
[root@linuxprobe ~]# cd /var/named
[root@linuxprobe named]# cp -a named.localhost linuxprobe.com.china
[root@linuxprobe named]# cp -a named.localhost linuxprobe.com.american
[root@linuxprobe named]# vim linuxprobe.com.china
@   IN SOA  linuxprobe.com. root.linuxprobe.com.    (
#授权信息开始:    #DNS区域的地址   #域名管理员的邮箱(不要用@符号)
0;serial    #更新序列号
1D;refresh  #更新时间
1H;retry    #重试延时
1W;expire   #失效时间
3H;)minimum #无效解析记录的缓存时间
NS  ns.linuxprobe.com.  #域名服务器记录
ns  IN A    122.71.115.10   #地址记录(ns.linuxprobe.com.)
www IN A    122.71.115.15   #地址记录(www.linuxprobe.com.)
$TTL 1D  #生存周期为1天
@  IN SOA  linuxprobe.com. root.linuxprobe.com.    (
#授权信息开始:    #DNS区域的地址   #域名管理员的邮箱(不要用@符号)
0;serial    #更新序列号
1D;refresh  #更新时间
1H;retry    #重试延时
1W;expire   #失效时间
3H;)minimum #无效解析记录的缓存时间
NS  ns.linuxprobe.com.  #域名服务器记录
ns  IN A    106.185.25.10   #地址记录(ns.linuxprobe.com.)
www IN A    106.185.25.15   #地址记录(www.linuxprobe.com.)
  1. 重启bind服务
systemctl restart named

部分感悟

  1. DNS在解析时是从根域开始的,比如www.baidu.com 就是从com后面省略的点开始,当我们访问一个网址时,如果本地的缓存没有数据,就会请求配置的DNS地址,如果还是没有,就请求根域服务器他会记录一级域的服务器地址,如果没有,就访问一级域名的服务器(一般情况下,域名绑定都是绑定在这些服务器上,大部分都是二级域名),访问一级域名服务器后还是没有,就访问2级域名服务器,可能是部分本地运营商的地址,也可能是自己搭建的DNS服务器,大多数情况下,就可以解析出来。
  2. 数据配置文件内容是通过记录的形式书写的,SOA NS A是三种不同的记录,分别代表着域名服务器参数配置,域名服务器记录,以及真正的域名解析地址。
  3. 数据配置文件中的www等都是省略了域的书写方式,比如baidu.com这个域,当记录中存在www时,意味着这是www.baidu.com

DNS

https://www.cnblogs.com/heiye123/articles/7687922.html

[linux学习](linuxprobe课程)十二 使用Bind提供域名解析服务相关推荐

  1. Cty的Linux学习笔记(十二)

    Linux学习笔记--第十二篇 命令(command): RPM工具: rpm -ivh ......:安装RPM包 -i:表示安装 -v:表示可视化 -h:表示显示安装进度 在安装RPM包是常用的附 ...

  2. 2021-10-05 linux学习-部署(十二) 之Bind服务程序

    Bind服务程序 BIND(Berkeley Internet Name Domain,伯克利因特网名称域)服务是全球范围内使用最广泛.最安全可靠且高效的域名解析服务程序. 1 安装Bind dnf ...

  3. 使用Bind提供域名解析服务

    13.1 DNS域名解析服务 相较于由数字构成的IP地址,域名更容易被理解和记忆,所以我们通常更习惯通过域名的方式来访问网络中的资源.但是,网络中的计算机之间只能基于IP地址来相互识别对方的身份,而且 ...

  4. Linux学习之CentOS(十二)--crontab命令的使用方法

    crontab命令常见于Unix和Linux的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行. 在 ...

  5. Linux学习笔记(十二)usermod、passwd、mkpasswd

    一.usermod修改用户信息 usermod -u 111 username #修改用户 usermod -g grp2 username #修改用户组 usermod -d /home/china ...

  6. linux vim分屏函数,Linux学习笔记之十二————vim编辑器的分屏操作

    一.分屏操作: sp: 上下分屏,后可跟文件名 vsp: 左右分屏,后可跟文件名 Ctr+w+w: 在多个窗口切换 二.启动分屏: 1.使用大写O参数进行垂直分屏 $ vim -On file1 fi ...

  7. LINUX学习基础篇(二十二)硬盘结构

    LINUX学习基础篇(二十二)文件系统管理 硬盘 磁盘结构 硬盘接口 硬盘 磁盘结构 扇区是磁盘的最小存储单位,每个扇区的大小是固定的,为512Byte.硬盘里有多个磁盘,每个磁盘中,有多个同心圆,这 ...

  8. LINUX学习基础篇(二十六)swap分区

    LINUX学习基础篇(二十六)swap分区 swap分区 查看swap分区大小 分配swap分区 格式化swap分区 增加swap分区 swap分区 Linux中的swap分区相当于Windows中的 ...

  9. Spring Cloud学习笔记【十二】Hystrix的使用和了解

    Spring Cloud学习笔记[十二]Hystrix的使用和了解 Hystrix [hɪst'rɪks],中文含义是豪猪,因其背上长满棘刺,从而拥有了自我保护的能力.本文所说的Hystrix是Net ...

最新文章

  1. 三、单链表增删改查原理和代码实现
  2. Delphi下载指定网址(URL)的文件,带进度条显示
  3. python 字典 列表 速度_高效使用Python字典的清单
  4. 解决zabbix的cannot allocate shared memory of size错误
  5. 获取数组中元素值为偶数的累加和与元素值为奇数的累加和,并计算他们之间的差值
  6. 智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamRPN++(2019)
  7. 为什么要从vmware切换到kvm?
  8. java元组_Java元组Tuple介绍与使用
  9. mysql 临时表 主键_MySQL临时表
  10. wps xml转换表格_PDF转换神器安装步骤
  11. linux集群常用文件拷贝命令
  12. 人脸识别接口_智慧小区人脸识别门禁系统室外人脸识别门禁终端厂家
  13. C#实现给图片加边框的方法
  14. Chrome translate plugins install 谷歌翻译插件安装
  15. Python实战 | 送亲戚,送长辈,“ 月饼 ”可视化大屏来帮忙。
  16. 屡不悔改,这60款APP被强制下架!
  17. 软件缺陷静态分析CodeSonar
  18. 520了,用32做个简单的小程序
  19. Foxmail邮件客户端邮箱密码解密
  20. JavaMail 之 搜索邮件

热门文章

  1. 软件公司要咨询顾问干什么?
  2. [share]PDO操作MySql类
  3. 大白话说期权——除了买涨买跌,我们还能怎么交易?二元期权又是什么鬼?
  4. 数据分析中的专业术语
  5. 太和二中计算机考试,太和二中网上阅卷系统|翰林金榜太和二中查分系统 网页版_最火手机站...
  6. 官网被报危险网站和降权的应对措施
  7. python 代码合并txt文件
  8. 微信小程序低功耗蓝牙BLE快速开发js
  9. 常见HTTP请求错误
  10. VS 和VC 的区别