0%

DNS服务器

DNS服务器

DNS(domain name system)是域名系统,属于应用层协议,为主机建立 IP 地址与域名之间的映射关系,使用域名来唯一标识网络中的计算机,其使用的传输层协议为UDP

DNS配置文件

  • /etc/hosts host列表
  • /etc/resolv.conf 配置 DNS 服务器地址
  • /etc/named.caching-nameserver.conf DNS 的主配置文件
  • /etc/named.rfc1912.zones DNS 的区域声明存储配置文件
  • /var/named DNS 数据库存放目录
  • /var/named/chroot/var/named 查询记录数据库存放目录
  • /var/named/chroot/var/named/slaves 辅助 DNS 的数据库目录

DNS配置

查看安装的 DNS 组件

1
rpm -qa |grep bind

DNS 服务启动

1
2
3
4
5
6
# 启动
service named start
# 停止
service named stop
# 重启
service named restart

配置本机的 DNS 服务器地址

/etc/resolv.conf文件

1
nameserver 192.168.1.1

配置的加载

1
rndc reload

配置主 DNS 服务器

named.caching-nameserver.conf文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
options {
listen-on port 53 { 192.168.1.1; }; 监听指定主机的 53 号端口(ipv4)
# listen-on-v6 port 53 { ::1; }; 监听指定主机的 53 号端口(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";

query-source port 53;
query-source-v6 port 53;

# allow-query { localhost; }; 指定允许查询的主机
};

logging {
channel default_debug {

file "data/named.run";

severity dynamic;
};
};

view localhost_resolver {
# match-clients { localhost; }; 匹配的客户端为本机

match-destinations { localhost; };

recursion yes;

include "/etc/named.rfc1912.zones"; 指定包含的区域声明文件
};

编辑配置文件 /etc/named.rfc1912.zones

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
zone "baidu.com" IN { 声明正向区域
type master; 定义类型为主服务器

file "baidu.com.zone"; 指定正向数据库文件

allow-update { none; }; 允许更新主机
};

zone "192.168.1.in-addr.arpa" IN { 声明反向区域
type master; 指定服务类型

file "baidu.com.local"; 指定反向区域文件

allow-update { none; }; 允许更新的主机
};

生成反向解析文件

在/var/named/chroot/var/named目录下

1
cp named.local baidu.com.local 反向解析文件

修改baidu.com.local文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# name  [TTL]  IN  type  value (字段之间由空格和制表符隔开)
$TTL 86400 @ IN SOA www.baidu.com.
root.www.baidu.com. ( 指定主机名

1997022700 ;
Serial28800 ;
Refresh14400 ;
Retry 3600000 ;
Expire 86400 ) ;
Minimum

IN NS www.baidu.com.

1 IN PTR www.baidu.com. 生成反向指针记录 IP 为 1 的指向 www.baidu.com

**26** / **45**10.3.5 生成正向解析文件


1
cp baidu.com.local baidu.com.zone

修改baidu.com.zone

1
2
3
4
5
6
7
8
9
10
11
12
13
$TTL 86400 IN SOA www.baidu.com. 
root.www.baidu.com. (

1997022700 ;
Serial 28800 ;
Refresh 14400 ;
Retry 3600000 ;
Expire 86400 ) ;
Minimum

IN NS www.baidu.com.

www IN A 192.168.1.1 生成主机记录 A www 主机名所对应的 IP 地址

本机和客户端测试

host 命令和 nslookup 命令

配置 DNS 的简单负载均衡

在 DNS 的正向文件中添加一条记录

1
2
3
www IN A 192.168.1.1

www IN A 192.168.1.11

在 DNS 的反向文件中添加一条记录

1
2
3
4
5
1 IN PTR www.baidu.com

11 IN PTR www.baidu.com

10.5 配置 DNS 的转发器

配置文件/etc/named.caching-nameserver.conf

1
2
3
4
5
6
7
8
9
增加一条记录

options {
listen-on port 53 { 200.200.200.1; }; 监听指定主机的 53 号端口(ipv4)

forwarders {200.200.200.2;}; 添加转发 DNS 服务地址为 200.200.200.2

# listen-on-v6 port 53 { ::1; }; 监听指定主机的 53 号端口(ipv6)
}

主 DNS 服务器中的配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
zone "baidu.com" IN { 声明正向区域

type master; 定义类型为主服务器

file "baidu.com.zone"; 指定正向数据库文件

allow-update { 192.168.1.1; }; 允许更新 192.168.1.1 进行区域复制

};

zone "192.168.1.in-addr.arpa" IN { 声明反向区域

type master; 指定服务类型

file "baidu.com.local"; 指定反向区域文件

allow-update { 192.168.1.1; }; 允许更新 192.168.1.1 进行区域复制

};

辅助 DNS 配置

编辑配置文件 /etc/named.rfc1912.zones

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
zone "huayu.com" IN { 声明正向区域
type slave; 指定服务类型为辅助

file "slaves/huayu.com.zone"; 指定正向区域文件

masters{192.168.1.1;}; 指定主 DNS 服务器地址

# allow-update { none; };
};

zone "2192.168.1.in-addr.arpa" IN { 声明反向区域
type slave; 指定服务器类型为辅助

file "slaves/huayu.com.local"; 指定反向文件

masters{192.168.1.1;}; 指定主 DNS 服务器地址

# allow-update { none; };
};

欢迎关注我的其它发布渠道