我无法创建静态 IP 路由。错误提示:RTNETLINK 答案:网络无法访问

我无法创建静态 IP 路由。错误提示:RTNETLINK 答案:网络无法访问

我正在尝试用虚拟机设置一个测试网络来练习静态路由的工作原理,所以我想到要做的是设置两个内部网络和一个带有两个接口的盒子作为路由器,这里是使用 IP 的设置:

在此处输入图片描述

我在每个框中配置了静态 IP,并且还添加了默认网关,对于 vm-client-1 为适配器 1,对于 vm-client-2 为适配器 2。

现在,我处于创建 IP 路由的最后一步,我在 vm-client-1 中执行:

sudo ip route add 192.168.102.0/24 via 192.168.101.1 dev enp0s3

我得到以下错误作为输出:

RTNETLINK answers: Network is unreachable.

笔记:我清除了所有 iptables 规则,iptables -F这样防火墙就不是问题了。此外,vm-client 可以 ping 192.168.102.1(vm-client-2 的网关),所以我不知道为什么它说网络无法访问,非常感谢您的帮助。

以下是vm-client-1的信息:

在此处输入图片描述

答案1

我看到了问题。

您正在尝试从 vm-client1 进行连接,该接口只有一个接口,连接网络 192.168.101.0/24,但您尝试在网络 192.168.102.0/24 上添加网关,但该网关实际上在此接口上不可用,因此您收到消息“网络不可达”。

请记住,任何网关(“via”字后面的 IP 地址)都必须能够直接在连接的接口上访问(而这不是您的情况)。

此外,没有必要在 vm-client1 上设置路由,因为一切都将转到负责路由的默认网关 vm-router。

实际上你只需要做一件事 - 启用 IP 转发(https://askubuntu.com/questions/311053/how-to-make-ip-forwarding-permanent) 在 vm-router 上,您的数据包将被自动转发。

在这种情况下,您不需要对默认路由进行任何更改。只需在 vm-router 上启用 IP 转发即可。

相关内容