安装与配置DNS服务器
实验目的
- 掌握bind守护进程的启动方法
- 掌握主DNS服务器的配置方法
实验内容
1. 安装和启动bind
2. 安装和配置一个DNS服务器
3. 在Linux平台下配置DNS客户端对DNS服务器进行域名查询测试
实验环境
DNS Server | DNS Client | |
---|---|---|
物理机 | Chromebook pixel2015 | LG Gram14 2019 |
OS | Manjaro 19.01 | Windows 10 |
IP | 192.168.43.60/24 | 192.168.43.251/24 |
实验步骤
安装bind
sudo pacman -S bind --noconfirm
启动bind
sudo systemctl start named
sudo systemctl enable named
bind配置
使用 BIND 提供系统 DNS 服务
sudo vim /etc/resolv.conf
# 将nameserver 127.0.0.1写到最前面
配置文件,修改bind的属性
sudo 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"; allow-query { any; }; recursion yes; allow-transfer { none;}; }; zone "." IN { type hint; file "named.ca"; }; zone "cs060.cuc.edu.cn" IN { #正向"cs666.cuc.edu.cn"区域 type master; #类型为主要区域 file "cs060.cuc.edu.cn.zone"; #区域数据文件 //allow-update { none; }; }; zone "43.168.192.in-addr.arpa" in { #反向"192.168.43.0/24"区域 type master; file "192.168.43.arpa"; #区域数据文件为 192.168.43.arpa //allow-update { none; }; };
hint其实就是DNS zone的root (.)。该zone最为重要。因为当DNS服务器在自己的数据库中找不到要查询的信息时,便会到hint(.)去查找。言外之意是说由 .(root) 声明的zone为hint类型的文件记录了世界上仅有的13台DNS服务器的相关信息(该文件默认为named.ca,此文件内容不需要进行任何修改)!
编写正向DNS配置
cd /var/named
sudo cp -p named.localhost cs060.cuc.edu.cn.zone #编辑正向区域数据配置文件,注意复制配置文件时,要保持源文件权限
sudo vim cs060.cuc.edu.cn.zone //编辑正向区域数据配置文件内容
$TTL 1D
@ IN SOA cs060.cuc.edu.cn. root.cs060.cuc.edu.cn. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS cs060.cuc.edu.cn.
@ IN A 192.168.43.60
cs060.cuc.edu.cn IN A 192.168.43.60
client.cuc.edu.cn IN A 192.168.43.251
编写反向配置文件
sudo cp -p cs060.cuc.edu.cn.zone 192.168.43.arpa #复制反向区域数据配置文件
sudo vim 192.168.43.arpa
$TTL 1D
@ IN SOA cs060.cuc.edu.cn. root.cs060.cuc.edu.cn. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS cs060.cuc.edu.cn.
@ IN PTR cuc.edu.cn.
192.168.43.60 IN PTR cs060.cuc.edu.cn.
192.168.43.251 IN PTR client.cuc.edu.cn.
检查语法错误
named-checkconf
man:
named-checkconf [options] [文件名] -h ===> 显示使用情况摘要并且退出。 -z ===> 执行named.conf配置文件中找到的所有主要区域的测试负载 -t <目录> ===> 将现有的目录切换至指定目录以便处理配置文件中的已包括伪命令 注意: 使用该命令是需要指定配置文件的路径,否则默认检测 /etc/named.conf 文件。
named-checkzone
man:
named-checkzone [options] [区域名] [区域文件名] -q ===> 安静模式 -d ===> 启用调试 -c <类别> ===> 指定区域类别,如果没有指定就使用IN -n <模式> ===> 检测NS记录 -k <模式> ===> 使用指定的格式(fail | warn(默认) | ignore)执行检测 -m <模式> ===> 检测MX -M <模式> ===> 检测MX是否使用CNAME -S <模式> ===> 检测SRV记录是否使用CNAME
重启named服务
sudo systemctl restart named
关闭防火墙
iptables -F
验证DNS解析
如图,不知道为什么不能解析,求大佬们帮忙
参考网址:
https://wiki.archlinux.org/index.php/BIND#Configuring_BIND_to_serve_DNSSEC_signed_zones
https://www.howtoforge.com/two_in_one_dns_bind9_views