一篇实验,从接管 VM、搭好 DNS、到产出学生教程,全程不用你敲一行命令。如果你要从零跑一遍,把下面这一段整体发给 WorkBuddy 即可。
我在本机用 VMware Workstation 装了一台 RHEL8 虚拟机,vmx 路径是 F:\VMware\xuniji\Rhel8cli\Red Hat Enterprise Linux 8 64 位.vmx,guest 登录账号 root 密码 123。请帮我做三件事,全部只在工作目录 F:\users\桌面\vmware实验 内操作,不要写桌面/下载/文档等任何工作区以外的目录:1) 写一个 vmware-mcp(封装 vmrun),让我能让你操作这台虚拟机; 2) 在虚拟机里搭建 DNS 服务(用 bind/named),域名 linux8.com,配置正向/反向区并验证(dig/nslookup 全通过),关键步骤截图和命令日志存到 jietu 文件夹;3) 把整个过程整理成一份零基础学生照做的 DOCX 教程 + 一份美化 HTML 版。每一步做完告诉我结果,遇到坑(如没软件源、SELinux 拦截)自己解决并记录。
提示 把整合提示词里的「DNS / linux8.com」换成 DHCP、firewalld 防火墙、Apache 等,就能批量复现其他 Linux 实验;域名、IP 按你教材改即可。
我用 WorkBuddy 跑通了 Linux 实验,自动生成学习教程
原创 · 实验教学笔记 · 2026-08-11
做 Linux 网络服务实验,最折磨人的往往不是敲命令,而是:环境没软件源、SELinux 拦路、网络不通、配置写错还得重来。传统方式下,老师要一遍又一遍手把手带学生趟坑。这回我换了个玩法——把实验交给 WorkBuddy(一个能真正「动手」的 AI 助手),让它接管 VMware 虚拟机,把 RHEL8 上的 DNS 服务从零搭好、验证通过,还顺手给零基础的学生整理出一份能照着做的图文教程。下面把整个过程记录下来,既是复盘,也是一份「AI 助教」使用范本。
一、实验目标:搭一个真正能用的 DNS 服务器
教材要求很明确:在 RHEL 8(Red Hat Enterprise Linux 8)上用 BIND(服务进程叫 named)搭建 DNS 服务器,让域名 linux8.com 能被正确解析。具体包括:
- 正向解析:域名 → IP,例如
www.linux8.com 解析到 192.168.1.8; - 反向解析:IP → 域名,例如
192.168.1.8 反查回 www.linux8.com; - MX 邮件记录
- NS 记录
听起来好像就是改几个配置文件,但真做起来你会发现,真正的坑全在环境里——网络、订阅、权限、源,每一步都可能把人卡住。而这恰恰是 AI 助手最擅长的地方:它不会烦躁,会一步步诊断、试错、解决。
二、让 AI 接管虚拟机:它真的能「动手」
关键点先说清楚:WorkBuddy 不是只会聊天的机器人。它能通过 VMware 的自动化接口 vmrun 真正去开关机、在虚拟机内部执行命令、传文件、打快照、截屏。换句话说,它干的是管理员在终端里干的那活儿。
我只需要交给它三样东西:
- 虚拟机位置:
F:\VMware\xuniji\Rhel8cli(一台现成的 RHEL8 虚拟机); - 登录凭据:
root / 123(用于 vmrun 登录 guest 执行命令); - 实验目标:搭好 DNS、自测验证通过、把关键步骤截图存进
jietu 文件夹。
剩下的,它自己干。下面就是把它的操作过程如实还原。
三、过程复盘:AI 踩过的坑,都替学生先踩完了
一台刚开机的 RHEL8,从「黑屏」到「DNS 服务跑通」,中间要经过 8 个任务。每一步 WorkBuddy 都做了「做什么 / 为什么 / 命令 / 预期结果」,下面挑关键的讲。
0
开机 + 打快照(安全网)
先开机并打一个叫 DNS实验前 的快照。这是实验翻车时的「后悔药」——任何一步配崩了,一键回滚即可,学生再也不怕把系统搞坏。
1
激活网络、设主机名
开机后 WorkBuddy 探测发现:两块网卡(桥接 ens160、仅主机 ens224)的连接状态都是 disconnected,所以一个 IP 都没有。它用以下命令激活并把桥接网卡固定成静态地址(避免 DHCP 续租导致 DNS 服务器 IP 漂移):
# 激活连接nmcli con up ens160 nmcli con up ens224# 固定静态 IP(桥接网卡)nmcli con mod ens160 ipv4.method manual ipv4.addresses 192.168.1.8/24 \ ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8 192.168.1.1" nmcli con up ens160# 设主机名hostnamectl set-hostname dns.linux8.com
结果:ens160 拿到 192.168.1.8/24 且能 ping 通外网,ens224 拿到 192.168.52.128/24。
2
RHEL 没订阅 → 换兼容源
第一个大坑来了:原版 RHEL8 没注册订阅,dnf repolist 是空的,bind 根本装不了。WorkBuddy 没有卡住,而是判断出这是教学环境常见问题,改用二进制兼容的 Rocky Linux 8 国内镜像源(先测了腾讯云、华为云可达),写入仓库文件:
cat > /etc/yum.repos.d/rocky.repo <<'EOF' [rocky-baseos] name=Rocky8-BaseOS-tencent baseurl=https://mirrors.cloud.tencent.com/rocky/8/BaseOS/x86_64/os/ enabled=1 gpgcheck=0 [rocky-appstream] name=Rocky8-AppStream-tencent baseurl=https://mirrors.cloud.tencent.com/rocky/8/AppStream/x86_64/os/ enabled=1 gpgcheck=0 EOF dnf --disableplugin=subscription-manager makecache
✅ 小知识:Rocky Linux 是 RHEL 的下游重建版,二进制完全兼容,教材里的命令、服务名一模一样,是教学替代的首选。
3
SELinux 拦路 → 临时关闭
换了源后装 bind,却报 failed to exec scriptlet interpreter /bin/sh: 权限不够。WorkBuddy 诊断是 SELinux 处于 Enforcing 模式,拦截了 RPM 安装后脚本的执行。它在教学环境里临时放行:
setenforce 0 # 临时关闭,当前变为 Permissivegetenforce # 确认输出 Permissive
⚠️ 注意:这只是实验环境临时处理。生产环境应改写正确的 SELinux 策略(如 setsebool -P named_write_master_zones on),而非简单关闭。
4
安装 BIND
关掉 SELinux 拦截后,安装一次成功,装出 bind 9.11.36:
dnf --disableplugin=subscription-manager install -y --nogpgcheck bind bind-utils rpm -q bind # 输出 bind-9.11.36-...
5
配置 named.conf 与正/反向区文件
这是实验的核心。WorkBuddy 修改主配置让 DNS 监听所有网卡、允许任意客户端查询,并在 named.rfc1912.zones 里追加两个区:
# 修改 /etc/named.conflisten-on port 53 { any; }; allow-query { any; };# 追加区声明zone "linux8.com" IN { type master; file "linux8.com.zone"; allow-update { none; }; }; zone "1.168.192.in-addr.arpa" IN { type master; file "1.168.192.zone"; allow-update { none; }; };正向区文件 linux8.com.zone 写入了 A 记录(www / mail / ftp / dns)、MX 记录和 NS 记录;反向区 1.168.192.zone 写入了 PTR 指针记录。写完用 named-checkconf 和 named-checkzone 校验,两个区都返回 OK。
6
启动 named + 防火墙放通
放行 DNS 服务端口并让服务开机自启:
firewall-cmd --add-service=dns --permanent firewall-cmd --reload systemctl enable --now named ss -tulnp | grep ":53 " # 53 端口已在 127.0.0.1 / 192.168.1.8 监听
7
验证:用 dig / nslookup 自测
最后也是最重要的——不自己验证就不算完成。WorkBuddy 用 dig 做了正向、反向、MX、NS 全覆盖测试,并把本机 DNS 指向自己(nameserver 127.0.0.1),默认解析也走自建服务器。
四、验证结果:一张表说明全部 OK
下面是 WorkBuddy 跑出的真实验证结果,每一条都通过:
| | | |
|---|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | 走 127.0.0.1 → 192.168.1.8 | |
到这一步,实验目标 100% 达成:这台虚拟机已经是一台正经的 DNS 服务器了。
★ ★ ★
五、超出预期:它还给学生写了份教程
验证通过只是「把实验做完」。真正让我惊喜的是下一步——我让它把整个操作过程整理成一份「零基础学生也能照做」的学习教程,它交出了完整成果:
- 一份 DOCX 教程:带封面、三级标题层级、图/表题注、页码,排版规范清晰;
- 一份 HTML 网页版教程:代码高亮、彩色提示框、表格美化,浏览器直接看;
- 每一步命令的真实输出日志(
jietu/ 文件夹里 03~15 号日志),可逐条对照。
这份教程「懂学生」在哪?
- 先讲人话:用「DNS 就像电话簿,域名是名字、IP 是号码」打比方,再列实验要能回答的问题;
- 零基础必看:怎么开终端、
# 和 $ 提示符区别、命令怎么复制粘贴,全部交代; - 任务化教学:8 个任务,每个都含「做什么 / 为什么 / 命令 / 预期结果」,学生照葫芦画瓢;
- 真实可对照:所有命令输出都是本次实验的真实日志,学生对得上结果,不会「教程跑不通」;
- 标注变量:把
192.168.1.8 这类参数标「按你自己的 IP 改」,规避环境差异; - 排错附录:把踩过的 6 个真实坑(无源、SELinux、网络不通……)写成排查表;
- 命令速查
📌 也就是说,老师拿到手的是一份「已验证、可复现、零基础友好」的教学材料,而不是自己凭记忆写的、可能漏步骤的草稿。
六、这说明了什么:AI 助教的三层能力
回过头看,WorkBuddy 在这件事里展示了「助教」该有的三层能力:
这不就是「AI 助教」该有的样子吗?——把人从重复的带实验里解放出来,把时间留给更有价值的环节:和学生讨论「为什么这么配」,而不是「为什么又报错了」。
写在最后
如果你也在带 Linux 实验课,不妨试试把环境交给 WorkBuddy:
让它先把路趟平,再把教程交给你。
你省下的,是一次次重复的配置;学生得到的,是一份随时能对照的真实教程。
关注我,持续分享 AI 助教与实验教学实战笔记