黑洞路由,便是将所有无关路由吸入其中,使它们有来无回的路由,一般是admin主动建立的路由条目。
提到黑洞路由就要提一下null0接口。
null0口是个永不down的口,一般用于管理,详见null0的词条
admin建立一个路由条目,将接到的某个源地址转向null0接口,这样对系统负载影响非常小。
如果同样的功能用ACL(地址访问控制列表)实现,则流量增大时CPU利用率会明显增加。
所以,设置黑洞路由一直是解决固定DOS攻击的最好办法。
相当于洪水来临时,在洪水途经的路上附近挖一个不见底的巨大深坑,然后将洪水引入其中。
黑洞路由最大的好处是充分利用了路由器的包转发能力,对系统负载影响非常小。
在路由器中配置路由黑洞完全是出于安全因素,设有黑洞的路由会默默地抛弃掉数据包而不指明原因。
一个黑洞路由器是指一个不支持PMTU且被配置为不发送“Destination Unreachable--目的不可达”回应消息的路由器。
可以这样看:
如果一个路由器不支持PMTU并且配置为不发送ICMP Destination Unreachable消息数据包,那么源主机可能发送一个永远得不到路由的大数据包。因为路由器没有给源主机发回应消息,主机不能确定PMTU就是问题的所在。但如果源主机端启用了PMTU,则源主机在重试几次大的MTU之后,如果还收不到路由器的应答,那源主机自动将PMTU设置为576bytes.
在Windows 2000下PMTU启用设置是---HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters
EnablePMTUBHDetect REG_DWORD 0(默认禁用)或1(启用)
在Windows XP下也可以试一下。
(NOTE:PMTU--Path Maximum Transfer Unit是指当一个要发送的数据包的大小与当前路径中的最小的MTU值一样)