我正在运行 Fedora 22(内核 4.0.4),并尝试为自定义路由表添加默认路由,服务端由以太网接口 enp3s0 上的 vlan30 使用。
该 VLAN 有两个关联的 IP 地址,分别是:
192.168.129.66&192.168.129.67、/29 子网。
路由智能(ZyXel 110防火墙)中的vlan接口是:
192.168.129.65(与 NIC 地址位于同一子网上)
重新启动服务器后,我使用以下命令清除所有路由和规则:
ip 路由刷新缓存
ip 路由全部刷新
ip 规则刷新
所有规则和路线均被删除。
然后我添加一条路线:
ip 路由添加 192.168.129.64/29 dev vlan30 proto 静态范围全局 src 192.168.129.67 表 SERVINT
到目前为止,一切都很好。当我添加默认路由到 192.168.129.65 时,我得到了“RTNETLINK 回答:网络无法接通”,但默认路由在之前定义的路由的子网内。
我可以得到默认路由被接受的唯一方法是将其定义为 NIC 上的 IP 地址,然后它当然不会与路由智能对话,以进行进一步的路由......所以这也是失败的。
有人知道可能出了什么问题吗?
测试更新_25062015
如果我使用“主”表(表号 254)中路由的 VLAN 执行上述操作,则一切都正常工作,但是当我在自定义表(表号 200)上执行上述操作时,故障仍然一致,如上所述。
KERNEL 配置中有 CONFIG_IP_MULTIPLE_TABLES=y,因此应启用多个表和策略路由功能。自定义表定义在/etc/iproute2/rt_tables文件。
还有什么可以停止使用自定义路由表吗?
干杯,GM
答案1
我终于找到了这个特殊问题的原因 - 库存的 Fedora 22 Server 安装没有安装支持多路由表所需的一些文件。
缺少文件的软件包是“kernel-headers”、“kernel-devel”和“libnl3-devel”。如果没有这些软件包,fib_rules 模块将无法运行。