背景
兩個文章 看了就明白
Ubuntu 多網卡路由配置筆記(內網 + 外網同時通
可能有問題,以防萬一可以按照個來恢復
sudo ip route replace 192.168.1.0/24 dev eno8403 proto kernel scope link src <你的IP>
或者恢復腳本! 如下
誤操作路由時,尤其是將內網路由改成 via
,會導致 SSH 掉線,遠程無法連接。
本腳本用于在后臺自動延遲恢復正確的內網路由配置,保障遠程連接安全。
腳本內容(auto_restore_route.sh)
#!/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" ]; thenecho "[ERROR] Failed to get IP for interface $NET_IF"exit 1
fiecho "[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"
使用方法
- 保存腳本為
/usr/local/bin/auto_restore_route.sh
,并賦予執行權限:
sudo chmod +x /usr/local/bin/auto_restore_route.sh
- 在準備執行風險命令前,在另一個 SSH 窗口啟動該腳本:
nohup /usr/local/bin/auto_restore_route.sh &
- 之后你可以嘗試修改路由命令,比如:
sudo ip route replace 192.168.1.0/24 via 192.168.1.1 dev eh0
- 如果因斷線導致 SSH 失聯,等待腳本自動恢復后即可重新連接。
可結合 systemd 或 cron 實現開機自動恢復