远程运维跳板完整方案
- 方案目标
本方案用于实现:
小主机上的 Codex 通过笔记本跳板,远程操作任意现场 LAN 内的主机。
现场主机不需要暴露公网端口,小主机也不需要到现场。笔记本接入某个现场网络后,该现场网络即可临时接入中心运维链路。
最终效果:
小主机 / Codex
|
VPN / 路由中心
|
笔记本跳板
|
现场 LAN
|
Linux / Windows / OpenWrt / 工控机
操作方式统一以 SSH 为主:
Linux:SSH
OpenWrt:SSH
Windows:OpenSSH Server
SMB:用于 Windows 文件共享和文件搬运
2. 总体架构
+----------------------+
| 小主机 / Codex |
| 自动化运维中心 |
+----------+-----------+
|
| 远端 LAN / VPN 服务端
|
+----------+-----------+
| OpenWrt / MX8500 |
| OpenVPN Server |
+----------+-----------+
|
| OpenVPN 隧道
|
+----------+-----------+
| Windows 笔记本 |
| 移动跳板 / 现场网关 |
+----------+-----------+
|
| 笔记本 LAN 口 / 现场网络
|
+-------------------------+-------------------------+
| | |
+-----+------+ +-----+------+ +-----+------+
| Linux 主机 | | Windows | | OpenWrt |
| SSH | | OpenSSH | | SSH |
+------------+ +------------+ +------------+
3. 网络角色
| 角色 | 作用 | 示例 |
|---|---|---|
| 小主机 | Codex 运行节点、远程运维中心 | Ubuntu / Debian / OpenWrt 旁路主机 |
| VPN 服务端 | 远程网络汇聚、路由控制 | MX8500 / OpenWrt |
| 笔记本 | 移动跳板、现场网关 | Windows 笔记本 |
| 现场主机 | 被运维对象 | Linux、Windows、OpenWrt、工控机 |
4. 示例地址规划
远端 LAN:192.168.10.0/24
OpenVPN 网段:192.168.9.0/24
笔记本 VPN 地址:192.168.9.6
笔记本 LAN 口:192.168.50.1/24
现场设备:192.168.50.2/24
访问目标:
小主机 / Codex -> 192.168.50.2
要求:
不做 NAT,使用纯路由。
5. 核心网络逻辑
纯路由模式下,必须保证双向路径完整:
小主机 / Codex
-> VPN 服务端
-> OpenVPN 隧道
-> 笔记本
-> 现场 LAN
-> 现场主机
现场主机
-> 笔记本
-> OpenVPN 隧道
-> VPN 服务端
-> 小主机 / Codex
关键点:
1. 笔记本要开启 IP 转发。
2. 现场设备的网关或静态路由要指向笔记本。
3. OpenVPN 服务端要知道现场网段在笔记本这个客户端后面。
4. 小主机到现场网段要有路由。
5. Windows / Linux / OpenWrt 防火墙要允许对应流量。
6. OpenVPN CCD + iroute
如果笔记本后面挂了现场网段,例如:
192.168.50.0/24
OpenVPN 服务端必须知道这个网段属于哪个客户端。
客户端日志中可看到客户端证书 CN:
VERIFY OK: depth=0, ... CN=Route ...
说明该客户端名称为:
Route
服务端创建 CCD 文件:
mkdir -p /etc/openvpn/ccd
vi /etc/openvpn/ccd/Route
写入:
iroute 192.168.50.0 255.255.255.0
服务端主配置增加:
client-config-dir /etc/openvpn/ccd
route 192.168.50.0 255.255.255.0
含义:
| 配置 | 作用 |
|---|---|
route 192.168.50.0 255.255.255.0 |
告诉系统这个网段交给 OpenVPN |
iroute 192.168.50.0 255.255.255.0 |
告诉 OpenVPN 这个网段在 CN=Route 客户端后面 |
7. Windows 笔记本配置
7.1 开启 IP 转发
管理员 PowerShell:
Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name IPEnableRouter -Value 1
查看:
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters | Select IPEnableRouter
应显示:
IPEnableRouter : 1
修改后建议重启 Windows。
7.2 现场网段配置
笔记本 LAN 口示例:
IP:192.168.50.1
掩码:255.255.255.0
现场设备示例:
IP:192.168.50.2
掩码:255.255.255.0
网关:192.168.50.1
如果现场设备不能改默认网关,也可以只加到远端网段的静态路由:
目标网段:远端 LAN / 小主机所在网段
下一跳:192.168.50.1
8. Windows 开启 OpenSSH Server
Windows 现场主机建议安装 OpenSSH Server,方便 Codex 通过 SSH 统一操作。
管理员 PowerShell 查看:
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Server*'
安装:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
启动服务:
Start-Service sshd
设置开机自启:
Set-Service -Name sshd -StartupType Automatic
放行防火墙:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
查看服务:
Get-Service sshd
从小主机测试:
创建用户
net user codexops 123456987 /add
net localgroup administrators codexops /add
ssh Windows用户名@192.168.50.x
9. Linux / OpenWrt 远程操作方式
Linux:
ssh user@192.168.50.x
scp file user@192.168.50.x:/tmp/
rsync -av ./ user@192.168.50.x:/path/
OpenWrt:
ssh root@192.168.50.x
logread
ip route
uci show
tcpdump -ni any host 目标IP
10. Windows 文件操作方式
SMB 适合文件访问和文件搬运:
\\192.168.50.x\C$
\\192.168.50.x\D$
\\192.168.50.x\share
Linux 小主机访问 SMB:
smbclient //192.168.50.x/C$ -U '用户名'
挂载共享:
mount -t cifs //192.168.50.x/share /mnt/win -o username=用户名
建议分工:
SSH / WinRM:执行命令
SMB:文件共享、文件收集、文件分发
11. Codex 运维能力
小主机上的 Codex 可以通过 SSH 对现场主机进行:
1. 网络排查
2. 路由检查
3. 日志分析
4. 配置修改
5. 服务启停
6. 文件分发
7. 脚本执行
8. 批量巡检
9. 故障取证
10. 配置备份
示例能力:
| 场景 | 工具 |
|---|---|
| Linux 排障 | ssh、journalctl、dmesg、systemctl |
| OpenWrt 排障 | logread、uci、ip route、tcpdump |
| Windows 操作 | OpenSSH Server、PowerShell、SMB |
| 网络测试 | ping、tcping、iperf3、nmap |
| 文件分发 | scp、rsync、smbclient |
12. 安全边界
建议遵守以下原则:
1. 每台笔记本使用独立 OpenVPN 客户端证书。
2. 每个现场网段使用独立 CCD / iroute。
3. 证书丢失或笔记本不再使用时,及时吊销证书。
4. OpenWrt 防火墙只放行必要端口。
5. Linux SSH 使用密钥认证,减少密码登录。
6. Windows 禁止 Guest SMB。
7. Windows 使用独立运维账号,不直接使用日常账号。
8. 保留 VPN 登录日志和 SSH 操作日志。
9. 不同客户、不同现场尽量网段隔离。
10. 不要默认全网互通,按需放行。
常用端口建议:
| 服务 | 端口 | 用途 |
|---|---|---|
| SSH | 22 | Linux / Windows / OpenWrt 远程命令 |
| SMB | 445 | Windows 文件共享 |
| RDP | 3389 | 图形远程桌面 |
| WinRM HTTP | 5985 | PowerShell Remoting |
| WinRM HTTPS | 5986 | PowerShell Remoting 加密 |
13. 排查方法
13.1 笔记本是否转发
Windows:
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters | Select IPEnableRouter
13.2 远端是否收到现场网段报文
OpenWrt:
tcpdump -ni tun0 host 192.168.50.2
tcpdump -ni br-lan.1 host 192.168.50.2
判断:
笔记本有,远端 tun0 没有:
检查 OpenVPN CCD + iroute。
远端 tun0 有,br-lan.1 没有:
检查 OpenWrt 防火墙和转发。
br-lan.1 有,目标主机没回:
检查目标主机网关、防火墙、回程路由。
13.3 SSH 测试
从小主机:
ssh user@192.168.50.x
端口测试:
nc -vz 192.168.50.x 22
nc -vz 192.168.50.x 445
14. 可扩展方向
后续可以把该方案扩展成轻量远程运维平台:
1. 资产清单自动发现
2. 在线状态探测
3. 批量 SSH 巡检
4. Windows 文件分发
5. OpenWrt 配置备份
6. 工控机健康检查
7. 日志集中采集
8. 抓包与网络诊断
9. 自动生成巡检报告
10. 故障处理脚本库
可集成工具:
ssh
scp
rsync
smbclient
nmap
fping
iperf3
tcpdump
curl
jq
ansible
15. 方案总结
该方案本质上是:
小主机作为中心运维节点
笔记本作为移动现场网关
OpenVPN 作为纯路由通道
Codex 作为协同分析和执行入口
SSH 作为统一远程操作协议

浙公网安备 33010602011771号