理论 :DNS域名解析服务-——理论讲解
发表于:2024-11-25 作者:千家信息网编辑
千家信息网最后更新 2024年11月25日,前言:BIND域名服务基础DNS系统的作用及类型BIND的安装和配置文件使用BIND构建域名服务器构建缓存域名服务器构建主、从域名服务器重点步骤:找主配置文件,找启动脚本一: DNS系统的作用1.1
千家信息网最后更新 2024年11月25日理论 :DNS域名解析服务-——理论讲解
前言:
- BIND域名服务基础
- DNS系统的作用及类型
- BIND的安装和配置文件
- 使用BIND构建域名服务器
- 构建缓存域名服务器
- 构建主、从域名服务器
重点步骤:找主配置文件,找启动脚本
一: DNS系统的作用
1.1 正向解析:根据主机名称(域名)查找对应的IP地址
1.2 反向解析:根据IP地址查找对应的主机域名
ip解析域名,多用于测试
1.3 DNS系统的分布式数据结构
www.sina.com.cn. 最后一个点是根,整体就是完全合格域名
www是主机名称,sina二级域名,com.cn是顶级域名 .是根
二 : DNS系统类型
2.1 缓存域名服务器
- 也称为高速缓存服务器
- 通过向其他域名服务器查询获得域名->IP地址记录
- 将域名查询结果缓存到本地,提高重复查询时的速度
在服务安装完毕时,就是缓存服务器
2.2 主域名服务器(master)
- master主服务器
- 特定DNS区域的官方服务器,具有唯一性
- 负责维护该区域内所有域名->IP地址的映射记录
2.3 从域名服务器(slave)
- slave 服务器
- 也称为辅助域名服务器
- 其维护的域名->IP地址记录,来源于主域名服务器
三 : BIND 域名服务
3.1 BIND服务简述
- BIND(Berkeley Internet Name Daemon)
- 伯克利Internet域名服务
- 相关软件包
- bind-9.9.4-37.el7.x86_64.rpm
- bind-untils-9.9.4-37.el7.x86_64.rpm
- bind-libs-9.9.4-37.el7.x86_64.rpm
- bind-chroot-9.9.4-37.el7.x86_64.rpm
3.2 BIND 域名服务端程序
- 主要执行程序: /usr/sbin/named
- 默认监听端口:53 TCP负责连接控制,UDP负责快速解析
- 主配置文件: /etc/bind/named.conf
- 保存DNS解析记录的数据文件位于 /var/named/
3.3 BIND域名服务程序主配置文件/etc/bind/named.conf
全局配置部分
- 设置DNS服务器的全局参数
- 包括监听地址/端口、数据文件的默认位置等
- 使用options { ..... };的配置段
[root@localhost ~]# vim /etc/named.confoptions { '选项' listen-on port 53 { any; }; '监听地址所有' listen-on-v6 port 53 { ::1; }; directory "/var/named"; '目录在/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"; recursing-file "/var/named/data/named.recursing"; secroots-file "/var/named/data/named.secroots"; allow-query { 192.168.10.0/24; }; '允许此网段前来解析'
区域配置部分 /etc/named.rfc1912.zones
- 设置本服务器提供域名解析的特定DNS区域
- 包括域名、服务器角色、数据文件名等
- 使用zone "区域名" IN { ...... }; 的配置段
#正向解析zone "localhost" IN { '主机名,例kgc.com' type master; 'master类型,主服务器' file "named.localhost"; '区域数据文件名,A记录,可以解析主机头,' allow-update { none; }; '允许更新' allow-transfer { 173.16.16.2 } '从服务器的IP地址'}; #反向解析zone "16.16.173.in-addr.arpa" IN { 'ip地址反写' type master; '主服务器' file "named.loopback"; '区域配置文件名' allow-update { none; }; '允许更新'};
16.16.173.in-addr.arpa 是ip地址的反写 正写是'173.16.16.?',?作为一个选项
3.4 区域数据配置文件(A记录) 在区域配置选项中file "*"
3.4.1 全局TTL配置项及SOA记录 /var/named/目录下
- $TTL (Time To Live, 生存时间)记录
- SOA (Start Of Authority,授权信息开始)记录
- 分号";"开始的部分表示注释信息
$TTL 1D '有效解析记录的生命周期'@ IN SOA @ rname.invalid. ( 'SOA标记、@域名、管理者邮箱' 0 ; serial '更新序列号,可以是10位以内的整数,当前0' 1D ; refresh '刷新时间,重新下载地址数据的间隔,1天' 1H ; retry '重试延时,下载失败后的重试间隔,1小时' 1W ; expire '失效时间,超过改时间仍无法下载则放弃,1周' 3H ) ; minimum '无效解析记录的生存周期 3小时' NS @ '@指自己' A 127.0.0.1 '回环地址,此行的首位没写,默认是自己的主机名,即输入自己的主机名就是在ping自己' AAAA ::1~
若是找不到主服务器,就会每1小时找一次,持续1w即一周
3.4.2 域名解析记录
- NS域名服务器(Name Server)记录
- MX邮件交换(Mail Exchange)记录
- A地址(address)记录,只用在正向解析区域中
- CNAME 别名 (Canonical Name)记录
$TTL 1D '有效解析记录的生命周期'@ IN SOA @ rname.invalid. ( 'SOA标记、@域名、管理者邮箱' 0 ; serial '更新序列号,可以是10位以内的整数,当前0' 1D ; refresh '刷新时间,重新下载地址数据的间隔,1天' 1H ; retry '重试延时,下载失败后的重试间隔,1小时' 1W ; expire '失效时间,超过改时间仍无法下载则放弃,1周' 3H ) ; minimum '无效解析记录的生存周期 3小时' NS @ A 127.0.0.1 AAAA ::1@ IN NS ns1.bdqn.com. '自己的域名叫做ns1.bdqn.com.' IN MX 10 mail.bdqn.com. '自己的邮件交换系统优先级别10的叫做mail.bdqn.com.'ns1 IN A 58.119.74.203 '主机名即主机头为ns1时,对应的ip地址58.119.74.203'www IN A 173.16.16.1 '主机名为www时,对应的ip地址为为173.16.16.1'mail IN A 173.16.16.4 ftp IN CNAME www 'cname,别名,即输入ftp相当于输入www'~
3.5 实验 :正向解析搭建
[root@dns named]# rpm -qc bind '查看已安装bind软件的配置文件'/etc/logrotate.d/named/etc/named.conf/etc/named.iscdlv.key/etc/named.rfc1912.zones/etc/named.root.key/etc/rndc.conf/etc/rndc.key/etc/sysconfig/named/var/named/named.ca/var/named/named.empty/var/named/named.localhost/var/named/named.loopback[root@dns named]#
[root@dns named]# vim /etc/named.conf '配置主配置文件'options { listen-on port 53 { 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"; recursing-file "/var/named/data/named.recursing"; secroots-file "/var/named/data/named.secroots"; allow-query { any; }; '允许所有主机前来解析' /*
[root@dns named]# vim /etc/named.conf '配置主配置文件'zone "." IN { '根域,不要去动它' type hint; file "named.ca";};include "/etc/named.rfc1912.zones"; '区域配置文件,接下来要配置它'include "/etc/named.root.key";
[root@dns named]# cd /var/named '去看一眼默认文件存放路径'[root@dns named]# lschroot data dyndb-ldap kgc.com.zone named.empty named.loopbackchroot_sdb dynamic kgc.com.local named.ca named.localhost slaves[root@dns named]# vim /etc/named.rfc1912.zones '配置区域配置文件'
以ipv6反向解析zone为界限,上面的是正向解析zone,下面是反向解析zone
zone "kgc.com" IN { '创建一个kgc.com正向解析区域' type master; file "kgc.com.zone"; '存放文件在默认目录/var/named下,名为kgc.com.zone文件,若是没有需要自己创建' allow-update { none; };}; zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN { type master; file "named.loopback"; allow-update { none; };};zone "0.0.10.in-addr.arpa" IN { type master; file "kgc.com.local"; allow-update { none; };};
[root@dns named]# cp -p named.localhost kgc.com.zone '保留权限复制模板,重命名为kgc.com.zone'[root@dns named]# vim kgc.com.zone ''修改区域数据,$TTL 1D@ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS kgc.com. A 127.0.0.1 IN MX 5 mail.kgc.com.mail IN A 10.10.10.10www IN A 9.9.9.9ftp IN CNAME www* IN A 8.8.8.8
@ 代表变量,在这里指域名
此时DNS的正向解析已经配置完毕
[root@dns named]# systemctl start named '启动服务'[root@dns named]# netstat -natp |grep named '查看端口状态-n 数字 -a 所有 -t tcp -p protocol 协议'tcp 0 0 192.168.139.132:53 0.0.0.0:* LISTEN 40771/named tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 40771/named tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 40771/named tcp6 0 0 ::1:53 :::* LISTEN 40771/named tcp6 0 0 ::1:953 :::* LISTEN 40771/named [root@dns named]# netstat -naup |grep named '-u udp'udp 0 0 192.168.139.132:53 0.0.0.0:* 40771/named udp 0 0 127.0.0.1:53 0.0.0.0:* 40771/named udp 0 0 192.168.122.1:53 0.0.0.0:* 40771/named udp6 0 0 ::1:53 :::* 40771/named
[root@dns named]# systemctl stop firewalld '关闭防火墙'[root@dns named]# setenforce 0 '关闭安全增强服务'
验证一下
新建一台虚拟机,网卡模式也设置为nat模式,然后指定dns
C:\Users\GSY>nslookup mail.kgc.com服务器: UnKnownAddress: 192.168.139.132名称: mail.kgc.comAddress: 10.10.10.10C:\Users\GSY>nslookup qqq.kgc.com服务器: UnKnownAddress: 192.168.139.132DNS request timed out. timeout was 2 seconds.名称: qqq.kgc.comAddress: 123.123.123.123
'也可以在本机的/etc/resolv.conf内输入dns服务器名,告诉主机dns的位置,进行本地验证 '[root@dns named]# echo "nameserver 192.168.139.132" > /etc/resolv.conf[root@dns named]# nslookup www.kgc.comServer: 192.168.139.132Address: 192.168.139.132#53Name: www.kgc.comAddress: 10.0.0.10
3.6 反向域名解析记录 PTR
3.6.1 域名解析记录
- PTR指针(Point)记录,只用在反向解析区域中
- 记录的第一列指定IP地址中的主机地址部分即可
14 IN PTR www.kgc.com.13 IN PTR ftp.kgc.com.
反向解析的区域数据文件配置
[root@dns named]# cp -p named.loopback kgc.com.local '创建的文件名与区域反向解析配置的文件名一致'[root@dns named]# vim kgc.com.local$TTL 1D@ IN SOA kgc.com. admin.kgc.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS kgc.com. A 14.0.0.1414 IN PTR www.kgc.com.13 IN PTR ftp.kgc.com.2 IN PTR WWW.GSYDSG.com.~
测试 nslookup 或者host都可以
[root@dns named]# systemctl restart named[root@dns named]# nslookup 14.0.0.2 '因为在配置文件中是大写的WWW,所以不是域名='2.0.0.14.in-addr.arpa name = WWW.GSYDSG.com.[root@dns named]# host 14.0.0.1414.0.0.14.in-addr.arpa domain name pointer www.kgc.com.[root@dns named]# host 14.0.0.1313.0.0.14.in-addr.arpa domain name pointer ftp.kgc.com.[root@dns named]#
3.7 区域数据配置文件的特殊应用--泛域名解析
3.7.1 基于域名解析的负载均衡
- 同一域名对应到多个IP地址
3.7.2 泛域名解析
- 找不到精确对应的A记录时,使用"*"进行匹配
www IN A 9.9.9.9www IN A 7.7.7.7www IN A 6.6.6.6* IN A 8.8.8.8
验证同一域名对应到多个IP地址
C:\Users\GSY>nslookup www.kgc.com服务器: UnKnownAddress: 192.168.139.132DNS request timed out. timeout was 2 seconds.名称: www.kgc.comAddresses: 6.6.6.6 7.7.7.7 9.9.9.9
3.8 对配置文件进行语法检查 named-checkconf
3.8.1 named-checkconf 工具
[root@dns named]# named-checkconf /etc/named.conf[root@dns named]# named-checkconf /etc/named.rfc1912.zones
没啥反应,因为是正常运转的,我把里面的数据改错验证一下
zoe "kgc.com" IN { '去掉个字母' type master; file "kgc.com.zone"; allow-update { none; };};
[root@dns named]# named-checkconf /etc/named.rfc1912.zones /etc/named.rfc1912.zones:13: unknown option 'zoe'
错误改回来
[root@dns named]# named-checkconf -z /etc/named.rfc1912.zones zone kgc.com/IN: loaded serial 0zone localhost/IN: loaded serial 0zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0zone 0.0.14.in-addr.arpa/IN: loaded serial 0zone 0.in-addr.arpa/IN: loaded serial 0
-z 选项,还会查看其中的zone项是否有误
不带-z选项,只查看整体的语法
3.8.2 named-checkzone 工具
[root@dns named]# named-checkzone kgc.com /var/named/kgc.com.zone zone kgc.com/IN: loaded serial 0OK
3.9 实验 :构建缓存域名服务器
3.10 构建主、从域名服务器
slave 从服务器
总结
使用dns域名解析服务
先管关掉防火墙再说
1.需要安装bind*软件
主配置文件/etc/bind/named.conf
数据文件 /var/named
程序 /usr/sbin/named
2.全局配置文件配置 /etc/named.conf
options { '众多选项' listen-on port 53 { 127.0.0.1; }; '监听此地址' listen-on-v6 port 53 { ::1; }; directory "/var/named"; '默认目录在/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"; recursing-file "/var/named/data/named.recursing"; secroots-file "/var/named/data/named.secroots"; allow-query { localhost; }; '允许此主机名前来解析'
3.区域配置文件 /etc/named.rfc1912.zones
#正向解析zone "localhost" IN { "主机名" type master; 'master类型,主服务器' file "named.localhost"; '区域数据文件名,A记录,可以解析主机头' allow-update { none; }; '允许更新' allow-transfer { 173.16.16.2 }; '从服务器的IP地址'}; zone "localhost" IN { "主机名" type slave; 'slave类型,从服务器' file "slaves/bdqn.com.zone"; allow-update { none; }; '允许更新' masters { 192.168.10.10; }; '主服务器的IP地址'};#反向解析zone "16.16.173.in-addr.arpa" IN { 'ip地址反写' type master; '主服务器' file "named.loopback"; '区域配置文件名' allow-update { none; }; '允许更新'};
3.区域数据文件 /var/named/目录下
以其中的named.localhost为模板带权限复制,名字改为区域配置文件中file参数的名字
$TTL 1D '有效解析记录的生命周期'@ IN SOA @ rname.invalid. ( 'SOA标记、@域名、管理者邮箱' 0 ; serial '更新序列号,可以是10位以内的整数,当前0' 1D ; refresh '刷新时间,重新下载地址数据的间隔,1天' 1H ; retry '重试延时,下载失败后的重试间隔,1小时' 1W ; expire '失效时间,超过改时间仍无法下载则放弃,1周' 3H ) ; minimum '无效解析记录的生存周期 3小时' NS @ A 127.0.0.1 AAAA ::1@ IN NS ns1.bdqn.com. IN MX 10 mail.bdqn.com.mail IN A 173.16.16.4ns1 IN A 58.119.74.203ftp IN CNAME wwwwww IN A 173.16.16.1
nslookup可以去检验
可以在/etc/hosts 和/etc/resolv.conf文件中输入dns服务器主机名
并确认,用以快速访问dns地址
域名
服务
服务器
文件
配置
地址
区域
主机
数据
时间
更新
小时
文件名
周期
缓存
名称
目录
类型
系统
监听
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
文摘型数据库的结构
少儿网络安全知识讲座
江苏好的软件开发专业服务
达茂旗软件开发培训
数据库写入上限
人工智能机器与网络安全
与网络安全有关的手抄报怎么做
文档数据库难点
企业级服务器介绍
t40服务器如何做阵列
计算机网络安全技术b卷
命运2链接不到动态数据库
数据库实用教程4版
中国dna数据库南方库
巴可服务器
mt7620打印服务器固件
网络技术与信息的区别
Sql数据库查询任务耗时
建立财务会计数据库费用
局域网内如何连接服务器桌面
腾讯模拟器服务器没响应
像建弹药库那样建好数据库
数据库重装仓库能用吗
服务器层面网络安全
csmar数据库股票分类
家用服务器手机要网络嘛
吉安主机服务器哪家厉害
跑腿软件开发公司经营范围
软件开发需要考什么证书吗
数据库自动备份文件的访问时间