linux入门4.4(DHCP和DNS服务器)

1.DHCP服务器

一、DHCP 服务基础:解决静态 IP 的痛点

1.静态 IP 分配的核心问题

在大型网络或云环境中,手动配置静态 IP 存在两大关键痛点:
IP 冲突风险:需人工确保所有设备 IP 不重复,操作失误会导致设备断网;
配置效率低下:新设备(如云实例、办公电脑)部署时需逐一手动分配 IP,无法适配自动化运维需求。

2.DHCP 的核心功能

DHCP(动态主机配置协议)通过 “集中化自动配置” 解决上述问题,核心作用是为接入网络的设备动态分配以下网络参数:
核心参数:IP 地址(有租期限制,避免地址浪费);
辅助参数:默认网关、DNS 服务器地址、广播地址、NTP 服务器地址、域搜索列表等;
协议版本:分为用于 IPv4 的 DHCPv4 和用于 IPv6 的 DHCPv6,本文聚焦 DHCPv4。

二、DHCP 通信流程:四步握手 + 续约机制

DHCP 客户端与服务器的交互分为 “初始获取 IP” 和 “租期续约” 两个阶段,流程严谨且可追溯。

1.初始获取 IP:四步广播 / 单播交互

步骤角色数据包类型核心内容关键细节
1客户端DHCPDISCOVER客户端无 IP,向255.255.255.255(广播地址)发送请求:“寻找 DHCP 服务器,申请 IP”路由器默认不转发此广播,若客户端与服务器跨网段,需配置 DHCP 中继
2服务器DHCPOFFER服务器从 “IP 地址池” 中选择一个未分配 IP,广播回复:“提供 IP + 租期 + 网关 / DNS 等参数”若网络中有多台 DHCP 服务器,客户端会收到多个 OFFER
3客户端DHCPREQUEST客户端选择一个 OFFER,广播确认:“请求使用某服务器提供的 IP”报文包含目标服务器 IP,其他服务器收到后释放预留的 IP
4服务器DHCPACK目标服务器广播回复:“确认 IP 分配,租期生效”客户端此时获得完整网络参数,可正常联网

2.租期续约机制

IP 地址并非永久分配,需通过续约确保地址合理回收:
续约触发:租期到期前,客户端主动向原服务器发送DHCPREQUEST(renew)数据包;
续约结果:服务器回复DHCPACK(renew)确认续约,客户端继续使用 IP;若服务器未响应,客户端租期到期后需重新执行 “四步握手” 申请新 IP。

3.通信日志与验证

可通过 Linux 系统命令查看 DHCP 交互日志,追溯地址分配过程:
查看服务端日志:journalctl -u dhcpd.service,日志会记录客户端 MAC、申请的 IP、交互阶段(如DHCPDISCOVER→DHCPOFFER→DHCPACK);

三、DHCP 服务器部署与配置:Linux 环境实操

1.部署前提:服务器基础配置

DHCP 服务器需满足两个核心前提:
静态 IP 地址:服务器自身 IP 必须固定(不能动态获取),否则客户端无法稳定定位服务器;
广播地址支持:通过ip addr命令确认网卡配置包含BROADCAST标识(如ens160: <BROADCAST,MULTICAST,UP,LOWER_UP>),确保能接收广播报文。

2.完整部署步骤

[root@server ~ 10:13:04]# cat /etc/dhcp/dhcpd.conf 
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
[root@server ~ 10:13:51]# cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
cp:是否覆盖"/etc/dhcp/dhcpd.conf"yes
[root@server ~ 10:14:15]# vim /etc/dhcp/dhcpd.conf
[root@server ~ 10:39:18]# cat /etc/dhcp/dhcpd.conf
# 配置域名
option domain-name "wsf.cloud";

# 配置DNS服务器
option domain-name-servers 223.5.5.5, 223.6.6.6;

# 默认租约时间
default-lease-time 600;

# 最大租约时间
max-lease-time 7200;

# 配置日志级别
log-facility local7;

# 配置DHCP池
subnet 10.1.8.0 netmask 255.255.255.0 {
  range 10.1.8.101 10.1.8.130;
  #option domain-name-servers ns1.internal.example.org;
  #option domain-name "internal.example.org";
  option routers 10.1.8.2;
  option broadcast-address 10.1.8.255;
  #default-lease-time 600;
  #max-lease-time 7200;
}

# 根据Mac地址分配固定IP
host fantasia {
  hardware ethernet 08:00:07:26:c0:a5;
  fixed-address fantasia.fugue.com;
}
#启动DHCP服务
[root@server ~ 10:39:22]# systemctl enable dhcpd --now
Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.
[root@server ~ 10:39:50]# systemctl status dhcpd
● dhcpd.service - DHCPv4 Server Daemon
   Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; enabled; vendor preset: disabled)
   Active: active (running) since 四 2025-09-25 10:39:50 CST; 31s ago
     Docs: man:dhcpd(8)
           man:dhcpd.conf(5)
 Main PID: 63107 (dhcpd)
   Status: "Dispatching packets..."
   CGroup: /system.slice/dhcpd.service
           └─63107 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user d
连接主机...
连接主机成功
Last login: Thu Sep 25 09:51:38 2025
-bash: vim:ts=4:sw=4: 未找到命令
[root@client ~ 10:42:32]# 
[root@server ~ 11:14:45]# cat /var/lib/dhcpd/dhcpd.leases
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.2.5

lease 10.1.8.101 {
  starts 4 2025/09/25 03:05:53;
  ends 4 2025/09/25 03:15:53;
  tstp 4 2025/09/25 03:15:53;
  cltt 4 2025/09/25 03:05:53;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 00:0c:29:a3:68:0d;
  client-hostname "client";
}
server-duid "\000\001\000\0010gg\366\000\014)\357\254\001";

lease 10.1.8.101 {
  starts 4 2025/09/25 03:05:53;
  ends 4 2025/09/25 03:15:53;
  tstp 4 2025/09/25 03:15:53;
  cltt 4 2025/09/25 03:05:53;
  binding state free;
  hardware ethernet 00:0c:29:a3:68:0d;
}


#MAC 地址绑定:为特定设备分配固定 IP
[root@server ~ 11:08:36]# vim /etc/dhcp/dhcpd.conf 
[root@server ~ 11:08:54]# systemctl restart dhcpd
[root@server ~ 11:09:09]# cat /etc/dhcp/dhcpd.conf 
# 配置域名
option domain-name "wsf.cloud";

# 配置DNS服务器
option domain-name-servers 223.5.5.5, 223.6.6.6;

# 默认租约时间
default-lease-time 600;

# 最大租约时间
max-lease-time 7200;

# 配置日志级别
log-facility local7;

# 配置DHCP池
subnet 10.1.8.0 netmask 255.255.255.0 {
  range 10.1.8.101 10.1.8.130;
  #option domain-name-servers ns1.internal.example.org;
  #option domain-name "internal.example.org";
  option routers 10.1.8.2;
  option broadcast-address 10.1.8.255;
  #default-lease-time 600;
  #max-lease-time 7200;
}

# 根据Mac地址分配固定IP
host fantasia {
  hardware ethernet 00:0c:29:a3:68:0d;
  fixed-address 10.1.8.100;
}

[root@client ~ 11:07:21]# ip -br link
lo               UNKNOWN        00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP> 
ens33            UP             00:0c:29:a3:68:03 <BROADCAST,MULTICAST,UP,LOWER_UP> 
ens37            UP             00:0c:29:a3:68:0d <BROADCAST,MULTICAST,UP,LOWER_UP> 
[root@client ~ 11:07:28]# ip -br a
lo               UNKNOWN        127.0.0.1/8 ::1/128 
ens33            UP             10.1.8.11/24 fe80::20c:29ff:fea3:6803/64 
ens37            UP             10.1.8.101/24 fe80::d7e3:acb:331d:3e38/64 

[root@client ~ 11:09:41]# nmcli connection 
NAME        UUID                                  TYPE      DEVICE 
ens33       0e9a9583-e807-40e8-ae6c-c1a680846c5e  ethernet  ens33  
有线连接 1  c7ac58d5-45d0-3a61-af98-5702830399ef  ethernet  ens37  
[root@client ~ 11:09:45]# nmcli connection up 有线连接\ 1
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/3)
[root@client ~ 11:09:51]# ip -br a
lo               UNKNOWN        127.0.0.1/8 ::1/128 
ens33            UP             10.1.8.11/24 fe80::20c:29ff:fea3:6803/64 
ens37            UP             10.1.8.100/24 fe80::d7e3:acb:331d:3e38/64 

核心总结:DHCP 服务器的关键要点

  1. 核心价值:通过 “自动分配 + 集中管理” 解决静态 IP 的冲突与低效问题,是现代网络(尤其是大型网络、云环境)的基础服务;
  2. 通信本质:以 “四步握手” 实现 IP 初始分配,以 “租期续约” 实现地址动态回收,流程依赖广播(同网段)或中继(跨网段);
  3. 部署关键:服务器需固定 IP + 正确配置地址池 / 网关 / DNS,客户端需启用动态获取,跨网段需配置中继 + IP 转发;
  4. 灵活应用:MAC 绑定适配固定 IP 需求,Dnsmasq 适配轻量场景,可根据网络规模选择方案;
  5. 避坑指南:多 DHCP 服务器易导致地址混乱(非权威服务器会忽略未知 IP 请求),同一网段建议仅部署 1 台权威服务器。

2.DNS服务器

DNS(域名系统)是互联网的核心基础设施,负责将人类易记的域名转换为计算机可识别的 IP 地址,同时实现分布式的网络资源定位与管理。本文基于参考文档,从 DNS 的基础架构、查询机制、资源记录、服务器配置(权威 / 缓存)及常见问题排查等维度,系统梳理 DNS 服务器的核心知识,为网络管理实践提供完整指南。

一、DNS 基础:分层架构与核心概念

DNS 采用 “分布式分层命名系统”,通过层级化的域名结构和服务器分工,实现全球域名的高效解析。

1. DNS 域名层级结构

DNS 层级从顶层到下层依次为 “根域→顶级域→二级域→子域→主机”,每一层级由不同机构管理,确保域名全球唯一性:

层级名称说明示例
第 1 层根域(Root)层级最顶层,用.表示,全球共 13 组根服务器,负责指向顶级域服务器.
第 2 层顶级域(TLD)由 IANA(互联网号码分配机构)管理,分两类:- 通用顶级域(gTLD):按主题划分- 国家代码顶级域(ccTLD):按国家 / 地区划分gTLD:.com.org.edu;ccTLD:.cn.uk.us
第 3 层二级域企业 / 组织申请的专属域名,需在顶级域下注册linux.funredhat.com
第 4 层及以下子域(Subdomain)二级域下的细分域名,由组织自行管理lab.linux.funlinux.fun的子域)
最底层主机(Host)具体的网络设备(服务器、客户端),是域名的最终指向www.lab.linux.funserver.linux.fun

2. 核心概念辨析:Domain、Zone、Subdomain

初学者易混淆三者,核心区别在于 “管理范围” 和 “责任边界”:

  • Domain(域):DNS 命名空间的 “完整子树”,包含该域名下的所有资源记录(如linux.fun域包含所有以linux.fun结尾的主机和子域);
  • Zone(区域):某台 DNS 服务器 “直接负责管理的域片段”,可是整个域或部分子域(如linux.fun域可将lab.linux.fun子域委派给其他服务器,形成独立 Zone);
  • Subdomain(子域):某域的 “下属分支”,体现域之间的层级关系(如lab.linux.funlinux.fun的子域,linux.fun.com的子域)。

二、DNS 查询机制:递归与迭代的核心差异

DNS 查询是 “客户端获取域名对应 IP” 的过程,根据 “查询主体” 不同,分为递归查询迭代查询,二者的核心区别在于 “谁负责发起后续查询”。

1. 递归查询:以本地 DNS 服务器为 “中介”

递归查询是客户端默认的查询方式,特点是 “客户端仅发起一次请求,后续查询由本地 DNS 服务器完成,最终返回结果”,流程如下:

  1. 客户端请求:客户端向本地 DNS 服务器发送域名查询请求(如www.example.com),之后进入等待状态;
  2. 本地缓存检查:本地 DNS 服务器先查询自身缓存,若有记录直接返回结果;若无,以 “客户端身份” 向根服务器发起查询;
  3. 层级转发查询:根服务器返回顶级域(.com)服务器地址→本地 DNS 服务器向.com服务器查询→.com服务器返回二级域(example.com)服务器地址→本地 DNS 服务器向example.com服务器查询→最终找到权威服务器;
  4. 结果返回:权威服务器返回www.example.com的 IP→本地 DNS 服务器缓存该记录,并将结果返回给客户端。

核心特点:客户端 “省心”,仅需等待最终结果;本地 DNS 服务器 “负责到底”,承担所有中间查询步骤。

2. 迭代查询:以客户端为 “主导”

迭代查询的特点是 “客户端自行发起所有查询步骤,每台服务器仅返回‘下一台可查询的服务器地址’,客户端需继续查询直到获取结果”,流程如下:

  1. 客户端请求:客户端向本地 DNS 服务器查询www.example.com
  2. 本地服务器指引:本地 DNS 服务器无缓存,返回根服务器地址;
  3. 客户端层级查询:客户端向根服务器查询→根服务器返回.com服务器地址→客户端向.com服务器查询→.com服务器返回example.com服务器地址→客户端向example.com服务器查询→权威服务器返回 IP;
  4. 结果确认:客户端直接获取 IP,完成查询。

核心特点:客户端 “主动”,需依次与多台服务器交互;每台服务器仅提供 “下一站指引”,不替客户端完成后续查询。

3. 两种查询的关键区别

对比维度递归查询迭代查询
查询主体本地 DNS 服务器(客户端仅发起 1 次请求)客户端(自行发起所有查询步骤)
交互次数客户端与本地 DNS 服务器仅 1 次交互客户端与多台服务器(根、顶级域等)多次交互
结果返回本地 DNS 服务器返回最终 IP权威服务器直接返回最终 IP 给客户端
适用场景普通用户设备(如电脑、手机)DNS 服务器之间的查询(如本地服务器向根服务器查询)
配置控制部分服务器禁止递归(防 DDoS 攻击)无特殊限制,默认支持

三、DNS 资源记录:解析的 “数据基础”

DNS 资源记录(RR)是 DNS 服务器中存储的 “域名与资源映射关系”,不同类型的记录对应不同的网络服务需求,所有记录均遵循统一格式:owner-name TTL class type data(所有者名称、生存时间、类别、记录类型、数据内容)。

1. 核心资源记录类型及用途

记录类型英文全称核心作用示例配置
AAddress将域名映射到 IPv4 地址(最常用记录)server.linux.fun. 86400 IN A 10.1.8.10
AAAAIPv6 Address将域名映射到 IPv6 地址a.root-servers.net. 604800 IN AAAA 2001:503:ba3e::2:30
CNAMECanonical Name将域名作为 “别名” 指向另一个域名(需最终解析为 A/AAAA)student.linux.fun. 30 IN CNAME client.linux.fun.
PTRPointer将 IP 地址反向映射到域名(反向解析)IPv4:10.8.1.10.in-addr.arpa. 7200 IN PTR server.linux.fun.;IPv6:0.3.0.0.2.0.0.0...ip6.arpa. 86400 IN PTR a.root-servers.net.
NSName Server指定负责某域的权威 DNS 服务器linux.fun. 86400 IN NS dns.linux.fun.
SOAStart of Authority区域 “起始授权记录”,包含区域管理核心参数(每区必含 1 条)linux.fun. 86400 IN SOA dns.linux.fun. root.dns.linux.fun. (2024050101 3600 300 604800 60)
MXMail Exchange指定接收某域邮件的邮件服务器(含优先级)linux.fun. 86400 IN MX 10 mail.linux.fun.(优先级 10,数值越小越优先)
TXTText存储任意文本信息(如邮件验证、域名所有权证明)linux.fun. 27272 IN TXT "v=spf1 a:mail.linux.fun -all"(SPF 邮件验证)
SRVService指引客户端找到某域中提供特定服务的主机(含端口、优先级)_ldap._tcp.linux.fun. 86400 IN SRV 0 100 389 server.linux.fun.(LDAP 服务,端口 389,优先级 0)

2. 关键记录详解:SOA 与 NS

  • SOA 记录:是区域的 “管理核心”,包含 6 个关键参数,控制区域数据的同步与缓存:

    参数含义说明示例值
    SERIAL区域版本号(每次修改区域文件需递增,用于从服务器判断是否需要同步)2024050101
    REFRESH从服务器向主服务器同步数据的间隔(单位:秒)3600(1 小时)
    RETRY同步失败后,重试的间隔(单位:秒)300(5 分钟)
    EXPIRE多次同步失败后,从服务器停止使用旧数据的时间(单位:秒)604800(7 天)
    MINIMUM负响应(域名不存在)的缓存时间(单位:秒)60(1 分钟)
    RNAME区域管理员邮箱(@替换为.root.dns.linux.fun.
  • NS 记录:是 “域与权威服务器的绑定关系”,某域的所有权威服务器必须在 NS 记录中声明,且 NS 记录指向的服务器必须有对应的 A/AAAA 记录(否则无法定位)。

四、DNS 服务器配置:权威与缓存两大核心角色

DNS 服务器按功能分为 “权威服务器”(存储域名的原始记录,提供权威解析)和 “缓存服务器”(存储查询结果缓存,加速后续查询),二者配置逻辑和应用场景不同。

1. 权威 DNS 服务器:存储原始记录的 “数据源”

权威服务器是某域 “官方指定的解析服务器”,存储该域的所有资源记录,对解析结果的准确性负责。Linux 中常用BIND(Berkeley Internet Name Domain) 软件实现,配置流程如下:

(1)权威服务器架构:主从同步

为保证可靠性,权威服务器通常采用 “主从架构”:

  • 主服务器(Primary/Master):直接管理区域文件(修改、新增记录),是区域数据的 “源头”;
  • 从服务器(Secondary/Slave):从主服务器同步区域文件(通过 “区域传输”),提供冗余解析服务,避免主服务器故障导致域无法解析。
(2)完整配置步骤(以 BIND 为例)
#安装软件包
[root@server ~ 14:58:56]# yum install -y bind bind-utils
#修改配置文件
[root@server ~ 14:59:40]# vim /etc/named.conf
        #增加监听ip
        listen-on port 53 { 127.0.0.1;10.1.8.10; };
        #放行客户端
        allow-query     { localhost;10.1.8.0/24; };
        #关闭安全认证
        dnssec-validation no;
        
#最后添加正向解析和反向解析配置        
zone "wsf.cloud" IN {
        type master;
        file "wsf.cloud.zone";
};

zone "8.1.10.in-addr.arpa" IN {
        type master;
        file "10.1.8.zone";
};
#额外说明: 
  // dns服务器相关文件存放位置
  directory       "/var/named";
  
  // 允许递归查询
  recursion yes;
[root@server ~ 15:11:05]# cd /var/named
[root@server named 15:12:12]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
#在  /var/named 目录中创建文件 wsf.cloud.zone
[root@server named 15:12:16]# cp -a named.localhost wsf.cloud.zone
[root@server named 15:13:53]# vim wsf.cloud.zone
$TTL 3600
@              IN SOA dns.wsf.cloud. admin.wsf.cloud. (
                   42 ; serial
                   3H ; secondary refresh
                   15M ; secondary retry
                   1W ; secondary timeout
                   15M ; minimum cache TTL for negative answers
)
               IN NS dns.wsf.clound.
dns            IN A 10.1.8.10
server         IN A 10.1.8.10
student        IN CNAME client.wsf.cloud.
client         IN A 10.1.8.11
www         30 IN A 10.1.8.200
@              IN MX 10 mail.wsf.cloud.
mail           IN A 10.1.8.253
说明:
示例说明:

- @字符代表区域的名称,避免重复键入,并且在某些情况下允许重复使用。 
- 区域文件中的SOA记录与前面的示例中的SOA记录是等效的。
- 如果记录的名称为空,则其值与前面的记录相同。 

因此,在前面的示例中:

- 第一个记录是wsf.cloud.的SOA记录
- 接下来的记录是wsf.cloud.的NS记录
- 然后有一个dns的A记录。
- 然后有一个server的A记录。
- 然后有一个student的CNAME记录。
- 然后有一个client的A记录。
- 然后有一个域的MX记录。
- 然后有一个mail的A记录。
#在  /var/named 目录中创建文件 10.1.8.zone
[root@server named 15:35:46]# cp -a named.localhost 10.1.8.zone
[root@server named 15:36:32]# vim 10.1.8.zone
$TTL 3600
@              IN SOA dns.wsf.cloud. admin.wsf.cloud. (
                 42 ; serial
                 3H ; secondary refresh
                 15M ; secondary retry
                 1W ; secondary timeout
                 15M ; minimum cache TTL for negative answers
)
               IN NS dns.wsf.cloud.
10             IN PTR server.wsf.cloud.
10             IN PTR dns.wsf.cloud.
11             IN PTR client.wsf.cloud.
11             IN PTR student.wsf.cloud.
200            IN PTR www.wsf.cloud.
253            IN PTR mail.wsf.cloud.
#验证配置
[root@server named 15:37:59]# named-checkconf
#验证 zone 文件
[root@server named 15:38:34]# named-checkzone wsf.cloud /var/named/wsf.cloud.zone 
zone wsf.cloud/IN: loaded serial 42
OK
#启动服务
[root@server named 15:38:57]# systemctl enable named --now
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
[root@server named 15:39:13]# systemctl status named 
● named.service - Berkeley Internet Name Domain (DNS)
   Loaded: loaded (/usr/lib/systemd/system/named.service; enabled; vendor preset: disabled)
   Active: active (running) since 四 2025-09-25 15:39:13 CST; 17s ago
  Process: 83275 ExecStart=/usr/sbin/named -u named -c ${NAMEDCONF} $OPTIONS (code=exited, status=0/SUCCESS)
  Process: 83272 ExecStartPre=/bin/bash -c if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/sbin/named-checkconf -z "$NAMEDCONF"; else echo "Checking of zone files is disabled"; fi (code=exited, status=0/SUCCESS)
 Main PID: 83277 (named)
   CGroup: /system.slice/named.service
           └─83277 /usr/sbin/named -u named -c /etc/named.conf

925 15:39:13 server.wsf.com named[83277]: network unreachable resolving '...3
9月 25 15:39:13 server.wsf.com named[83277]: network unreachable resolving '...3
925 15:39:13 server.wsf.com named[83277]: network unreachable resolving '...3
925 15:39:14 server.wsf.com named[83277]: resolver priming query complete
925 15:39:14 server.wsf.com named[83277]: checkhints: b.root-servers.net/...s
925 15:39:14 server.wsf.com named[83277]: checkhints: b.root-servers.net/...s
925 15:39:14 server.wsf.com named[83277]: checkhints: b.root-servers.net/...s
925 15:39:14 server.wsf.com named[83277]: checkhints: b.root-servers.net/...s
925 15:39:14 server.wsf.com named[83277]: managed-keys-zone: Key 20326 fo...d
925 15:39:14 server.wsf.com named[83277]: managed-keys-zone: Initializing....
Hint: Some lines were ellipsized, use -l to show in full.
配置client
#确保客户端/etc/hosts 只有localhost记录
[root@client ~ 15:58:18]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
#10.1.8.10   server.wsf.com server
#10.1.8.11   client.wsf.com client
[root@client ~ 16:01:02]# nmcli connection 
NAME        UUID                                  TYPE      DEVICE 
有线连接 1  c7ac58d5-45d0-3a61-af98-5702830399ef  ethernet  ens37  
ens33       0e9a9583-e807-40e8-ae6c-c1a680846c5e  ethernet  ens33  
[root@client ~ 16:01:11]# nmcli connection down 有线连接\ 1
成功停用连接 "有线连接 1"(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/5)

#配置客户端dns为10.1.8.10
[root@client ~ 16:02:30]# nmcli connection modify ens33 ipv4.dns 10.1.8.10 -ipv4.dns 223.5.5.5 -ipv4.dns 223.6.6.6
[root@client ~ 16:04:16]# nmcli connection up ens33 
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/7)
[root@client ~ 16:05:14]# ping student.wsf.cloud
PING client.wsf.cloud (10.1.8.11) 56(84) bytes of data.
64 bytes from student.wsf.cloud (10.1.8.11): icmp_seq=1 ttl=64 time=0.025 ms
64 bytes from student.wsf.cloud (10.1.8.11): icmp_seq=2 ttl=64 time=0.023 ms

#使用 getent 尝试解析相关域名
[root@client ~ 16:34:27]# getent hosts student.wsf.cloud
10.1.8.11       client.wsf.cloud student.wsf.cloud
[root@client ~ 16:34:43]# getent hosts dns.wsf.cloud
10.1.8.10       dns.wsf.cloud
[root@client ~ 16:41:41]# getent hosts www.wsf.cloud
10.1.8.200      www.wsf.cloud

#使用 dig 尝试解析
[root@client ~ 16:22:39]# yum install -y bind-utils
[root@client ~ 16:26:45]# dig @10.1.8.10 server.wsf.cloud

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.16 <<>> @10.1.8.10 server.wsf.cloud
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7357
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;server.wsf.cloud.              IN      A

;; ANSWER SECTION:
server.wsf.cloud.       3600    IN      A       10.1.8.10

;; AUTHORITY SECTION:
wsf.cloud.              3600    IN      NS      dns.wsf.cloud.

;; ADDITIONAL SECTION:
dns.wsf.cloud.          3600    IN      A       10.1.8.10

;; Query time: 1 msec
;; SERVER: 10.1.8.10#53(10.1.8.10)
;; WHEN: 四 925 16:27:10 CST 2025
;; MSG SIZE  rcvd: 95
[root@client ~ 16:27:10]# dig @10.1.8.10 -x 10.1.8.200

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.16 <<>> @10.1.8.10 -x 10.1.8.200
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38235
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;200.8.1.10.in-addr.arpa.       IN      PTR

;; ANSWER SECTION:
200.8.1.10.in-addr.arpa. 3600   IN      PTR     www.wsf.cloud.

;; AUTHORITY SECTION:
8.1.10.in-addr.arpa.    3600    IN      NS      dns.wsf.cloud.

;; ADDITIONAL SECTION:
dns.wsf.cloud.          3600    IN      A       10.1.8.10

;; Query time: 0 msec
;; SERVER: 10.1.8.10#53(10.1.8.10)
;; WHEN: 四 925 16:28:06 CST 2025
;; MSG SIZE  rcvd: 113
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值