自动恢复网络路由配置的安全脚本说明

背景

两个文章 看了就明白
Ubuntu 多网卡路由配置笔记(内网 + 外网同时通

可能有问题,以防万一可以按照个来恢复

bash 复制代码
sudo ip route replace 192.168.1.0/24 dev eno8403 proto kernel scope link src <你的IP>

或者恢复脚本! 如下

误操作路由时,尤其是将内网路由改成 via,会导致 SSH 掉线,远程无法连接。

本脚本用于在后台自动延迟恢复正确的内网路由配置,保障远程连接安全。


脚本内容(auto_restore_route.sh)

bash 复制代码
#!/bin/bash

# 延迟时间(秒)
DELAY=60

# 内网网卡名称
NET_IF="eh0"

echo "[INFO] Auto route restore will run in $DELAY seconds..."
sleep "$DELAY"

# 获取当前 IP
IP_ADDR=$(ip -4 addr show "$NET_IF" | grep -oP '(?<=inet\s)\d+(\.\d+){3}')

if [ -z "$IP_ADDR" ]; then
  echo "[ERROR] Failed to get IP for interface $NET_IF"
  exit 1
fi

echo "[INFO] Restoring route: ip route replace 192.168.1.0/24 dev $NET_IF proto kernel scope link src $IP_ADDR"
ip route replace 192.168.1.0/24 dev "$NET_IF" proto kernel scope link src "$IP_ADDR"

echo "[INFO] Route restored at $(date) with source IP: $IP_ADDR"

使用方法

  1. 保存脚本为 /usr/local/bin/auto_restore_route.sh,并赋予执行权限:
bash 复制代码
sudo chmod +x /usr/local/bin/auto_restore_route.sh
  1. 在准备执行风险命令前,在另一个 SSH 窗口启动该脚本:
bash 复制代码
nohup /usr/local/bin/auto_restore_route.sh &
  1. 之后你可以尝试修改路由命令,比如:
bash 复制代码
sudo ip route replace 192.168.1.0/24 via 192.168.1.1 dev eh0
  1. 如果因断线导致 SSH 失联,等待脚本自动恢复后即可重新连接。

可结合 systemd 或 cron 实现开机自动恢复

相关推荐
未济16 小时前
linux 配置环境变量
linux
傲世仙尊16 小时前
目录即文件-Ext文件系统收尾篇
linux·c语言
虎头金猫16 小时前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
_艾伦 耶格尔.18 小时前
进程间通信
linux
Liuqy-0518 小时前
Linux IO编程——静态库、动态库
linux
wuyk55518 小时前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
彧azz19 小时前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
-梅19 小时前
linux(8) 软硬链接
linux·运维·服务器
AIgorithmGEEK19 小时前
[Linux]线程三部曲(上):一个执行流的诞生——从操作系统一路拆到 pthread_create
linux·线程·pid
琥珀色糖20 小时前
SimlpeHttp
linux·服务器