Fedora/CentOS 上的静态路由

Fedora/CentOS 上的静态路由

我一直无法理解静态路由的工作原理。

长话短说,我有以下几点:

  1. 带有 CentOS7 VM 的 Fedora26 服务器。
  2. 主机IP:192.168.0.6分配给eth0
  3. 虚拟机 IP:192.168.122.205
  4. 主机也是vibr0上的192.168.122.1的网关IP

如果我ip route add 192.168.122.0/24 via 192.168.0.6 dev wlp3s0 这样做,我会得到:

PING 192.168.122.205 (192.168.122.205) 56(84) bytes of data.
From 192.168.122.1 icmp_seq=1 Destination Host Unreachable
From 192.168.122.1 icmp_seq=2 Destination Host Unreachable

这是来自 /etc/sysconfig/network-scripts 的路由脚本:

default 192.168.0.1 dev wlp3s0
192.168.122.1 via 192.168.0.15 dev wlp3s0
192.168.122.0/24 via 192.168.122.1 dev wlp3s0
192.168.100.0/24 via 192.168.0.20 dev wlp3s0

请注意,我尝试过有和没有第一个跳转的情况,第三行显示:192.168.122.0/24 via 192.168.0.6 dev wlp3s0

由于 vibr0 已配置为子网网关,因此两者之间的路由工作正常192.168.122.0/24。但是,我不知道如何让子网中的任何其他机器192.168.0.0/24连接到192.168.122.0/24该主机上的子网中的虚拟机。

我有一台运行 Fedora 的笔记本电脑,它的 IP 是192.168.0.16,我想连接到192.168.122.205另一台主机上的 VM。

我认为我需要添加默认路由,使用192.168.0.6作为网关192.168.122.0/24,但我没有成功这样做。

所以我想我的问题是:我需要做什么才能从 192.168.0.16 → 192.168.0.6(192.168.122.1)→ 192.168.122.205 建立连接?

单个接口可以位于两个子网中吗?那么,我的 wlp3s0 wifi 卡(192.168.0.16)是否也可以在 122 子网中分配一个 IP,或者这是否有必要?

感谢您的任何帮助。

答案1

您需要添加到 192.168.0.0/24 网络上的设备中的静态路由可能需要看起来像这样。

ip route add 192.168.122.0/24 via 192.168.0.6

请记住,Fedora26 可能也设置为允许路由(ip_forwarding),并且如果该系统上有任何防火墙规则,则可能需要添加其他规则。

一个接口可以位于两个子网吗?

是的,您可以将不同子网上的多个 IP 分配给系统中的单个接口。但这可能不是一个好主意。它通常会使事情变得更加复杂和奇怪。

相关内容