wiki/网络/域名/DNS域名系统服务.md
2025-01-02 10:46:09 +08:00

197 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: DNS域名系统服务
categories:
- Linux服务
tags:
- DNS
date: 2022-04-04 21:35:25
---
# DNS域名系统服务
## DNS介绍
定义域名也就是个名字用名字代替ip地址方便记忆
正向解析域名换IP
反向解析IP换域名比较少
## 域名组成
常见格式www.lzcwy.cn
其实隐藏了.根域www.lzcwy.cn.
. :根域,可省略不写
com顶级域由ICANN组织指定和管理
主机名: s1.www.atguigu.com.中的s1就是主机名一般用来表示具体某一台主机
```
国家地区域名:cn(中国)、hk香港、sg新加坡
通用顶级域名: com商业机构、org非营利组织、edu教育机构等新通用顶级域名:red(红色、热情)、top(顶级、高端)等
lzcwy:二级域(注册域),可由个人或组织申请注册
www:三级域(子域),服务器网站名代表
```
主机名: s1.www.lzcwy.cn.中的s1就是主机名一般用来表示具体某一台主机
## DNS软件信息
**软件名称bind**
**服务名称named**
**软件端口UDP 53域名解析 TCP主从同步**
**配置文件:/etc/named.conf服务器运行参数**
**区域配置文件:/etc/named.rfc1912.zones服务器解析的区域配置正反向区域定义信息**
**数据配置文件:/var/named/xx.xx主机名和IP地址对应的解析关系**
## 搭建DNS
1、安装软件
```
yum install bind
```
2、配置主配置文件/etc/named.conf
```
vim /etc/named.conf
```
原内容解释
```
options {
listen-on port 53 { 127.0.0.1; }; #设置DNS服务的ip地址推荐设置成any
listen-on-v6 port 53 { ::1; }; #IPv6
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"; #数据文件的位置
secroots-file "/var/named/data/named.secroots"; #数据文件的位置
recursing-file "/var/named/data/named.recursing"; #数据文件的位置
allow-query { localhost; }; #允许访问此DNS的ip地址可设置成any
```
修改为如下
```
options {
listen-on port 53 { any; };
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";
secroots-file "/var/named/data/named.secroots";
recursing-file "/var/named/data/named.recursing";
allow-query { any; };
```
3、配置区域配置文件/etc/named.rfc1912.zones
```
vim /etc/named.rfc1912.zones
```
删除多余部分,留下这些内容
```
zone "localhost.localdomain" IN { #正向配置区域配置文件标签,修改成要解析的域
type master; #DNS类型主备
file "named.localhost"; #正向数据配置文件名称,保存在/var/name/下
allow-update { none; }; #运行数据更新的IP地址即备用dns
};
zone "1.0.0.127.in-addr.arpa" IN { #反向区域配置文件标签如0.1.168.192.in-addr-arpa
type master;
file "named.loopback";
allow-update { none; };
};
```
根据自己的域名修改配置文件
```
zone "lzcwy.cn" IN {
type master;
file "named.lzcwy";
allow-update { none; };
};
zone "0.1.168.192.in-addr.arpa" IN {
type master;
file "named.loopback";
allow-update { none; };
};
```
4、配置数据配置文件/var/named/xx.xx
```
cp /var/named/named.localhost /var/named/named.lzcwy
vim /var/named/named.lzcwy
```
配置文件如下
```
$TTL 1D #域名有效解析生存周期
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
```
![](https://lzcwy-1257903760.cos.ap-beijing.myqcloud.com/%E8%BF%90%E7%BB%B4/DNS/1.png)
5、给相关文件授权
```
chmod 777 /var/named/named.lzcwy /var/named/named.loopback
```
6、重启DNS服务
```
systemctl restart named
```
## 开启DNS转发器
解析内网域名已经可以实现了那内网服务器怎么解析外网域名呢这就需要配置DNS转发器当内网无法解析到就去外网解析
1、编辑主配置文件
```
vim /etc/named.conf
#内容如下,增加最后两行
options {
listen-on port 53 { any; };
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";
secroots-file "/var/named/data/named.secroots";
recursing-file "/var/named/data/named.recursing";
allow-query { any; }
#下面为新增
forwarders { 外网DNS地址; };
forward only;
```
2、重启服务即可