高级 11 分钟Hardening

对自己的机器实施物理网络隔离 推理

直接回答

对推理机器实施物理网络隔离,就是切断其所有网络连接(网线、Wi-Fi、蓝牙),并且只通过受控的物理介质导入模型和更新。出站防火墙是一层有用的防护,但不等于物理网络隔离:它只是软件配置。真正的薄弱环节是会连接外部的软件(Ollama Cloud、更新、下载)以及 U 盘。

在某些敏感场景中,仅说“本地”还不够:本地机器仍然联网,其软件也可能连接外部网络。本指南区分真正的物理隔离(air-gap)和防火墙隔离,列出 LLM 技术栈中默认会连接外部网络的组件及阻断这些连接的方法,介绍通过 U 盘传输模型并核对文件指纹的方法,还提供了您可以重复执行的网络隔离有效性测试。

作者: Mohamed Meguedmi·更新于 2026-09-30·已在 Windows、macOS 和 Linux 上测试

#何时值得采用物理隔离,何时代价过高

是否采用物理隔离(air-gap),应根据风险分析决定,而不是原则上一律采用。适合采用物理隔离的情况包括:涉密数据或受高度工业机密保护的数据;合同或行业要求明确规定必须使用隔离网络;已实行隔离、且LLM必须融入其中的环境;以及专门处理极其敏感案卷或研究资料的工作站(例如律师或研究人员使用的工作站)。对于普通个人数据,包括健康或财务数据,相关法规要求采取与风险相称的措施,而不是完全隔离:在加密工作站上运行本地LLM,不使用云端账户,已能满足大多数需求。企业本地AI指南和隐私检查清单涵盖了这一中间层级的防护措施。

!
真实成本
每次更新、每个模型、每份文档都要通过物理介质传输,并遵循操作规程。从不更新的物理隔离机器会积累漏洞;操作规程过于繁琐,最终会让用户绕过它。请预先安排由谁负责传输、多久传输一次,以及如何核验。

开始之前,请先问自己三个问题。谁负责传输,多久传输一次?这套技术栈要求更新哪些组件(Ollama、llama.cpp、界面、模型)?如果有一天某个更新的模型变得不可或缺,该怎么办?整个流程必须无需破例也能切实执行,因为破例一次就会变成惯例。如果您无法回答这三个问题,请先为每种用途各配置一台带有严格防火墙的离线工作站,只有当风险确实需要时,才提高隔离级别。

#物理隔离(air-gap)、近似物理隔离与防火墙:不要混淆

企业本地 AI 套件

在工作场所部署本地 AI:GDPR、AI 法案、多用户架构、成本、供管理层参考的说明材料。

  • 在线空间,终身可用
  • PDF + 文件
  • 30 天内退款
三个隔离级别
级别这是什么仍能做什么
使用时保持离线的机器没有活动连接,但网卡仍然存在因误操作或软件而重新联网;一切取决于是否严格遵守操作规范
严格防火墙(默认拒绝,包括出站流量)阻止出站流量的软件配置一条“试试看”而添加的规则、一个系统漏洞、一个绕过限制的服务
物理隔离未启用任何网络接口:无网线,Wi-Fi 和蓝牙在固件中关闭或已移除通过可移动存储设备的泄漏;物理通道(超出本指南范围)

本指南涵盖这三种方式:防火墙是所有处理敏感信息的工作站都应具备的最低防护层,物理断网隔离则是更高一级的防护。在 Mac 上,macOS 特有的设置见 Apple 芯片 Mac 优化指南;在 Windows 下,原则相同,但对发起外部连接的组件的控制不如精简 Linux 系统细致,因此本指南优先推荐 Linux。

#准备机器

最小系统
推理服务器采用不带图形界面的 Debian 或 Ubuntu Server。不安装浏览器,也不安装连接应用商店的软件包管理器。
自动更新服务
禁用更新定时器,例如 sudo systemctl disable --now apt-daily.timer apt-daily-upgrade.timer,以免在您不知情的情况下发起任何连接尝试。
账户
为LLM使用专门的账户,sudo权限仅授予管理员。
无线通信模块与接口
在 BIOS 或固件中禁用 Wi-Fi 和蓝牙;更好的是,机器根本不配备这些无线硬件。不接网线。
不使用双系统启动
同一机器上另有一个可联网的分区,会形成间接通道(交换文件、共享文件)。
时间
手动设置系统时间,或通过内部时间源校准:与公共时间服务器同步会产生出站流量。
加密硬盘
隔离的计算机也可能被盗或被扣押:请加密磁盘(参见专题指南)。

#LLM 软件栈中默认会向外部发起网络请求的软件

对于物理隔离的机器,这些调用会失败,但不会造成损害;对于仅靠防火墙隔离或尚未断网的机器,它们才是真正的风险。典型的本地技术栈包含多个组件,如果不加以阻止,它们就会连接互联网。以下是官方文档说明可以关闭的组件。

与外界通信的组件及其开关
组件它可能执行的操作文档中说明的设置
Ollama托管模型与网页搜索(Ollama 云)OLLAMA_NO_CLOUD=1 或在 ~/.ollama/server.json 中设置 disable_ollama_cloud;日志将显示 « Ollama cloud disabled: true »
Ollama (网络暴露)本地HTTP服务器默认监听 127.0.0.1;只有用于隔离的内部网络时,才可修改 OLLAMA_HOST
Open WebUI更新检查、从 Hugging Face 下载嵌入模型OFFLINE_MODE=true(同时禁用 ENABLE_VERSION_UPDATE_CHECK);请事先下载嵌入模型
Hugging Face 库(transformers、sentence-transformers)调用 Hub 以验证或下载HF_HUB_OFFLINE=1:不向 Hub 发起任何 HTTP 请求,仅使用缓存中的文件
向量数据库可能的遥测数据Weaviate:DISABLE_TELEMETRY=true;请检查每个组件的对应选项

Ollama 的文档明确指出,在本地使用 Ollama 时,软件开发方看不到请求或数据;禁用云端功能后,将无法访问托管模型和网页搜索,而这正是要达到的目的。请注意 Open WebUI:其文档警告,如果在启用 OFFLINE_MODE 之前没有下载嵌入模型,RAG、网页搜索和文档分析功能可能无法运行。请在断开机器的网络连接之前,下载好它所需的一切。

→
工具、智能体和网页搜索
连接了工具(网络搜索、URL 读取工具、远程 MCP 服务器)的本地大语言模型本身也可能向外部发出请求。在隔离的机器上,请禁用这些工具,或不要安装它们:访问外部网络的不是模型本身,而是提供给模型的工具。

#严格的防火墙策略:入站和出站流量均默认拒绝

防火墙是物理断开连接之后的第二道防线,也是设备仍连接内部网络时唯一的防护措施。原则是默认拒绝双向流量,仅明确允许少量通往隔离内部网络的连接。请先编写允许规则,再启用防火墙,否则会切断您自己的 SSH 会话。

ufw:默认拒绝,允许内部网络访问
sudo ufw default deny incoming
sudo ufw default deny outgoing

# Réseau interne isolé (exemple), y compris l'administration SSH depuis un poste connu
sudo ufw allow in from 192.168.50.0/24 to any port 22 proto tcp
sudo ufw allow out to 192.168.50.0/24

sudo ufw enable
sudo ufw status verbose

本地接口(环回)流量对Ollama和Open WebUI的正常运行至关重要,二者通过127.0.0.1通信;请使用ufw status verbose检查您的配置是否阻止了该流量。如果设备位于内部局域网中,请在路由器侧增加防护:确保该VLAN无通往互联网的路由。

#检查 Ollama 的监听设置

监听端口
sudo ss -tlnp | grep ollama
# attendu : 127.0.0.1:11434 et non 0.0.0.0:11434
# si 0.0.0.0 : régler OLLAMA_HOST=127.0.0.1:11434

#通过 U 盘传输模型和更新

一台与外界隔离的机器需要接收模型(几 GB 到几十 GB)、更新(Ollama、llama.cpp、Open WebUI),有时还会接收文档。关键在于 U 盘:它是唯一的入口,因此也是恶意软件进入的唯一途径。始终使用同一个专用 U 盘,定期格式化,绝不要使用曾用于其他用途的 U 盘。

  1. 01
    在联网的电脑上下载
    从 Hugging Face 下载模型的 GGUF 文件,或从官方网站获取更新用的二进制文件。如果来源页面提供了 SHA-256 校验值,请将其记录下来。
  2. 02
    计算文件哈希值并扫描
    对文件运行 sha256sum,然后在这台中转机器上使用杀毒软件(例如 ClamAV)扫描文件;这台机器并不是隔离机器。
  3. 03
    复制到U盘
    复制文件并复制一个包含其指纹的文本文件。
  4. 04
    使用前在隔离机器上验证
    在隔离设备上重新计算哈希值:必须与原始值一致。若存在差异,说明文件被修改或损坏:请勿使用。
  5. 05
    导入到 Ollama
    创建一个 Modelfile,其中包含 FROM /chemin/vers/modele.gguf,然后执行 ollama create nom-du-modele -f Modelfile。Ollama 不会在导入时对 GGUF 文件进行量化:文件必须事先采用所需的量化方式。
模型指纹与导入
# machine de transit
sha256sum modele-q4_k_m.gguf > modele.sha256

# machine isolée
sha256sum -c modele.sha256
printf 'FROM ./modele-q4_k_m.gguf\n' > Modelfile
ollama create mon-modele -f Modelfile
ollama run mon-modele

替代方法是将连接设备上的模型目录(包括blobs和manifests)完整复制到隔离设备上。该方法可行,但模型目录位置因安装环境而异:Ollama的常见问题解答中指出,在macOS上为~/.ollama/models,Linux标准安装器下为/usr/share/ollama/.ollama/models,Windows下为C:\Users\%username%\.ollama\models。通过单独的GGUF文件传输更易于验证,因为只需比对单一哈希值。GGUF导入指南详细说明了Modelfile的使用。

#加固 USB 端口安全

U 盘可以伪装成键盘或其他外设。在 Linux 上,USBGuard 可以用一句话概括为 USB 设备白名单工具:它规定允许哪些类型的设备接入,以及这些设备可以如何与系统交互。还应禁用存储介质的自动挂载,确保插入时不会执行任何内容。在高度敏感的场景中,可以用数据二极管(一种只允许数据单向传输的设备)替代 U 盘,但部署起来更复杂。

#测试隔离是否严密

一次测试只能证明观测期间的网络隔离有效:每次更新后都应重新测试,并在整个工作会话期间持续抓包。最低限度的测试流程应涵盖正常运行、无路由、无名称解析以及实际网络流量。

离线运行
拔掉电缆并关闭所有无线通信功能,然后运行完整流程(模型、RAG、界面)。所有功能都应正常运行;否则,就说明某个组件依赖互联网。
无路由
ping -c 1 8.8.8.8 命令应失败(提示「Network is unreachable」或类似信息)
无 DNS
host exemple.org 应失败;请检查 /etc/resolv.conf:无外部服务器。
连接已建立
sudo ss -tunp state established : aucune connexion vers une adresse hors du réseau interne.
真实流量
使用tcpdump对所有接口抓包,并排除内部网络流量;在整个使用会话期间,抓包结果应始终为空。
控制台截图
# rien ne doit apparaître (hors loopback et réseau interne)
sudo tcpdump -i any -n 'not (host 127.0.0.1 or host ::1) and not (net 192.168.50.0/24)'

#定期审计

建议的检查频率
频率控制目标
每月ufw status verbose 和规则列表;ss -tlnp识别添加的「用于测试」规则
每次传输密钥前后指纹;病毒扫描分析检测已修改的文件
每次组件更新时重新运行网络隔离测试,并复查离线相关变量新组件可能会增加一次对外网络调用
每半年或每年一次使用已验证的系统镜像进行全新安装;重新审视威胁清除长期积累的安全入侵影响

#关于 LLM 机器物理隔离(air-gap)的常见问题

FAQ
仅靠出站防火墙就能称为物理隔离(air-gap)吗?+
不够。防火墙是一种软件配置:一条遗漏的规则、一个漏洞,或一个绕过防火墙的服务,就足以让对外连接畅通。物理隔离要求不存在任何物理网络连接。防火墙仍然是一道良好的第二道防线;当机器必须留在内部网络上时,它就是唯一的保护措施。
如何在无互联网的机器上更新 Ollama?+
在联网的机器上从官方来源下载程序,计算其哈希值,对程序进行分析,然后将其复制到专用 U 盘。在隔离的机器上,安装前重新计算哈希值,再手动安装。随后重新运行隔离有效性测试,并确认云端功能仍处于禁用状态。
如何将模型传输到隔离的设备上?+
最简单的方法是使用已经量化的GGUF文件:下载文件,计算其SHA-256哈希值,将其复制到U盘上,在隔离机器上重新计算哈希值,然后使用Modelfile和ollama create创建模型。复制模型文件夹也可行,但其位置因系统而异。
Ollama会将我的请求发送到外部吗?+
根据 Ollama 的文档,本地运行不会将请求或数据发送给软件开发商。云端功能(托管模型、网页搜索)是可选的,可通过 OLLAMA_NO_CLOUD=1 或 server.json 中的设置关闭。对于处理敏感信息的机器,请明确关闭这些功能,并检查日志中的相关消息。
U 盘是否是安全防护中的薄弱环节?+
这是唯一的入口,因此也是监控最严密的入口。请使用专用 U 盘,禁用自动挂载,对比传输前后的 SHA-256 指纹,并考虑使用 USBGuard,只允许预期的设备接入。如果相关约束足以支持采用数据二极管,它就是更优的解决方案。
已隔离的机器需要对磁盘进行加密吗?+
是的。网络隔离无法防止设备被盗或遭到扣押:未加密的磁盘一旦连接到其他设备,就能被读取。请加密系统磁盘,将恢复密钥保存在设备之外,对备份也遵循同样的加密和密钥保管原则。
这份指南对您有帮助吗?

有反馈、发现了错误,或想补充说明?请告诉我们,让这份指南对每个人都更有帮助。