Reverse path forwarding

Статическая и динамическая, протоколы

Reverse path forwarding

Сообщение spiner » 02 окт 2011, 19:13

Приветствую,
есть два апстрима, получаю только default route.
Моя сеть /23. Анонсирую разделением, т.е. первую половину - /24 и всю сеть - /23 первому апстируму, вторую половину - /24 и всю сеть /23 второму апстиму.
Граничный маршрутизатор Cisco 2951. IBGP не используется.
Дабы обезопасить себя от транзитного трафика, включил известную фильтрацию на анонсы соседям:
neighbor xx.xx.xx.xx filter-list 1 out
neighbor yy.yy.yy.yy filter-list 1 out
ip as-path access-list 1 permit ^$
Но, такое ощущение, что трафик все равно транзитный проходит. Повесил access-list с параметром log на интерфейс, смотрящий на второго апстрима.
Вижу кучу match-ей у acl и в дебаге вижу пакеты не из моей сети в не мою сеть.
Начал изучать RPF. Но совсем запутался в реализации.
Я так понимаю, что есть strict и loose режимы. В моем случае, когда есть место ассиметричному трафику, т.е. ушел через первый апстрим (он дефолт по умолчанию), а вернулся через второго, нужно использовать loose метод.
По документации cisco http://www.cisco.com/en/US/docs/ios/12_2t/12_2t13/feature/guide/ft_urpf.html, на интрефейсах к апстримам нужно включить:
Код: Выделить всё
ip verify unicast source reachable-via any

После включения этого, связь пропала, поэтому срочно выключил (людям связь нужна) и не успел оттраблшутить.
Подскажите, есть какие-нибудь best practices для реализации RPF для моего случая?
Или здесь RPF не поможет?
Заранее благодарен.
spiner
новичок
 
Сообщения: 11
Зарегистрирован: 29 мар 2011, 12:27

Re: Reverse path forwarding

Сообщение root » 03 окт 2011, 08:57

spiner писал(а):Дабы обезопасить себя от транзитного трафика, включил известную фильтрацию на анонсы соседям:

ничего ты не включил

spiner писал(а):ip as-path access-list 1 permit ^$

почитай про Regular Expressions и Using Regular Expressions in BGP
а теперь скажи словами что ты тут написал

spiner писал(а):Но, такое ощущение, что трафик все равно транзитный проходит.

если вышеозвученное это единственное что есть из фильтров, то я совсем не удивлен

spiner писал(а):Моя сеть /23. Анонсирую разделением, т.е. первую половину - /24 и всю сеть - /23 первому апстируму, вторую половину - /24 и всю сеть /23 второму апстиму.

видимо это ты так думаешь, а мне сдается что обоим провам ты нонсишь full-view и отсюда и есть транзит
вообщем полный конфиг в студию.

spiner писал(а):Повесил access-list с параметром log на интерфейс, смотрящий на второго апстрима.

по хорошему у тя в любом случае должен быть ACL который выпускает наружу только твои сети и впускает к тебе только твои сети

ответь мне на вопросы:
а) ты понимаешь что такое RPF ?
б) чего ты хочешь добиться включив проверку RPF ?
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: Reverse path forwarding

Сообщение spiner » 03 окт 2011, 10:04

ip as-path access-list 1 permit ^$
а теперь переведи словами что тут написано

Разрешает маршруты, порожденные локальным рутером, остальные отбрасывает.
^$ - это пустая строка, соответственно AS PATH пустая тогда, когда префикс исходит их этого рутера.
Вот источник:
http://wiki.nil.com/%28Non%29Transit_Autonomous_System#Simple_AS-path_filters
Моя сеть /23. Анонсирую разделением, т.е. первую половину - /24 и всю сеть - /23 первому апстируму, вторую половину - /24 и всю сеть /23 второму апстиму.

видимо это ты так думаешь, а мне сдается что обоим провам ты нонсишь full-view и отсюда и есть транзит
вообщем полный конфиг в студию.

Извини, что сразу не выложил префикс-листы:
Код: Выделить всё
neighbor xx.xx.xx.xx weight 100
neighbor xx.xx.xx.xx prefix-list DEFAULT in
neighbor xx.xx.xx.xx prefix-list PREF-ISP1 out
neighbor xx.xx.xx.xx filter-list 1 out
neighbor yy.yy.yy.yy prefix-list DEFAULT in
neighbor yy.yy.yy.yy prefix-list PREF-ISP1 out
neighbor yy.yy.yy.yy filter-list 1 out

ip prefix-list DEFAULT seq 5 permit 0.0.0.0/0
ip prefix-list PREF-ISP1 seq 5 permit 195.195.68.0/24
ip prefix-list PREF-ISP1 seq 10 permit 195.195.68.0/23
!
ip prefix-list PREF-ISP2 seq 5 permit 195.195.69.0/24
ip prefix-list PREF-ISP2 seq 10 permit 195.195.68.0/23
ip as-path access-list 1 permit ^$


ответь мне на вопросы:
а) ты понимаешь что такое RPF ?
б) чего ты хочешь добиться включив проверку RPF ?


а) RPF - это проверка "правильности" адреса источника и в случае его сфабрикованности - отброс пакета.
б) Хочу, чтобы пакеты с адресом источника, который мне не принадлежит - дропались.
spiner
новичок
 
Сообщения: 11
Зарегистрирован: 29 мар 2011, 12:27

Re: Reverse path forwarding

Сообщение root » 05 окт 2011, 07:39

spiner писал(а):Разрешает маршруты, порожденные локальным рутером, остальные отбрасывает.

я бы так не делал, ибо ошибешься в конфиге или например заведешь какой нить IGP протокол (тот же OSPF) случайно или нарочно сделаешь редистрибуцию в BGP и усе, все твои внутренние маршруты пошли анонситься твоим BGP пирам
фильтры на out лучше строить исходя из подсетей (префиксов), которые ты хочешь анонсить
и я бы применял route-map`ы, они дают больше возможностей чем filter-list

spiner писал(а):а) RPF - это проверка "правильности" адреса источника и в случае его сфабрикованности - отброс пакета.

ну во первых ты тогда говоришь все же о Unicast Reverse Path Forwarding (uRPF)
а во вторых ты не прав:
Understanding Unicast Reverse Path Forwarding
enabling a router to verify the reachability of the source address in packets being forwarded.

по русски:
При получении пакета uRPF проверяет соответствует ли адрес источника и интерфейс через который получен пакет значениям в таблице FIB.
По сути выполняется обратный резолвинг адреса источника используя базу (reverse lookup) FIB
Для работы Unicast Reverse Path Forwarding должен быть включен cef.


Если тебя беспокоит есть ли транзитный трафик, то:
а) повесь на порты в сторону апстримов ACL, который будет пропускать трафик только ОТ/К твоим подсетям
по хорошему ACL у тебя должен быть в любом случае, во избежании маршрутизации серых подсетей
б) поснифай трафик проходящий через порты апстримов на предмет трафика не от своих подсетей
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: Reverse path forwarding

Сообщение spiner » 06 окт 2011, 09:02

Спасибо root, но хочу сказать, что это:
При получении пакета uRPF проверяет соответствует ли адрес источника и интерфейс через который получен пакет значениям в таблице FIB.

и это
а) RPF - это проверка "правильности" адреса источника и в случае его сфабрикованности - отброс пакета.

одно и тоже, просто разными фразами. Да, имел в виду uRPF.
Как всегда спасибо за помощь!
spiner
новичок
 
Сообщения: 11
Зарегистрирован: 29 мар 2011, 12:27

Re: Reverse path forwarding

Сообщение root » 07 окт 2011, 08:42

spiner писал(а):одно и тоже, просто разными фразами.

я бы все равно так не сказал, что это одно и тоже.
он проверяет правильность того откуда пришел пакет, с какого порта и соответствует/пролегает ли маршрут до источника через этот же порт.
я бы RPF не включал, т.к. в противном случае ассиметричные трассы будут невозможны, а это а) абсолютно нормально б) сплошь и рядом в) не позволит тебе нормально разруливать нагрузку между твоими апстримами

spiner писал(а):Как всегда спасибо за помощь!

пжалста
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia


Вернуться в Маршрутизация / Routing

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

cron