[linux学习](linuxprobe课程)十二 使用Bind提供域名解析服务
DNS(domain NAME SYSTEM)域名解析系统
用来地址解析,比如内网环境想外网听歌,可以配置个DNS服务器,服务器联通内外网,听歌的地址解析成一个IP,再将IP映射到外网。也可进行反向解析,目前没发现有啥用
正向解析
配置
- 下载软件
# 牢笼机制,可以让这个服务的作用范围缩到最小,类似于自己建个nologin用户,只给某个服务用
yum install named-chroot
- 配置文件
分三部分
主配置文件 /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进行不同的设置,限制访问的地址。
配置方式
- 主配置文件,修改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
………………省略部分输出信息………………
- 区域配置文件,配置多个区域,并且每个区域设置不同的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 };
- 建立数据配置文件。分别通过模板文件创建出两份不同名称的区域数据文件,其名称应与上面区域配置文件中的参数相对应。
[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.)
- 重启bind服务
systemctl restart named
部分感悟
- DNS在解析时是从根域开始的,比如www.baidu.com 就是从com后面省略的点开始,当我们访问一个网址时,如果本地的缓存没有数据,就会请求配置的DNS地址,如果还是没有,就请求根域服务器他会记录一级域的服务器地址,如果没有,就访问一级域名的服务器(一般情况下,域名绑定都是绑定在这些服务器上,大部分都是二级域名),访问一级域名服务器后还是没有,就访问2级域名服务器,可能是部分本地运营商的地址,也可能是自己搭建的DNS服务器,大多数情况下,就可以解析出来。
- 数据配置文件内容是通过记录的形式书写的,SOA NS A是三种不同的记录,分别代表着域名服务器参数配置,域名服务器记录,以及真正的域名解析地址。
- 数据配置文件中的www等都是省略了域的书写方式,比如baidu.com这个域,当记录中存在www时,意味着这是www.baidu.com
DNS
https://www.cnblogs.com/heiye123/articles/7687922.html
[linux学习](linuxprobe课程)十二 使用Bind提供域名解析服务相关推荐
- Cty的Linux学习笔记(十二)
Linux学习笔记--第十二篇 命令(command): RPM工具: rpm -ivh ......:安装RPM包 -i:表示安装 -v:表示可视化 -h:表示显示安装进度 在安装RPM包是常用的附 ...
- 2021-10-05 linux学习-部署(十二) 之Bind服务程序
Bind服务程序 BIND(Berkeley Internet Name Domain,伯克利因特网名称域)服务是全球范围内使用最广泛.最安全可靠且高效的域名解析服务程序. 1 安装Bind dnf ...
- 使用Bind提供域名解析服务
13.1 DNS域名解析服务 相较于由数字构成的IP地址,域名更容易被理解和记忆,所以我们通常更习惯通过域名的方式来访问网络中的资源.但是,网络中的计算机之间只能基于IP地址来相互识别对方的身份,而且 ...
- Linux学习之CentOS(十二)--crontab命令的使用方法
crontab命令常见于Unix和Linux的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行. 在 ...
- Linux学习笔记(十二)usermod、passwd、mkpasswd
一.usermod修改用户信息 usermod -u 111 username #修改用户 usermod -g grp2 username #修改用户组 usermod -d /home/china ...
- linux vim分屏函数,Linux学习笔记之十二————vim编辑器的分屏操作
一.分屏操作: sp: 上下分屏,后可跟文件名 vsp: 左右分屏,后可跟文件名 Ctr+w+w: 在多个窗口切换 二.启动分屏: 1.使用大写O参数进行垂直分屏 $ vim -On file1 fi ...
- LINUX学习基础篇(二十二)硬盘结构
LINUX学习基础篇(二十二)文件系统管理 硬盘 磁盘结构 硬盘接口 硬盘 磁盘结构 扇区是磁盘的最小存储单位,每个扇区的大小是固定的,为512Byte.硬盘里有多个磁盘,每个磁盘中,有多个同心圆,这 ...
- LINUX学习基础篇(二十六)swap分区
LINUX学习基础篇(二十六)swap分区 swap分区 查看swap分区大小 分配swap分区 格式化swap分区 增加swap分区 swap分区 Linux中的swap分区相当于Windows中的 ...
- Spring Cloud学习笔记【十二】Hystrix的使用和了解
Spring Cloud学习笔记[十二]Hystrix的使用和了解 Hystrix [hɪst'rɪks],中文含义是豪猪,因其背上长满棘刺,从而拥有了自我保护的能力.本文所说的Hystrix是Net ...
最新文章
- 三、单链表增删改查原理和代码实现
- Delphi下载指定网址(URL)的文件,带进度条显示
- python 字典 列表 速度_高效使用Python字典的清单
- 解决zabbix的cannot allocate shared memory of size错误
- 获取数组中元素值为偶数的累加和与元素值为奇数的累加和,并计算他们之间的差值
- 智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamRPN++(2019)
- 为什么要从vmware切换到kvm?
- java元组_Java元组Tuple介绍与使用
- mysql 临时表 主键_MySQL临时表
- wps xml转换表格_PDF转换神器安装步骤
- linux集群常用文件拷贝命令
- 人脸识别接口_智慧小区人脸识别门禁系统室外人脸识别门禁终端厂家
- C#实现给图片加边框的方法
- Chrome translate plugins install 谷歌翻译插件安装
- Python实战 | 送亲戚,送长辈,“ 月饼 ”可视化大屏来帮忙。
- 屡不悔改,这60款APP被强制下架!
- 软件缺陷静态分析CodeSonar
- 520了,用32做个简单的小程序
- Foxmail邮件客户端邮箱密码解密
- JavaMail 之 搜索邮件