您将要编辑承载您自己的会话的隧道,因此拯救您的工作发生在更改之前,而不是在更改之后的混乱期间。安全网不在 VPN 页面上:它是恢复屏幕、控制台或不穿过您正在编辑的设备的第二条路径。我将所有三个都计划在我要编辑的同一个路由器接口上,并且在一切仍然有效的情况下我使用该路径一次。这是我按顺序遵循的演练。

在需要之前执行恢复流程

打开将撤消您的更改的页面。在 pfSense 上,即“诊断”>“备份和恢复”;在 OpenWrt 上是“系统”>“备份/闪存固件”;在 OPNsense 上,它是“系统”>“配置”>“备份”,它还保留以前的修订版本,您可以在没有文件的情况下恢复到该版本。您还没有恢复任何内容。您正在检查该页面是否从更改期间的路径打开,是否需要在更改后重新启动,以及是否拒绝由不同固件版本写入的存档。 Netgate 记录了其自己的导出和恢复流程: docs.netgate.com。

恢复会交换整个配置,因此它不是撤消一条规则。该存档包含用户、证书、VPN 密钥、防火墙规则以及决定谁可以登录的管理界面设置。这就是为什么我在更改之前立即导出并使用日期和我想要更改的单个设置来命名该文件。恢复一个月前的文件也会恢复一个月前的隧道和一个月前的密钥。

如果平台仅加载同一版本的存档,请立即注意:固件升级加上一个窗口中的 VPN 编辑会让您保留路由器不会接受的文件。

证明一种跳过隧道的方法

从同一台笔记本电脑到同一公共地址的第二个 SSH 会话不是第二条路径;两人一起死去。独立路径是其中之一:串行或 KVM 控制台、虚拟机管理程序或云控制台、可从不在隧道后面的主机访问的管理 VLAN、具有自己的管理规则的第二个 WAN 或 LTE 调制解调器或现场人员。

在路由器正常的情况下测试所选路径。通过它登录,打开 VPN 页面,然后在保存之前停止。如果锁定规则只允许其到达仪表板,您仍然有时间修复该问题,并且更正必须位于规则顺序中的拒绝规则之上。

大多数路由器将管理服务绑定到接口或地址族,因此带外路由必须到达该服务侦听的位置。扩大窗口的绑定确实有效,但它本身就是对您所依赖的路径的更改。

导出文件并写入触发器

将导出从路由器和可能丢失隧道的计算机上移开。存储在路由器文件系统上的备份在您计划的故障中消失,而笔记本电脑上即将失去连接的备份也好不到哪儿去。

将该文件视为凭证。它保存私钥、预共享秘密、证书材料和密码散列,因此请像路由器登录一样小心地对其进行加密或存储。

然后写一句话:如果我在更改后的 N 分钟内无法从 PATH 打开新的管理会话,我将恢复 FILE 并重新启动。这句话将范围强制缩小到一个变量。一起提交的路由、DNS 和防火墙编辑可以快速保存,但当您再尝试一次时,会缓慢地一分为二。

在平台有的地方使用提交计时器

如果您未能确认,一些平台会为您撤消更改。在终端中使用 Ctrl+X 进入 RouterOS 安全模式,在会话断开时恢复该会话中所做的更改。 Junos 回滚已确认的未确认提交。 Cisco IOS 对重新加载并取消重新加载。企业防火墙通常使用自动恢复计时器来暂存待处理的更改。 OpenWrt 和大多数消费者固件没有等效的东西,因此计时器必须是外部的:计划的恢复、交换文件并重新启动服务的 cron 作业,或者重新启动到以前的配置。

不要假设名称相似的功能涵盖相同的范围。一款产品的自动恢复功能可能仅涵盖防火墙规则;另一个可能涵盖整个配置,包括您刚刚更改的管理规则以保持您自己可以访问。在依赖计时器之前,请先阅读计时器恢复的内容。

计时器不能替代导出的文件。它在最重要的情况下失败:会话存活,管理平面不存活,并且没有任何东西触发恢复。

测试全新的连接,而不是打开的连接

已建立的会话通常会继续进行阻止每次新握手的更改,因为它的状态已经存在并且在创建连接时评估策略。更改后,从远程端创建新连接:新的 SSH 会话、来自客户端的新 VPN 握手、到路由器 LAN 地址的正常页面加载。

# run these from the remote machine, in a new shell
ssh -o ConnectTimeout=8 admin@"$ROUTER_WAN"
nc -vz "$ROUTER_WAN" 443
dig +short example.internal "@$ROUTER_LAN"

然后测试隧道下游而不是隧道本身:名称解析、与内部服务的 TCP 连接以及您实际使用的应用程序。建立但未分发可用 DNS 的隧道在客户端状态中看起来正常,但在浏览器中看起来损坏,这种差异决定了您是恢复文件还是修复一条规则。

强制断开连接并重新连接后重复一次,如果平台在启动时重新应用状态,则在重新启动后再次重复。某些配置通过了每个实时测试,但在新规则到位后首次启动时失败。

关上为窗户打开的门

删除临时任意源管理规则、一次性帐户、扩大的绑定、宽松的 DNS 规则和调试日志记录。该删除本身就是对您所依赖的路径的更改,因此在删除之后从远程端重新运行新连接测试。

保留导出的文件,直到更改在重新启动和真正的客户端重新连接后仍然存在,然后在窗口打开时旋转您共享的任何内容。一种一直有效到下次启动的配置,正是一周后悄无声息丢掉路由器的隐蔽方式,而到那时没有人还记得哪条规则是临时性的。

写下下一个人查看的更改:移动的内容、哪个文件撤消它、到达控制台的路径以及哪个规则是临时的。

在打开 VPN 页面之前,必须存在四件事:您已经测试过的恢复流程、您已经证明的第二条路径、您实际可以访问的导出文件以及写入的触发器。如果有任何缺失,请先修复它。更改可以等待一个小时;封锁则不能。

相关文章