我有一个私有网络,有少数
Linux路由器通过OSPF共享所有路由.如何黑洞我没有路由的专用网络范围?
换句话说,我想确保我永远不会将10.0.0.0 / 8,172.16.0.0 / 12或192.168.0.0/24路由到默认网关.我不能只为这些网络创建静态接收器(黑洞)路由,因为其中一个私有范围内的网络可能会通过OSPF进行通告.
我可以使用netfilter来删除默认GW连接接口的所有流量,如果它在私有范围内,但我认为iproute2 / linux可能有一个更简单或更“正确”的解决方案.
解决方法
ip route add blackhole 10.0.0.0/8 ip route add blackhole 172.16.0.0/12 ip route add blackhole 192.168.0.0/16
由于更多特定路由始终优先,因此通过OSPF通告的任何范围将优先于黑洞路由.
思科:
router>sh ip route Codes: C - connected,S - static,R - RIP,M - mobile,B - BGP D - EIGRP,EX - EIGRP external,O - OSPF,IA - OSPF inter area N1 - OSPF NSSA external type 1,N2 - OSPF NSSA external type 2 E1 - OSPF external type 1,E2 - OSPF external type 2 i - IS-IS,su - IS-IS summary,L1 - IS-IS level-1,L2 - IS-IS level-2 ia - IS-IS inter area,* - candidate default,U - per-user static route o - ODR,P - periodic downloaded static route Gateway of last resort is 0.0.0.0 to network 0.0.0.0 xx.0.0.0/32 is subnetted,2 subnets C xx.xx.xx.192 is directly connected,Dialer0 C xx.xx.xx.1 is directly connected,Dialer0 10.0.0.0/8 is variably subnetted,2 subnets,2 masks C 10.10.0.0/30 is directly connected,Tunnel1 S 10.0.0.0/8 is directly connected,Null0 C 192.168.1.0/24 is directly connected,FastEthernet0/0 S* 0.0.0.0/0 is directly connected,Dialer0 S 172.16.0.0/12 is directly connected,Null0 S 192.168.0.0/16 is directly connected,Null0
在Linux上:
michael:~$sudo ip route add blackhole 192.168.0.0/16 michael:~$ping 192.168.0.1 PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data. 64 bytes from 192.168.0.1: icmp_req=1 ttl=64 time=0.238 ms 64 bytes from 192.168.0.1: icmp_req=2 ttl=64 time=0.180 ms <...> michael@challenger:~$ping 192.168.1.1 connect: Network is unreachable