Ubuntu 多网卡安全路由配置(SSH 不断线版)

Ubuntu 多网卡路由配置笔记(内网 + 外网同时通)(SSH断线版)文章浏览阅读386次,点赞4次,收藏5次。本文介绍了Ubuntu 如何配置双网卡设备的路由规则,使默认流量走外网(192.168.2.0/24)的同时保留内网(192.168.1.0/24)访问能力。通过强制覆盖路由命令(ip router replace)分别设置内网和外网路由,并提供了Ubuntu 24.04下通过rc.local实现开机自启的配置方法。文章包含路由测试指令和两种开机启动方案(推荐rc.local方式),强调该方案能保障SSH连接不中断,且灵活易管理。所有操作均基于作者使用随身WiFi(LTE无线路由器)作为外网的场景。https://blog.csdn.net/qq_35086097/article/details/148685880

此文章前提

场景说明

设备有两个网卡:

  • eh0:连接 内网(192.168.1.0/24);

  • MAC001001001:连接 外网(192.168.2.0/24,例如随身WiFi);


目标

  • 默认流量走外网;

  • 保留内网访问(如通过 192.168.1.1 访问路由器);

  • SSH 不中断(即使你通过内网登录);

  • 重启后自动恢复配置。


查看当前路由

bash 复制代码
ip route show

正确的路由配置(SSH 不断线)

1. 设置内网路由(直连,不能用 via)

bash 复制代码
sudo ip route replace 192.168.1.0/24 dev eh0 proto kernel scope link src $(ip -4 addr show dev eh0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}')

自动获取当前 IP,避免硬编码,确保不影响 SSH。

2. 设置默认路由走外网

bash 复制代码
sudo ip route replace default via 192.168.2.1 dev MAC001001001 metric 100

3. 查看/设置优先级

查看优先级命令:

bash 复制代码
ip route show

不断开SSH 设置优先级

bash 复制代码
sudo ip route replace 192.168.1.0/24 dev eh0 proto kernel scope link src 192.168.1.188
sudo ip route replace default via 192.168.1.1 dev eh0  metric 200
sudo ip route replace default via 192.168.2.1 dev Mac00101010101 metric 100

验证路由状态

bash 复制代码
ip route show | grep -E '192\.168\.1\.0|default'

示例输出:

bash 复制代码
default via 192.168.2.1 dev MAC001001001 metric 100
# 你的IP==192.168.1.188  
192.168.1.0/24 dev eh0 proto kernel scope link src 192.168.1.188

测试网络连通性

bash 复制代码
ping -c4 192.168.1.1           # 测试内网
ping -c4 8.8.8.8               # 测试外网
curl http://www.baidu.com      # 测试 DNS + HTTP

🔁 设置开机自动生效(Ubuntu 24.04)

Ubuntu 24.04 默认禁用 rc.local,需要手动启用。

1. 创建 /etc/rc.local

bash 复制代码
sudo nano /etc/rc.local

写入:

bash 复制代码
#!/bin/bash
​
IP=$(ip -4 addr show dev eh0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}')
ip route replace 192.168.1.0/24 dev eh0 proto kernel scope link src $IP
ip route replace default via 192.168.2.1 dev MAC001001001 metric 100
exit 0

2. 设置权限

bash 复制代码
sudo chmod +x /etc/rc.local

3. 创建 Systemd 服务

bash 复制代码
sudo nano /etc/systemd/system/rc-local.service

内容如下:

bash 复制代码
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
​
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
​
[Install]
WantedBy=multi-user.target

4. 启用并启动服务

bash 复制代码
sudo systemctl enable rc-local
sudo systemctl start rc-local
sudo systemctl status rc-local

不推荐方式:Netplan / NetworkManager

  • 多默认网关配置复杂,易冲突;

  • 推荐使用 rc.local 灵活管理路由。


总结表

功能 命令示例或描述
默认走外网 default via 192.168.2.1 dev MAC001001001 metric 100
保留内网访问 192.168.1.0/24 dev eh0 proto kernel scope link src 当前IP(自动获取)
防止 SSH 断线 不使用 via 设置内网段
开机自动恢复 使用 /etc/rc.local + systemd 启动

🧩 附加建议

如果上一篇你已经设置了,导致了SSH连接不上,用下面的脚本尝试恢复

bash 复制代码
sudo ip route replace 192.168.1.0/24 dev en0 proto kernel scope link src 192.168.1.188

如果你担心误操作路由导致 SSH 断线,可以使用自动恢复脚本:

自动恢复网络路由配置的安全脚本说明https://blog.csdn.net/qq_35086097/article/details/148761528


全文都是自己的亲测,可用!!!

设备:LTE无线路由器、一台服务器,系统为Ubuntu(24.04)、一个无线网卡

情况:我自己手机开热点啥的完全可以实现自动连接,但是随身wifi不行 (LTE无线路由器),可能自己配置DHCP之类的吧。配置之后就可以上网了

以上只是配置路由表,如果发现连上了但是上不了外网 请用

bash 复制代码
ip route show 

检查是否是路由表的优先级(metric )是否有问题!!!!

一定是内网的metric 要比外网的metric 要大 (优先级越大 越靠后,没有就是0)

bash 复制代码
sudo ip route replace 192.168.1.0/24 dev eh0 proto kernel scope link src 192.168.1.188
sudo ip route replace default via 192.168.1.1 dev eh0  metric 200
sudo ip route replace default via 192.168.2.1 dev Mac00101010101 metric 100

相关推荐
encoderlee16 小时前
ubuntu server 如何播放视频显示网页
linux·ubuntu·音视频·树莓派·ubuntu server·arm嵌入式
FPGA小徐16 小时前
Ubuntu 22.04 安装 Miniconda、PyTorch 与 YOLOv8 并完成 CPU 推理
pytorch·yolo·ubuntu
wdfk_prog17 小时前
Wi-Fi Direct 教程 05:control socket 与 eloop——P2P_FIND 怎样进入 wpa_supplicant 命令解析器
运维·服务器·后端·网络协议·ubuntu·p2p·wifi-direct
ZMacros17 小时前
Live-build方法构建debian和ubuntu
linux·ubuntu·debian
GEO实战经验分享17 小时前
LLM-First Search可复现性:环境、任务、版本与假设缺一不可
大数据·人工智能·安全·chatgpt
Julien200417 小时前
CGroups 资源控制组
linux·运维·服务器·ssh·学习方法
光依旧18 小时前
MCP实战手记(九):生产化MCP Server的6层安全防护
java·人工智能·spring boot·安全·网络安全·ai agent·mcp
其实防守也摸鱼1 天前
Fastjson 反序列化漏洞(JNDI注入)
android·数据库·安全·oracle·自动化·fastjson·反序列化
泛联新安1 天前
软件定义汽车时代,如何让AI研发“可信”?——泛联新安构建汽车企业级可信AI体系的落地路径
大数据·人工智能·安全·网络安全·汽车·漏洞挖掘·代码安全
域智盾软件分享1 天前
电脑文件加密软件实战部署:从试点到全业务落地完整教程
其他·安全