Tráfego de intranet privada da rota Blackhole

4

Eu tenho uma rede privada com um punhado de roteadores Linux em todo o compartilhamento de rotas via OSPF. Como faço para ocultar os intervalos de redes privadas para os quais não tenho rotas?

Em outras palavras, quero ter certeza de que NUNCA direciono 10.0.0.0/8, 172.16.0.0/12 ou 192.168.0.0/24 para o gateway padrão. Eu não posso simplesmente criar rotas estáticas (blackhole) para essas redes, pois uma rede dentro de um dos intervalos privados pode ser anunciada via OSPF.

Eu poderia usar o netfilter para apenas DROP todo o tráfego que sai da interface GW padrão conectada se estiver em um intervalo privado, mas imaginei que o iproute2 / linux poderia ter uma solução mais simples ou mais 'correta'.

    
por tMC 27.07.2011 / 19:02

2 respostas

6
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

Como rotas mais específicas sempre têm precedência, qualquer intervalo anunciado via OSPF terá precedência sobre as rotas de blackhole.

Cisco:
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

No 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
    
por 27.07.2011 / 19:47
4

Desde que você esteja pensando nesse sentido, você deve saber sobre a lista BOGON. link

E provavelmente usaria o netfilter / DROP como você sugeriu. A coisa mais segura para fazer isso é manter a configuração BOGON na interface externa ou no firewall, de modo que ela esteja em um único lugar e não quebre as alterações internas. Se você tem uma máquina de firewall ou um roteador externo, é onde eu colocaria os blocos. No último passo possível.

    
por 27.07.2011 / 19:24