Введение

Метод многоканального маршрутизации для минимизации циклов и повышения безопасности Пересылка обратного пути (RPF) - это метод, используемый в современных маршрутизаторах для обеспечения бесцикличной пересылки многоканальных пакетов в многоканальном маршрутизации и для предотвращения подделки IP-адресов в одноканальном маршрутизации. В стандартном одноканальном IP-маршрутизации маршрутизатор пересылает пакет от источника, чтобы продвинуться вдоль дерева распределения и предотвратить петли маршрутизации. В отличие от этого, многоканальное перенаправление маршрутизатора работает более логично, организуя таблицы на основе обратного пути от приемника обратно к корню дерева распределения в источнике многоканального перенаправления. Этот подход известен как обратный путь пересылки.

Однокассовый РПФ

Unicast RPF (uRPF), как определено в RFC 3704, является эволюцией концепции, согласно которой трафик из известных недействительных сетей не должен приниматься на интерфейсах, от которых он никогда не должен был возникать. Первоначальная идея, как видно из RFC 2827, заключалась в блокировании трафика на интерфейсе, если он исходит из поддельных IP-адресов. Для многих организаций разумно предположить, что они просто не разрешают распространение частных адресов в своих сетях, если они не используются. Это является большим преимуществом для основы Интернета, поскольку блокирование пакетов с явно поддельных адресов источника помогает сократить подделку IP-адресов, которая обычно используется в DoS, DDoS и сетевом сканировании для замаскирования источника сканирования. uRPF расширяет эту идею, используя знания, которые все маршрутизаторы должны иметь в своей базе маршрутизационной информации (RIB) или базе переадресационной информации (FIB), чтобы выполнять свою основную работу, чтобы помочь еще больше ограничить возможные адреса источника, которые должны быть видны на интерфейсе. Пакеты пересылаются только в том случае, если они приходят с лучшего маршрута маршрутизатора к источнику пакета. Пакеты, поступающие в интерфейс, поступают из действительных подсетей, как указано в соответствующей записи в таблице маршрутизации. Пакеты с источником, до которого не удалось добраться через входный интерфейс, могут быть удалены без нарушения нормального использования, поскольку они, вероятно, исходят из неправильно настроенного или вредоносного источника. В случаях симметричного маршрутизации, маршрутизации, когда пакеты проходят в обоих направлениях по одному пути, и терминальных сетей, соединенных через одну ссылку, это безопасное предположение, и uRPF может быть реализован без многих ожидаемых проблем. Использование uRPF как можно ближе к реальному источнику трафика также останавливает поддельный трафик до того, как он имеет шанс использовать полосу пропускания или достичь маршрутизатора, который не настроен на RPF и, таким образом, неправильно перенаправлен. К сожалению, часто в более крупной магистрали Интернета маршрутизация асимметрична, и на таблицы маршрутизации нельзя полагаться, чтобы указать лучший маршрут для источника, чтобы добраться до маршрутизатора. Таблицы маршрутизации указывают наилучший путь вперед, и только в симметричном случае это равносильно наилучшему пути назад. При внедрении uRPF важно знать о возможности асимметрии, чтобы предотвратить случайную фильтрацию законного трафика. RFC 3704 дает больше подробностей о том, как расширить строгую обратную пересылку маршрута, чтобы включить некоторые более расслабленные случаи, которые все еще могут быть полезны, допуская хотя бы некоторую асимметрию.

Строгий режим

В строгом режиме каждый входящий пакет тестируется на FIB, и если входящий интерфейс не является лучшим обратным путем, проверка пакетов провалится. По умолчанию неудачные пакеты отбрасываются.

Реализуемый режим

В режиме осуществимости FIB поддерживает альтернативные маршруты к данному IP-адресу. Если входящий интерфейс совпадает с любым из маршрутов, связанных с IP-адресом, то пакет пересылается. В противном случае, пакет будет отброшен.

Свободный режим

В свободном режиме испытывается адрес источника каждого входящего пакета по сравнению с FIB. Пакет отключается только в том случае, если источник не доступен через любой интерфейс на этом маршрутизаторе.

Фильтрация против пересылки

RPF часто интерпретируется как обратная фильтрация пути, особенно когда речь идет о одноканальной маршрутизации. Это понятная альтернативная интерпретация аббревиатуры в том, что когда RPF используется с одноканальным маршрутизацией, как в RFC 3704, трафик либо разрешается, либо отказывается на основе прохождения или неудачи проверки RPF. Мысль заключается в том, что трафик отказывается, если он не проходит проверку RPF и поэтому фильтруется. Хотя uRPF используется в качестве механизма фильтрации проникновения, на него влияет перенаправление по обратному пути. Фильтры обратного пути обычно используются для отключения асимметричной маршрутизации, когда приложение IP имеет разный входящий и исходящий маршрутизационный путь. Его цель - предотвратить попадание пакетов через один интерфейс и их выхождение через другие интерфейсы. Фильтрация обратного пути - это функция ядра Linux.