当前位置:首页>Linux>我用 WorkBuddy 跑通了 Linux 实验,自动生成学习教程

我用 WorkBuddy 跑通了 Linux 实验,自动生成学习教程

  • 2026-09-09 19:36:30
我用 WorkBuddy 跑通了 Linux 实验,自动生成学习教程

一篇实验,从接管 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 邮件记录
    :指向 mail.linux8.com;
  • NS 记录
    :声明本机就是该域的权威名称服务器。

听起来好像就是改几个配置文件,但真做起来你会发现,真正的坑全在环境里——网络、订阅、权限、源,每一步都可能把人卡住。而这恰恰是 AI 助手最擅长的地方:它不会烦躁,会一步步诊断、试错、解决。

二、让 AI 接管虚拟机:它真的能「动手」

关键点先说清楚:WorkBuddy 不是只会聊天的机器人。它能通过 VMware 的自动化接口 vmrun 真正去开关机、在虚拟机内部执行命令、传文件、打快照、截屏。换句话说,它干的是管理员在终端里干的那活儿。

我只需要交给它三样东西:

  1. 虚拟机位置
    :F:\VMware\xuniji\Rhel8cli(一台现成的 RHEL8 虚拟机);
  2. 登录凭据
    :root / 123(用于 vmrun 登录 guest 执行命令);
  3. 实验目标
    :搭好 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 跑出的真实验证结果,每一条都通过:

查询类型
查询内容
返回结果
状态
A 记录
www.linux8.com
192.168.1.8
✓
A 记录
mail.linux8.com
192.168.1.8
✓
A 记录
ftp.linux8.com
192.168.1.9
✓
A 记录
dns.linux8.com
192.168.1.8
✓
MX 记录
linux8.com
10 mail.linux8.com.
✓
NS 记录
linux8.com
dns.linux8.com.
✓
PTR 反查
192.168.1.8
www + dns
✓
PTR 反查
192.168.1.9
ftp
✓
默认 nslookup
www.linux8.com
走 127.0.0.1 → 192.168.1.8
✓

到这一步,实验目标 100% 达成:这台虚拟机已经是一台正经的 DNS 服务器了。

★ ★ ★

五、超出预期:它还给学生写了份教程

验证通过只是「把实验做完」。真正让我惊喜的是下一步——我让它把整个操作过程整理成一份「零基础学生也能照做」的学习教程,它交出了完整成果:

  • 一份 DOCX 教程:带封面、三级标题层级、图/表题注、页码,排版规范清晰;
  • 一份 HTML 网页版教程:代码高亮、彩色提示框、表格美化,浏览器直接看;
  • 每一步命令的真实输出日志(jietu/ 文件夹里 03~15 号日志),可逐条对照。

这份教程「懂学生」在哪?

  1. 先讲人话
    :用「DNS 就像电话簿,域名是名字、IP 是号码」打比方,再列实验要能回答的问题;
  2. 零基础必看
    :怎么开终端、# 和 $ 提示符区别、命令怎么复制粘贴,全部交代;
  3. 任务化教学
    :8 个任务,每个都含「做什么 / 为什么 / 命令 / 预期结果」,学生照葫芦画瓢;
  4. 真实可对照
    :所有命令输出都是本次实验的真实日志,学生对得上结果,不会「教程跑不通」;
  5. 标注变量
    :把 192.168.1.8 这类参数标「按你自己的 IP 改」,规避环境差异;
  6. 排错附录
    :把踩过的 6 个真实坑(无源、SELinux、网络不通……)写成排查表;
  7. 命令速查
    :从头到尾一条复制即可完成,方便复习。

📌 也就是说,老师拿到手的是一份「已验证、可复现、零基础友好」的教学材料,而不是自己凭记忆写的、可能漏步骤的草稿。

六、这说明了什么:AI 助教的三层能力

回过头看,WorkBuddy 在这件事里展示了「助教」该有的三层能力:

能力层
表现
价值
会动手
直接操作虚拟机把 DNS 实验从零跑通
老师不用守在机房逐台配置
会排错
SELinux、无源、网络不通,自己诊断自己解决
学生不再卡在「环境错误」上
会总结
把过程沉淀成 DOCX + HTML 可复用教程
一份材料,全班照做

这不就是「AI 助教」该有的样子吗?——把人从重复的带实验里解放出来,把时间留给更有价值的环节:和学生讨论「为什么这么配」,而不是「为什么又报错了」。

写在最后

如果你也在带 Linux 实验课,不妨试试把环境交给 WorkBuddy:

让它先把路趟平,再把教程交给你。

你省下的,是一次次重复的配置;学生得到的,是一份随时能对照的真实教程。

关注我,持续分享 AI 助教与实验教学实战笔记

最新文章

随机文章