在典型的 Cisco 路由器中,可以从路由器的操作系统 ping 主机。当 ping 数据包通过 fa0/0 接口离开路由器(称为 R1)时,它会将该数据包的源 IP 设置为 fa0/0 的 IP,对吗?
是否可以指定我希望 ping 数据包经过的 R1 接口?不同的接口 = 不同的源 IP。
我知道通常只有一条路可以到达目的地,但还是不行。我甚至不确定这是否可行,因为我们需要以某种方式让路由器忽略其路由表 - 只是因为路由表为路由器提供了将数据包发送到何处的确切信息,所以表中不能有两个具有相同优先级的“匹配”条目。
答案1
假设您有两个接口:
Fa0/0: 192.168.0.1/24
Fa0/1: 10.0.0.1/8
目的地(您要 ping 的对象)是 5.5.5.5,出口接口默认为 Fa0/0。您可以添加静态路由:
ip route 5.5.5.5 255.255.255.255 Fa0/1
现在,如果您 ping 5.5.5.5,它将通过您的 Fa0/1 接口传出。
答案2
你可以设置ping的源,但方向由路由器中配置的路由表和规则决定。
您可以使用 PBR 来覆盖路由表,但这会影响路由速度,因为它必须在软件中完成。此外,它无法扩展,并且最终可能会出现路由循环。
答案3
您可以使用另一个用户提到的扩展 ping,也可以在 ping 命令中像这样指定它:
ping 源
例如:ping 172.16.0.1 源 gi5/2 或 ping 172.16.0.1 源 172.16.200.1