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

相关推荐
yu_zhidun18 小时前
政务终端安全防护软件|政务内网终端安全整改项目实战复盘
安全·政务
冰水不凉18 小时前
CodeX 在 Ubuntu 下 vscode 插件的 bug 问题
vscode·ubuntu·bug
一只积极向上的小咸鱼1 天前
Codex Remote SSH / Dev Container 无限转圈与 GPT-6 可用问题排查总结
运维·gpt·ssh
三8441 天前
redis防御加固与安全基线
数据库·redis·安全·应急响应·防御
bwz999@88.com1 天前
Ubuntu Server 24.04 设置中文
linux·运维·ubuntu
乐迪信息1 天前
如何通过AI防爆摄像机精准判断船舶超速?
大数据·人工智能·算法·安全·目标跟踪
fly-971 天前
Ubuntu FTP/SFTP 报错:找不到匹配的 hostkey 算法 完整解决
linux·ubuntu
luiyarch1 天前
汽车电子ISO 26262功能安全系列(第35期):配置管理与变更管理——给安全系统装上“时空穿梭机”
安全·汽车
黎阳之光1 天前
数字孪生赋能全域水网,实现水资源管控与节水降碳双向提升
人工智能·物联网·算法·安全·数字孪生
福大大架构师每日一题1 天前
mediamtx v1.21.0 发布:Media-over-QUIC、RTSP、HLS、WebRTC 与安全能力全面升级
安全·webrtc