![下一跳地址可以与目标地址相同吗?](https://linux22.com/image/1410110/%E4%B8%8B%E4%B8%80%E8%B7%B3%E5%9C%B0%E5%9D%80%E5%8F%AF%E4%BB%A5%E4%B8%8E%E7%9B%AE%E6%A0%87%E5%9C%B0%E5%9D%80%E7%9B%B8%E5%90%8C%E5%90%97%EF%BC%9F.png)
例如,如果主机地址是 100.0.0.1,下一跳地址是 100.0.0.2,并且目标 IP 地址也是 100.0.0.2
这是一个有效的用例吗?有实际用途吗?
<dest ip> <next hop>
ip route 100.0.0.2 255.255.255.255 100.0.0.2 weight 1 next-hop-vrf GlobalRouter
以上是 VRF 内路由器上的命令。100.0.0.2 可以从主机 ping 通。100.0.0.1 和 100.0.0.2 分别是分配给主机和目标上的 VLAN 的 IP 地址。
在Linux机器上,这样的配置是有效的。
[root]# netstat -r -n
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
55.55.55.55 55.55.55.55 255.255.255.255 UGH 0 0 0 eth0
[root]# ip route show
55.55.55.55 via 55.55.55.55 dev eth0
根据我的理解,如果目标 IP 可访问(即在主机 IP 的同一子网中),我们就不需要下一跳。
我遇到了一个使用同一子网中目标 IP 的下一跳的应用程序(即用于 VPN),请参见:发送到同一子网的数据包会经过路由器吗?
如果下一跳 != 目标 IP 但它们与主机位于同一子网中,则对于 VPN 来说这是一个有效的场景,那么我想知道 next_hop==dest_ip 和子网与主机相同的应用是什么?
这是我在 Super User 上的第一篇帖子。非常高兴收到如此快速而热情的回复。
答案1
我不知道你使用的是什么 ip 命令,但下一跳当然可以是目的地。最后一跳总是会发生这种情况。
如果您想要一个更接近的例子,您通常可以通过访问路由器的 IP(如 192.168.1.1)来配置路由器。在这种情况下,下一跳是目的地,并且只有一个跳。