Черная дыра маршрут частного интранета трафика
У меня есть частная сеть с несколькими маршрутизаторами Linux, которые совместно используют маршруты через OSPF. Как я могу подключиться к частным сетям, для которых у меня нет маршрутов?
Другими словами, я хочу быть уверен, что НИКОГДА не маршрутизировать 10.0.0.0/8, 172.16.0.0/12 или 192.168.0.0/24 к шлюзу по умолчанию. Я не могу просто создать статические приемники (черные дыры) для этих сетей, так как сеть в одном из частных диапазонов может рекламироваться через OSPF.
Я мог бы использовать netfilter, чтобы просто УБРАТЬ весь трафик, выходящий из подключенного по умолчанию интерфейса GW, если он находится в закрытом диапазоне, но я подумал, что iproute2/linux мог бы иметь более простое или более "правильное" решение.
2 ответа
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, будут иметь приоритет над маршрутами в черной дыре.
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
В 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
Пока вы размышляете в этом направлении, вы должны знать о списке BOGON. http://www.team-cymru.org/Services/Bogons/
И я бы, вероятно, просто использовал netfilter/DROP, как вы предложили. Самое безопасное - сохранить конфигурацию BOGON на внешнем интерфейсе или брандмауэре, чтобы он находился только в одном месте и не нарушал внутренние изменения. Если у вас есть брандмауэр или внешний маршрутизатор, я бы поставил блоки. На последнем возможном этапе.