速达物流 · 企业服务部署实训验收报告

发布于 1 小时前 4 次阅读


速达物流 · 企业服务部署实训验收报告

小组:第四组(成员 A,VM2 负责人) 项目:在项目一(网络基础环境)之上,搭建企业内网服务 服务器:VM2 10.4.0.10(Debian 12) / 网关 VM1 10.4.0.1(WAN 172.16.30.208域名web.mxdx.local(企业门户)、wiki.mxdx.local(内部知识库)


1. 项目概述

本项目在一期搭建的 VM1 网关/NAT/DNS/DHCP 基础环境之上,于 VM2(10.4.0.10)上为企业「速达物流」部署了四类核心办公服务:① Nginx 企业门户(强制 HTTPS、Gzip 压缩、静态缓存);② MediaWiki 内部知识库(Apache+PHP 反向代理);③ Samba 部门文件共享(公共盘、财务盘、个人目录);④ NFS 代码共享。项目解决了企业日常办公中”信息分散、知识无法沉淀、文件无隔离共享、开发协作无统一空间”等业务痛点,使员工可通过统一域名访问门户与 Wiki、按部门权限安全共享文件、在 Linux 客户端挂载共享代码目录,形成一套可落地的中小企业内网办公支撑平台。


2. 服务架构

2.1 架构图

                        员工客户端(笔记本 / 一体机)
                                  │
                                  │ DNS 解析
                                  ▼
                      VM1 网关 (10.4.0.1 / 172.16.30.208)
                      NAT · DNS · DHCP
                                  │
                    ┌─────────────┴─────────────┐
                    │        VM2  10.4.0.10       │
                    │  ┌───────────────────────┐ │
  浏览器 ──HTTPS──▶ │  │  Nginx  :443 (SSL)    │ │
  http://web       │  │  80 → 443 跳转         │ │
                    │  │  server_name           │ │
                    │  │   web.mxdx.local       │ │
                    │  └───────────┬───────────┘ │
                    │              │ 反代         │
                    │  ┌───────────▼───────────┐ │
  http://wiki ────▶ │  │  Apache :8080         │ │
                    │  │  MediaWiki            │ │
                    │  │  server_name           │ │
                    │  │   wiki.mxdx.local      │ │
                    │  └───────────────────────┘ │
                    │  ┌───────────────────────┐ │
  \\\\10.4.0.10 ──▶ │  │  Samba  :445/:139     │ │
                    │  │  public / finance /    │ │
                    │  │  个人目录(zhangsan等)  │ │
                    │  └───────────────────────┘ │
                    │  ┌───────────────────────┐ │
  mount nfs ─────▶  │  │  NFS  :2049            │ │
                    │  │  /data/nfs/code         │ │
                    │  │  → 10.4.0.0/24(rw)     │ │
                    │  └───────────────────────┘ │
                    └─────────────────────────────┘

2.2 服务端口与域名对照表

服务 监听端口 域名 / 路径 访问方式
Nginx 门户 443 (SSL) / 80→443 web.mxdx.local 浏览器 HTTPS
Apache + MediaWiki 8080(仅本机) 由 Nginx 反代至 wiki.mxdx.local 浏览器 HTTPS
Samba 文件共享 445 / 139 \\10.4.0.10\public\finance、个人目录 文件管理器 / 映射网络驱动器
NFS 代码共享 2049 /data/nfs/code mount -t nfs 10.4.0.10:/data/nfs/code /mnt

3. 实施记录

3.1 网络层 —— 接入内网

  • VM1 配置双网卡桥接:WAN 172.16.30.208/24(出网)、LAN 10.4.0.1/24(内网网关),提供 DNS/DHCP/NAT。
  • VM2 由 NAT 切换为桥接模式,静态 IP 设为 10.4.0.10/24,网关指向 10.4.0.1
  • VM1 的 DNS 区域文件将 web.mxdx.localwiki.mxdx.local 均解析到 10.4.0.10,客户端无需改 hosts 即可用域名访问。

【截图:VM2 ip a 显示 10.4.0.10;VM1 ip a 显示双网卡】

image-20260715152508126
image-20260715152521831

3.2 Web 层 —— 企业门户 + HTTPS

  • 使用 apt 安装 Nginx,配置 web.mxdx.local 虚拟主机,监听 443 并启用自签 SSL 证书。
  • 80 端口全部 301 跳转到 HTTPS;开启 Gzip 压缩与静态资源缓存(Cache-Control / Expires)。
  • 门户首页经美化为「第四组」主题(毛玻璃导航、渐变 Hero、值班表今日高亮、新闻时间线)。

注:本项目 Nginx 采用发行版 apt 仓库安装而非源码编译,以提升部署稳定性(详见 5.6)。

【截图:浏览器访问 https://web.mxdx.local 显示企业门户首页】

3.3 应用层 —— 内部知识库

  • apt 安装 Apache2 + PHP + MediaWiki(1.39.x),Apache 监听本机 8080
  • Nginx 以 location /wiki/ 反向代理到 127.0.0.1:8080,并透传 HostX-Forwarded-Proto 头,使 MediaWiki 识别外层为 HTTPS。
  • LocalSettings.php$wgServer 设为 https://wiki.mxdx.local,消除”访问后跳回 IP”的问题。
  • 批量创建 5 个分类(技术文档 / 运维手册 / 故障案例库 / 新人入职指南 / 公司制度)与 3 篇文档(Nginx安装与常用模块说明 / Samba共享权限配置排错手册 / 新人指南)。

【截图:Wiki 首页与 Special:Categories 五个分类;搜索”新人指南”命中文档】

3.4 文件层 —— Samba 与 NFS

  • Samba:建立 public(公共读写)、finance(仅财务 zhangsan 可写、销售 lisi 拒访)、个人目录(各员工仅见自己文件)三类共享,配置 valid userscreate maskbrowseable
  • NFS/data/nfs/code(rw,sync,no_root_squash,no_subtree_check) 导出给 10.4.0.0/24,供 Linux 客户端挂载读写。
  • 用户与组:创建 zhangsan(财务)、lisi(销售)、wangwu 三个账号,并将 zhangsan 加入 finance 组,以组为单位控制财务盘访问权限。
创建用户与Samba账号

4. 验收结果

4.1 任务5 客户端全功能验收

序号 角色 操作 预期结果 实际
1 新员工 浏览器打开 http://web.mxdx.local 看到公司首页,自动跳转 HTTPS
2 员工 浏览器打开 http://wiki.mxdx.local 看到 Wiki 首页,已有分类和文档
3 员工 在 Wiki 中搜索”新人指南” 能找到相关文档
4 员工 映射公共盘 \\10.4.0.10\public 能创建文件和文件夹
5 张三(财务) 映射 \\10.4.0.10\finance 能访问
6 李四(销售) 映射 \\10.4.0.10\finance 拒绝访问
7 张三(财务) 映射个人目录 只能看到自己的文件
8 Linux VM mount -t nfs 10.4.0.10:/data/nfs/code /mnt 挂载成功,可读写

4.2 验收结果汇总表(评分用)

验收项 结果 截图
公司网站能访问 公司门户首页
Wiki 有文档 Wiki分类与文档
公共盘能读写 公共盘读写
财务盘权限正确 见 4.3
个人目录隔离 见 4.4
NFS 挂载成功 见 4.5

4.3 财务盘权限验证(Samba valid users = @finance

① 张三(财务)能访问 finance —— 输入 zhangsan / zs123456,成功进入并可读写:

张三访问finance成功
张三访问finance成功

② 李四(销售)访问 finance 被拒 —— net use \\10.4.0.10\finance /user:lisi ls123456 返回「系统错误 5 拒绝访问」,权限隔离生效(亦见 4.4 汇总图):

upgit_20260715_1784085584

4.4 个人目录隔离验证

  • 本人可访问\\10.4.0.10\lisi 用 lisi 登录 → 命令成功完成,能看到自己的文件 ✅
  • 他人被拒\\10.4.0.10\lisi 用 zhangsan 登录 → 「系统错误 5 拒绝访问」,张三看不到李四的目录 ✅
upgit_20260715_1784085584

4.5 NFS 挂载验证(Linux 客户端)

验证结果

① 挂载成功(nfs4)

type nfs4 + addr=10.4.0.10:确认为远端 NFSv4 挂载 ✅

image-20260715165521994

② 远端文件可读

NFS-VERIFY-OK from VM2 at Wed Jul 15 15:43:55 CST 2026

→ 成功读取到仅存在于 VM2 服务端的标记文件,排除本地空目录假阳性 ✅

③ 可写可删

-rw-r--r-- 1 root root 15 Jul 15 16:50 /mnt/nfs/from_wsl_test.txt

→ 文件创建、写入、列表均正常,清理后无残留 ✅

写入测试

image-20260715165609712

结论:三项验证全部通过,NFS 代码共享在 Linux 客户端(WSL)上挂载成功且读写正常。


5. 问题与总结

5.1 问题一:Samba 共享 ACCESS_DENIED(父目录权限陷阱)

现象:smbclient 访问 public/finance 均报 ACCESS_DENIED,共享目录权限本身已正确。 原因:共享父目录 /data 权限为 700,Samba 进程无权进入其子目录,导致所有共享不可访问。 解决:将父目录改为 755chmod 755 /data),子目录共享恢复正常。 要点:Samba 的”有效权限”不仅取决于共享定义,还受整条路径的目录权限约束,排错时应从根目录逐层检查。

5.2 问题二:Wiki 访问后自动跳回 IP 地址

现象:浏览器打开 wiki.mxdx.local 会先加载一下,再 302 跳转到 http://172.16.30.100:8080/...原因:MediaWiki 安装时记录的安装地址(IP)被写入 LocalSettings.php$wgServer,每次请求都判定当前域名非”规范地址”而重定向。 解决:将 $wgServer 改为 https://wiki.mxdx.local,并重载 Apache;同时 Nginx 反代需 proxy_set_header Host $hostX-Forwarded-Proto $scheme,让后端识别外层协议。

5.3 问题三:DNS 解析到错误网段(10.5.0.10)

现象:部分客户端 ping web.mxdx.local 解析到 10.5.0.10(第5组网段),而非本组 10.4.0.10原因:VM1 的 BIND 区域文件中 A 记录沿用了错误的组号。本机因 hosts 文件写死 10.4.0.10 而”看似正常”,掩盖了 DNS 本身错误。 解决:在 VM1 上 sed -i 's/10\.5\.0\.10/10.4.0.10/g' /etc/bind/db.mxdx.localrndc reload;本机 hosts 中写死的 10.4.0.10 仅为本地测试用,正式环境客户端应统一以 VM1 真实 DNS 解析为准。

64e8d72868315db6df0103ab2ea68d33

5.4 问题四:NFS 回环地址无法自测,需临时放行

现象:在 VM2 本机 mount 127.0.0.1:/data/nfs/code 直接报 access denied by server,无法验证 NFS 服务本身是否可用。 原因/etc/exports 仅放行了正式网段 10.4.0.0/24,回环地址 127.0.0.1 不在允许列表,故被拒。 解决:为自测临时加一行 127.0.0.1(rw,sync,no_root_squash,no_subtree_check),验证挂载与读写正常后,再删除该行、仅保留 10.4.0.0/24exportfs -ra,避免遗留非预期开放。

5.5 问题五:Windows 端换账号验证 Samba 权限失败

现象:VM2 本地 smbclient 用 zhangsan 能进 finance、lisi 被拒(配置完全正确),但 Windows 上无论怎么输密码都被拒,或换账号时不再弹窗、始终用旧身份登录。 原因:Windows 会缓存首次连接 \\10.4.0.10 的凭据(存于凭据管理器 cmdkey),且不允许同一服务器使用多个不同账号的多重连接,导致后续换账号测试全部沿用旧身份。 解决: 1. 每次换账号前 net use * /del /y 断开连接、cmdkey /delete:10.4.0.10 清除缓存凭据,并关闭所有文件管理器窗口; 2. 用命令行直接指定身份验证,绕过弹窗缓存:net use \\10.4.0.10\finance /user:lisi ls123456,返回「系统错误 5」即证明被正确拒绝。

要点:Samba 权限排错要先在服务端用 smbclient 本地自测,快速区分是”服务端配置问题”还是”Windows 客户端凭据问题”,避免在错误方向上耗时。

5.6 问题六:重启后网络中断与配置持久化

现象:虚拟机重启后,VM1 无法 ping 通 VM2(10.4.0.10),Windows 也无法访问 10.4.0.1/10.4.0.10,网页打不开。 原因:① VM1 双网卡均桥接同一物理网络,内核反向路径过滤(rp_filter)将”从不同接口进出”的包丢弃,导致跨网卡路由不通;② Windows 上的静态路由 route add 10.4.0.0 ... 未加 -p,重启后丢失,笔记本失去到内网的路由;③ VM1 的 ip_forward、rp_filter 等 sysctl 参数重启后回到默认值。 解决: 1. VM1 关闭反向路径过滤:sysctl -w net.ipv4.conf.all.rp_filter=0(并写入 /etc/sysctl.conf 持久化); 2. 确认并持久化 IP 转发:sysctl -w net.ipv4.ip_forward=1(写入 /etc/sysctl.conf); 3. Windows 加永久路由:route -p add 10.4.0.0 mask 255.255.255.0 172.16.30.208要点:凡是 ip / route / sysctl 这类运行时命令,重启都会失效;涉及网络的关键参数务必写入 /etc/network/interfaces/etc/sysctl.conf 以及 Windows 的 route -p,完成后重启一次做”断电验证”。

5.8 总结

通过本次实训,完整实现了”网关 + 企业门户 + 知识库 + 文件共享 + 代码共享”的一体化内网办公平台。过程中对 Linux 网络配置、Web 服务器反向代理、Samba/NFS 权限模型、DNS 解析链 有了更深入的理解。最大的体会是:排错要从”整条链路”而非单点出发(如 Samba 看父目录权限、Wiki 看 $wgServer 与反代头、DNS 看区域文件而非仅本机 hosts、重启失效看持久化),才能准确定位根因。


报告生成日期:2026-07-15 | 第四组 | VM2(10.4.0.10)

此作者没有提供个人介绍。
最后更新于 2026-08-08