На днях обратился знакомый с просьбой о помощи. Часть ресурсов его сети стала недоступна.
После диагностики обнаружил, что проблема заключается в отсутсвии "защиты от дурака" в настройках BGP. В сети знакомого используются сети из блока 192.168.0.0/16 с маской /24, а провайдер по BGP начал анонсировать эти же сети с маской /26. Соответственно, таблица маршрутизации перестроилась и трафик, вместо того, чтобы "бежать" к ресурсам локальной сети, направлялся к провайдеру. Как говорится, "офигел молча", но нужно что-то решать.
Возмущаться и разбираться с сапортом провайдера - дело долгое. Поэтому решаем вопрос на стороне сети знакомого.
Создадим prefix-list, в котором запретим все зарезервированные сети, которые не должны маршрутизироваться в сети Internet (в табличке колонка Global из статьи о зарезервированных IPv4 адресах):
bgp(config)# ip prefix-list Deny_Reserved_Net seq 5 deny 0.0.0.0/8 le 24 bgp(config)# ip prefix-list Deny_Reserved_Net seq 10 deny 10.0.0.0/8 le 24 bgp(config)# ip prefix-list Deny_Reserved_Net seq 15 deny 100.64.0.0/10 le 24 bgp(config)# ip prefix-list Deny_Reserved_Net seq 20 deny 127.0.0.0/8 le 24 bgp(config)# ip prefix-list Deny_Reserved_Net seq 25 deny 169.254.0.0/16 le 24 bgp(config)# ip prefix-list Deny_Reserved_Net seq 30 deny 172.16.0.0/12 le 24 bgp(config)# ip prefix-list Deny_Reserved_Net seq 35 deny 192.0.0.0/24 bgp(config)# ip prefix-list Deny_Reserved_Net seq 40 deny 192.0.2.0/24 bgp(config)# ip prefix-list Deny_Reserved_Net seq 45 deny 192.168.0.0/16 le 24 bgp(config)# ip prefix-list Deny_Reserved_Net seq 50 deny 198.18.0.0/15 le 24 bgp(config)# ip prefix-list Deny_Reserved_Net seq 55 deny 198.51.100.0/24 bgp(config)# ip prefix-list Deny_Reserved_Net seq 60 deny 203.0.113.0/24 bgp(config)# ip prefix-list Deny_Reserved_Net seq 65 deny 240.0.0.0/4 le 24 bgp(config)# ip prefix-list Deny_Reserved_Net seq 100 permit 0.0.0.0/0 le 24 |
Также последним правилом "отрезаем" все сети с маской длиннее /24, поскольку они не должны маршрутизироваться в сети Internet. Теперь можно просто "наложить" этот prefix-list на neighbor-а провайдера, однако я обычно использую route-map, что добавляет гибкости при настройке. Создадим route-map, включим в него созданный prefix-list и "наложим" на neighbor-а провайдера.
bgp(config)# route-map UPLINK-in permit 10 bgp(config-route-map)# match ip address prefix-list Deny_Reserved_Net bgp(config-route-map)# exit bgp(config)# router bgp 65001 bgp(config-router)# neighbor x.x.x.x route-map UPLINK-in in |
Последний штрих - очистка входящих маршрутов и сохранение конфигурации.
bgp# clear ip bgp x.x.x.x soft in bgp# copy running-config startup-config |
Последние комментарии
23 недели 1 день назад
47 недель 2 дня назад
2 года 48 недель назад
3 года 17 недель назад
3 года 41 неделя назад
4 года 4 недели назад
4 года 4 недели назад
4 года 8 недель назад
4 года 19 недель назад
4 года 23 недели назад