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

Ubuntu 22.04无法创建并使用自定义路由表问题求助

Ubuntu 22.04无法创建并使用自定义路由表问题求助

我的问题描述:

我正在使用Ubuntu 22.04(内核版本5.15.0),尝试创建自定义路由表但遇到了问题,具体操作步骤和错误如下:

  1. 编辑路由表配置文件,添加自定义表rt2:
$ sudo cat /etc/iproute2/rt_tables
#
# reserved values
#
255 local
254 main
253 default
0   unspec
#
# local
#
1   rt2
  1. 重启系统确保新表被全局识别
  2. 添加路由规则:
$ sudo ip rule add from 10.0.99.0/24 table rt2
  1. 尝试查看自定义路由表内容时出现错误:
$ sudo ip route show table rt2
Error: ipv4: FIB table does not exist.
Dump terminated

有没有大佬知道我哪里操作错了?


可能的原因及解决办法:

你遇到的问题核心在于自定义路由表还没有被系统初始化(没有对应的FIB表)——系统只会在你第一次往自定义表中添加路由条目时,才会创建对应的FIB表,而你目前只添加了路由规则,没有给rt2表添加任何路由,所以才会报错。

按照下面的步骤调整操作即可解决:

  1. (可选)其实修改/etc/iproute2/rt_tables后不需要重启系统,直接执行以下命令刷新路由缓存,就能让系统识别新表:
sudo ip route flush cache
sudo ip rule flush cache
  1. 先给rt2表添加至少一条路由条目(这里以添加默认路由为例,你需要根据自己的网络环境替换网关地址10.0.99.1):
sudo ip route add 0.0.0.0/0 via 10.0.99.1 table rt2

如果是针对特定网段的路由,也可以这样写:

sudo ip route add 192.168.100.0/24 via 10.0.99.1 table rt2
  1. 之后再添加路由规则(如果之前已经添加过可以跳过这一步):
sudo ip rule add from 10.0.99.0/24 table rt2
  1. 现在再查看rt2表的内容就不会报错了:
sudo ip route show table rt2

另外补充一点:如果希望这些配置重启后依然生效,需要把路由和规则写入开机启动脚本或者对应的网络配置文件(比如/etc/network/interfaces或者Netplan配置,取决于你当前使用的网络管理工具)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 13:29:03