一、我的环境
1、Windows 11 2、Vagrant 2.3.4 3、VirtualBox 7.0
Vagrant 和 VirtualBox 的使用这里就不再做介绍了。本文主要是我搭建DNS服务的经验总结。
二、操作步骤
1、打开"CMD"终端,执行mkdir debian_dns
命令新建文件夹,执行cd debian_dns
切换目录。
2、创建Vagrantfile文件,文件内容如下:
# -*- mode: ruby -*-
# vi: set ft=ruby :
# 2023-1-28
Vagrant.configure("2") do |config|
config.vm.box = "debian_buster"
config.vm.synced_folder ".", "/vagrant",create: true
config.vm.define "dns",primary: true do |va|
va.vm.hostname = "dns"
va.vm.network "private_network", ip: "192.168.56.28"
va.vm.provider "virtualbox" do |vb|
vb.name = "test_debian_dns"
vb.memory = "512"
vb.cpus = "1"
#vb.gui = true
end
end
config.vm.provision "shell", path: "dns.sh"
end
3、创建dns.sh文件,文件内容如下:
# 2023-1-30
# 适用Debian11
# 更换为国内源
echo "deb http://mirrors.ustc.edu.cn/debian buster main contrib non-free" > /etc/apt/sources.list
# 安装bind9
apt update && apt install -y bind9 dnsutils
# 更改语言环境为CN
localectl set-locale LANG="zh_CN.UTF-8"
echo "LANGUAGE=zh_CN.UTF-8" >> /etc/default/locale
echo "LC_ALL=zh_CN.UTF-8" >> /etc/default/locale
# 更改系统时区及时间
timedatectl set-timezone Asia/Shanghai
hwclock -w
# 完成安装bind9后执行的操作
cp -i /vagrant/db.ling218.cn /etc/bind/db.ling218.cn
cp -i /vagrant/db.56.168.192 /etc/bind/db.56.168.192
# 指向正向配置文件
echo -e '''
zone "ling218.cn" {
type master;
file "/etc/bind/db.ling218.cn";
};
''' >> /etc/bind/named.conf.default-zones
# 指向反向配置文件
echo -e '''
zone "56.168.192.in-addr.arap" {
type master;
file "/etc/bind/db.56.168.192";
};
''' >> /etc/bind/named.conf.default-zones
# 更改文件权限
chmod 644 /etc/bind/db.ling218.cn
chmod 644 /etc/bind/db.56.168.192
# 更改文件所属
chown root:root /etc/bind/db.ling218.cn
chown root:root /etc/bind/db.56.168.192
# 重启服务并设置开机启动
systemctl restart bind9
systemctl enable bind9
4、创建正向解析文件,文件内容如下:
该文件为Debian系统/etc/bind/db.local
复制更改。
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ling218.cn. root.ling218.cn. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.ling218.cn.
ns IN A 192.168.56.28
www IN A 192.168.56.7
5、创建反向解析文件,文件内容如下:
该文件为Debian系统/etc/bind/db.127
复制更改。
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ling218.cn. root.ling218.cn. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.ling218.cn.
28 IN PTR ns.ling218.cn.
7 IN PTR www.ling218.cn.