197 lines
5.3 KiB
Markdown
197 lines
5.3 KiB
Markdown
---
|
||
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
|
||
```
|
||
|
||

|
||
|
||
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、重启服务即可
|