由于存在 MITM 攻击的可能性,应该阻止 ICMP 重定向消息。但是,ICMP 重定向消息的最初目的是通知主机更好的路由器(或网关)。
那么,在主机上禁用 ICMP 重定向消息是否存在速度问题?还是可以忽略不计?
由于存在 MITM 攻击的可能性,应该阻止 ICMP 重定向消息。但是,ICMP 重定向消息的最初目的是通知主机更好的路由器(或网关)。
那么,在主机上禁用 ICMP 重定向消息是否存在速度问题?还是可以忽略不计?
ICMP重新定向,当你有一个主机或路由器是最经常看到A
在同一子网与其他两个路由器B
与C
和连接到两个。考虑以下网络:
|__192.168.1.0/24__|
| | |
|
| |___192.168.8.0/24__|
| | | |
B C
|____|_____|____|
| | |
A
A
将有一条指向 的路线(很可能是默认路线)B
,B
并将有一条192.168.8.0/24
指向的更具体的路线C
。
如果没有 ICMP 重定向,所有来自A
to 的流量都192.168.8.0/24
将被路由A->B->C
随着ICMP重新启用直接,B
将通知A
该C
是一个更好的下一跳和随后的流量会被分配A->C
。
显然 B 是一个额外的跃点,根据它是什么类型的盒子,它可能会引入额外的延迟。
禁用 ICMP 重定向并重新设计网络以完全避免这种情况将是首选解决方案,例如:
|__192.168.1.0/24__|
| | |
|
| |___192.168.8.0/24__|
| | | |
B-----C
|____|__________|
| | |
A
(或C
完全删除并直接挂起 192.168.8.0/24 B
)。
ICMP 重定向是信任时代的残余——部分原因是联网机器有管理员,而 BYOD 是不可想象的。
忽略客户端上的重定向意味着它将继续通过效率较低的网关发送。这将导致该路由器进行不必要的工作,并导致其接口上出现不必要的流量,从而略微降低使用该网关的每个人的性能。
它还会增加客户端的延迟,因为每个数据包都必须多走一跳。
但是,在一般情况下,在现代网络上,这些“成本”都可以忽略不计。
解决问题的理想方法是在客户端上添加路由以使用正确的网关。ICMP 重定向提供了一种自动发生的方式,但可能不应该被信任 - 但它们仍然是存在更好路由的线索,并且记录它们允许人们考虑进行这样的更改,也许在咨询网络管理员之后。
重新设计网络可能是错误的做法。