You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu双网卡配置LAN访问与代理上网的路由问题求助

Ubuntu双网卡配置LAN访问与代理上网的路由问题求助

嘿,我看你折腾双网卡路由已经走了好几个步骤了,最后卡在LAN机器没法SSH到服务器的问题上,这其实是典型的反向路由不匹配导致的,我给你梳理一套完整的解决方案,应该能彻底解决问题:

首先先明确咱们的核心需求:

  • ens3(LAN网卡):负责和192.168.100.0/24网段通信,允许LAN内机器访问服务器
  • ens8(上网网卡):负责所有互联网流量,包括apt更新/安装

一、先修复当前的路由混乱问题

首先咱们先把现有的混乱路由清理掉,重新设置基础路由:

  1. 删除两条默认路由:
sudo ip route del default via 10.100.0.1 dev ens8
sudo ip route del default via 192.168.100.1 dev ens3
  1. 只给ens8设置默认路由(优先级更高,负责所有互联网流量):
sudo ip route add default via 10.100.0.1 dev ens8 metric 100
  1. 给ens3设置仅针对LAN网段的路由(不需要默认路由,避免冲突):
sudo ip route add 192.168.100.0/24 dev ens3 proto kernel scope link src 192.168.100.10

(注意:你之前的路由里ens3的src写成了192.168.0.10,应该是笔误,要改成192.168.100.10)


二、解决反向路由问题(这是LAN机器没法SSH的关键!)

现在服务器能ping通LAN和互联网,但LAN机器发过来的SSH请求,服务器处理后会走默认路由从ens8返回,导致LAN机器收不到响应。咱们需要加策略路由,让来自LAN网段的流量强制走ens3回程:

  1. 新建一个专门的路由表(比如叫lan_table):
echo "100 lan_table" | sudo tee -a /etc/iproute2/rt_tables
  1. 给这个路由表添加LAN相关的路由规则:
sudo ip route add 192.168.100.0/24 dev ens3 src 192.168.100.10 table lan_table
sudo ip route add default via 192.168.100.1 dev ens3 table lan_table
  1. 添加规则,让来自LAN网段的流量使用这个专用路由表:
sudo ip rule add from 192.168.100.0/24 table lan_table
sudo ip rule add to 192.168.100.0/24 table lan_table

三、把配置保存下来,避免重启失效

Ubuntu现在默认用netplan管理网络,咱们把配置写到netplan文件里,重启后自动生效:

  1. 编辑netplan配置文件(文件名可能不同,用ls /etc/netplan查看):
sudo nano /etc/netplan/00-installer-config.yaml
  1. 替换成以下内容(注意根据你的实际网卡名和IP调整):
network:
  ethernets:
    ens3:
      addresses: [192.168.100.10/24]
      routes:
        - to: 192.168.100.0/24
          via: 192.168.100.1
          table: 100
        - to: 0.0.0.0/0
          via: 192.168.100.1
          table: 100
      routing-policy:
        - from: 192.168.100.0/24
          table: 100
        - to: 192.168.100.0/24
          table: 100
    ens8:
      addresses: [10.100.0.10/24]
      routes:
        - to: 0.0.0.0/0
          via: 10.100.0.1
          metric: 100
  version: 2
  1. 应用配置:
sudo netplan apply

四、验证配置是否生效

执行以下命令检查:

  • 查看主路由表:ip route show
  • 查看LAN专用路由表:ip route show table lan_table
  • 查看路由规则:ip rule show

然后测试所有场景:

  1. 服务器ping互联网(比如ping google.com),确保能上网
  2. 服务器ping LAN内的机器,确保能通
  3. 从LAN内的机器SSH到服务器的192.168.100.10,确保能连接

备注:内容来源于stack exchange,提问作者chenoi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 16:19:31