一、环境说明与准备工作

1.基础信息

本次实验用两台 Linux 主机,分别作为 DNS 服务端和客户端,具体信息如下:

服务端IP客户端IP网址
192.168.120.130192.168.120.128www.zy.com

2.准备工作

  • 关闭安全软件:服务端和客户端都要关闭防火墙和 SELinux,避免拦截 DNS 服务(端口 53):
  • 修改主机名:方便区分两台机器,服务端改名为 “dns”,客户端改名为 “web”:
# 关闭安全软件:服务端和客户端都要关闭防火墙和 SELinux,避免拦截 DNS 服务(端口 53):
[root@node1 ~]# systemctl stop firewalld
[root@node1 ~]# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@node1 ~]# getenforce 
Disabled
[root@node1 ~]# hostnamectl set-hostname dns
[root@node1 ~]# bash# 安装 Bind 软件:服务端需要安装 Bind(提供 DNS 服务的核心软件):
[root@dns ~]# yum  install  bind  -y
  • 配置静态 IP:
    服务端设置 IP 为 192.168.120.130,网关 192.168.120.2:
# 服务端配置静态IP
[root@dns ~]# nmcli  c  modify  ens32   ipv4.method manual ipv4.addresses  192.168.120.130/24  ipv4.gateway  192.168.120.2  ipv4.dns  114.114.114.114
[root@dns ~]# nmcli  c  reload 
[root@dns ~]# nmcli  c  up  ens32
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/2)

客户端设置 IP 为 192.168.120.128,并指定 DNS 服务器为服务端 IP:

# 客户端设置静态IP(dns服务器为服务器端)
[root@web ~]# nmcli c modify ens32  ipv4.method manual ipv4.addresses 192.168.120.128/24 ipv4.gateway 192.168.120.2 ipv4.dns 192.168.120.130
[root@web ~]# nmcli  c  reload 
[root@web ~]# nmcli  c  up  ens32
[root@web ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens32 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ens32
UUID=2d3438fd-d747-48d3-9c58-2af0e06c82db
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.120.128
PREFIX=24
GATEWAY=192.168.120.2
DNS1=192.168.120.130连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/Act

二、DNS 服务端配置

Bind 的配置主要涉及 3 个文件:主配置文件(named.conf)、区域配置文件(named.rfc1912.zones)、数据配置文件(如zy.com.zone)。

1.修改主配置文件(named.conf)

主配置文件控制 DNS 服务的基本运行规则,需允许所有主机访问:

找到并修改以下两行(默认可能限制为本地访问):
[root@dns ~]# vim  /etc/named.conf 
# 需改2行listen-on port 53 { any; };  # any为允许所有主机allow-query     { any; };   

2.配置区域文件(named.rfc1912.zones)

区域文件用来定义 “要解析哪些域名”,包括正向解析(域名→IP)和反向解析(IP→域名):

[root@dns ~]# vim /etc/named.rfc1912.zones 
# 正向解析区域:负责zy.com域名的解析  
zone "zy.com" IN {  # 双引号中输入,表示管理那个区域type master;  # 主服务器  file "zy.com.zone";   # 数据文件名称(存储在/var/named/目录)  allow-update { none; };  # 不允许动态更新 
};# 反向解析区域:负责192.168.120网段的IP解析(注意网段倒写为120.168.192.in-addr.arpa)
zone "120.168.192.in-addr.arpa" IN {type master;file "192.168.120.arpa";allow-update { none; };
};

3. 创建数据配置文件

数据文件是实际存储 “域名→IP” 或 “IP→域名” 对应关系的地方,需要从模板复制并修改:

[root@dns ~]# cd  /var/named  # 切换到数据配置文件存储路径
[root@dns named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@dns named]# cp -a named.localhost  zy.com.zone 从 /var/named/ 目录下的模板文件 named.localhost复制,保留文件权限:
[root@dns named]# vim  zy.com.zone    # 完整格式修改如下
$TTL 1D
zy.com. IN SOA  ns.zy.com. rch.qq.com. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumIN              NS      ns.zy.com.  # NS记录:指定该域名的DNS服务器是ns.zy.com  
ns.zy.com.      IN              A       192.168.120.128  # A记录:ns.zy.com对应的IP(服务端IP)  
www.zy.com.     IN              A       192.168.120.128  # A记录:www.zy.com对应的IP(客户端IP) 
ftp.zy.com.     IN              A       192.168.120.128  # 可选:添加其他子域名解析(如ftp、bbs)  
bbs.zy.com.     IN              A       192.168.120.128[root@dns named]# cp -a named.loopback   192.168.120.arpa  从模板 named.loopback 复制,用于 IP 到域名的解析:
[root@dns named]# vim 192.168.120.arpa   修改内容如下(IP 最后一段写在前面,比如 192.168.48.128 写成 128):
$TTL 1D
@       IN SOA  ns.zy.com. rch.qq.com. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumIN              NS      ns.zy.com.
ns.zy.com.      IN              A       192.168.120.128
128             IN              PTR     www.zy.com.
128             IN              PTR     ftp.zy.com.
128             IN              PTR     bbs.zy.com.

4. 启动 DNS 服务

配置完成后,启动 Bind 服务(named)并设置开机自启:

systemctl start named  
systemctl enable named  
# 检查服务状态,确保为active (running)  
systemctl status named  

三、测试

  • 定义客户端,下载nginx,并且使用xftp上传代码到/目录下
[root@web ~]# yum install nginx -y
[root@web ~]# ls /
afs  bin  boot  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  zy
[root@web ~]# chmod -R 777 /zy
[root@web ~]# ls /zy
compat  css  img  index.html  js
[root@web ~]# vim /etc/nginx/nginx.conf
root         /zy;
[root@web ~]# systemctl start nginx# 定位客户端测试
[root@web ~]# nslookup  www.zy.com   #nslookup 命令:测试正向和反向解析
Server:		192.168.120.130
Address:	192.168.120.130#53Name:	www.zy.com
Address: 192.168.120.128[root@web ~]# nslookup  192.168.120.128
128.120.168.192.in-addr.arpa	name = ftp.zy.com.
128.120.168.192.in-addr.arpa	name = bbs.zy.com.
128.120.168.192.in-addr.arpa	name = www.zy.com.[root@web ~]# curl www.zy.com
<!DOCTYPE html>
<html id="html" debug="true">
<head lang="zh-CN">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">>                         # ctrl+d退出[root@web ~]# dig www.zy.com    dig 命令:更详细地查看解析过程; <<>> DiG 9.16.23 <<>> www.zy.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9522
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: eecb428312fa459d010000006884c8bfef1c80f209ab35b8 (good)
;; QUESTION SECTION:
;www.zy.com.			IN	A;; ANSWER SECTION:
www.zy.com.		86400	IN	A	192.168.120.128;; Query time: 0 msec
;; SERVER: 192.168.120.130#53(192.168.120.130)
;; WHEN: Sat Jul 26 20:23:27 CST 2025
;; MSG SIZE  rcvd: 83

四、总结

这次搭建 DNS 服务器,最容易出错的地方是数据文件里的 “.”(比如域名后面漏写 “.” 会导致解析失败)和反向解析的网段倒写。不过按照步骤一步步改配置,测试时看到解析结果的那一刻还是挺有成就感的。其实 DNS 原理不难,就是通过配置文件告诉服务器 “某个域名对应某个 IP”,学会了之后搭建自己的小网站时,就不用死记 IP 地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/90817.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/90817.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/90817.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

历史数据分析——中证旅游

中证旅游板块走势从月线级别来看2015年5月到2024年9月&#xff0c;月线上走出了一个震荡中枢的月线级别下跌段&#xff1b;目前月线级别底部放巨量&#xff0c;总体还在底部震荡&#xff0c;后续上涨的概率较大。从周线级别来看从2022年12月到2024年9月整体是下跌走势&#xff…

OpHReda精准预测酶最佳PH

1.显著改进&#xff1a;OpHReda通过检索嵌入数据增强机制&#xff0c;显著提高了酶最佳pH预测的准确性&#xff0c;相比现有方法提升了55%的F1分数。2.多尺度残差轻注意力模块&#xff1a;该模块结合了残差学习和多尺度特征提取&#xff0c;增强了模型对酶序列中残差级信息的捕…

醫護行業在未來會被AI淘汰嗎?

隨着AI的迅速發展&#xff0c;似乎所有職業都有被AI替代的風險&#xff0c;那麼醫療領域作為一個高技術依賴性的行業&#xff0c;有機會被淘汰嗎?我們今天就來說說&#xff0c;幾乎不可能被AI淘汰的職業---護理。一) AI在護理中扮演的角色i.) 臨床工作支持1. 健康監測自動化即…

大语言模型加速技术之KV Cache

大语言模型加速技术之KV CacheWhy we need KV Cache &#xff1f;Self-Attention Without CacheSelf-Attention With CacheHuggingface 官方代码实现Why we need KV Cache &#xff1f; 生成式generative模型的推理过程很有特点&#xff0c;我们给一个输入文本&#xff0c;模型…

代码随想录算法训练营第五十三天|图论part4

110.字符串接龙 题目链接&#xff1a;110. 字符串接龙文章讲解&#xff1a;代码随想录思路&#xff1a; 把每个字符串看成图的一个节点。 转换为求无权图两节点的的最短路径。求最短路径用bfs #include <string> #include <vector> #include <iostream> #i…

Java进阶4:泛型、序列化和反序列化

Java泛型 Java泛型是JDK5引入的一个新的特性&#xff0c;泛型提供了编译时的类型安全检测机制&#xff0c;这个机制运行程序员在编译的时候检测到非法的类型。泛型的本质是参数化类型&#xff0c;也就是所操作的数据类型被指定为一个参数。 泛型方法 可以写一个泛型方法&#x…

RAG实战指南 Day 24:上下文构建与提示工程

【RAG实战指南 Day 24】上下文构建与提示工程 文章内容 开篇 欢迎来到"RAG实战指南"系列的第24天&#xff01;今天我们将深入探讨RAG系统中至关重要的上下文构建与提示工程技术。在检索增强生成系统中&#xff0c;如何有效地组织检索到的文档片段&#xff0c;并将…

AWD的攻击和防御手段

一、AWD相关介绍 AWD&#xff08;Attack With Defence&#xff09;是 CTF 线下赛中最接近真实攻防场景、观赏性和对抗性最强的赛制之一。 赛制本质 人人对抗&#xff1a;所有战队互为攻击者与防守者。 零和记分&#xff1a;你拿到的每一分都是别人的失分&#xff0c;总积分恒…

泛微OA8前台SQL注入

漏洞URL&#xff1a; http://106.15.190.147/js/hrm/getdata.jsp?cmdgetSelectAllId&sql***注入点 在getdata.jsp中&#xff0c;直接将request对象交给 weaver.hrm.common.AjaxManager.getData(HttpServletRequest, ServletContext) : 方法处理 在getData方法中&#xff0…

Android 蓝牙学习

在Android中&#xff0c;进行蓝牙设备扫描startDiscovery需要申请位置权限&#xff0c;但有的时候并不需要申请位置权限&#xff0c;就有了android:usesPermissionFlags"neverForLocation"&#xff0c;设置这个就不用申请位置权限来进行蓝牙扫描。 android:usesPerm…

Earth靶机攻略

一.环境准备 1.1Earth靶机环境准备 首先将我们解压好的的Earth.ova放入虚拟机里&#xff0c;并配置环境 将网络连接换成NET连接 二.信息搜集 2.1ip搜集 2.1.1使用netdiscover命令扫描靶机的ip地址,发现地址为192.168.182.137 2.2端口扫描 2.2.1使用nmap工具对目标机进行端…

java8 List常用基本操作(去重,排序,转换等)

参考简述网址: java8 List 根据对象某个字段或多个字段去重、筛选、List转Map、排序、分组、统计计数等等 list简单方法示例如下&#xff1a; 一、先定义一个订单对象&#xff08;Order&#xff09; public class Order {private Long id;private Long userId;private Strin…

【linux】HAProxy七层代理

HAPorxy简介HAProxy&#xff08;High Availability Proxy&#xff09;是一款高性能、开源的负载均衡器与反向代理服务器&#xff0c;主要用于 TCP 和 HTTP 协议的流量分发&#xff0c;广泛应用于高并发、高可用的网络架构中核心特性超高性能与低资源消耗基于单进程、多线程模型…

Android 的16 KB内存页设备需要硬件支持吗,还是只需要手机升级到Android15系统就可以

Android 的16 KB内存页设备需要硬件支持吗&#xff0c;还是只需要手机升级到Android15系统就可以&#xff1f; deepseek回答&#xff1a; DeepSeek R1 思考 3 秒 思考过程 好的&#xff0c;用户现在问的是Android的16 KB内存页设备是否需要硬件支持&#xff0c;还是只需要升级到…

相机内外参矩阵:从3D世界坐标到2D像素坐标变换

相机内外参矩阵&#xff1a;从3D世界坐标到2D像素坐标变换介绍**1. 内参矩阵&#xff08;Intrinsic Matrix, K&#xff09;****2. 外参矩阵&#xff08;Extrinsic Matrix, [R|t]&#xff09;****3. 完整投影过程&#xff08;世界坐标 → 像素坐标&#xff09;****步骤1&#xf…

哈希指针与数据结构:构建可信数字世界的基石

一、哈希指针的核心原理哈希指针是一种创新型数据结构&#xff0c;融合了传统指针的定位功能与密码学哈希的验证能力&#xff1a;双重功能&#xff1a;既存储数据地址&#xff0c;又包含该数据的哈希值&#xff0c;实现数据定位与完整性验证的统一。抗篡改机制&#xff1a;数据…

java实现一个方法,isTure则程序继续往下,为false则return的链式写法

以下是实现链式条件检查的Java方法&#xff0c;采用函数式风格设计。代码包含一个Chainable类&#xff0c;支持连续的check方法和多个终止操作&#xff08;如then, orElse等&#xff09;&#xff0c;满足在条件为false时中断链式调用并返回默认值的需求&#xff1a;import java…

数据结构学习之堆

本篇我们将学习新的数据结构——二叉树。 作者的个人gitee&#xff1a;楼田莉子 (riko-lou-tian) - Gitee.com 目录 树的概念 树形结构 非树形结构 树的相关术语 树的表示 树在实际生活上的应用 二叉树 慢二叉树 完全二叉树 二叉树的储存结构 二叉树的存储结构 顺序结构…

【csdn问答社区分析】前端开发热点问题全解析

前端时间我在csdn问答社区的前端部分"视察”了一圈发现了大家的问题主要集中在以下方面一、框架与组件库使用问题 Vue相关问题 组件化开发&#xff1a;如avue-crud组件自定义样式不生效、el-select大数据分页懒加载、element-plus表格动态列校验等。功能实现&#xff1a;包…

Pycharm2025 安装教程 免费分享 没任何套路

Pycharm 安装也是很简单的&#xff0c;简单过一下流程&#xff0c;如果需要的可以转存下载到自己电脑上。我用夸克网盘分享了「pycharm2025」&#xff0c;复制链接浏览器打开转存后即可下载。链接&#xff1a;https://pan.quark.cn/s/4bb74a939332备注&#xff1a;附带2023-202…