Как известно, существует множество подсетей, которые либо вовсе не должны маршрутизироваться в Интернете (сети для частного использования, сети для примеров и документации и так далее), либо еще не выделены RIR’ами никакому оператору.
Логично было бы запретить их использование маршрутизаторами, поскольку они часто применяются для IP-спуфинга, адресов источника в трафике DoS-атак и прочих злонамеренных целях, да и в принципе как-то нехорошо.
Но поддерживать их полный список руками — весьма утомительное занятие. Недавно я обнаружил прекрасный сервис, который поддерживает и распространяет такой список.
Сервис поддерживает компанией Cymru и предоставляется бесплатно (без гарантий и обязательств, но на практике с весьма приличным уровнем стабильности). Есть разные способы получения списка, но самый удобный, на мой взгляд, с помощью сервера маршрутов по BGP.
Чтобы получить доступ к сервису, нужно отправить запрос на bogonrs@cymru.com, в котором нужно указать свой номер автономной системы, желаемый список (полный — включает еще не выделенные никому, либо традиционный — только сети, которые заведомо не будут использоваться), адрес маршрутизатора и поддержку MD5-аутентификации.
Для избыточности предоставляются сессии с двумя разными серверами.
Настраиваем сервис
Рассмотрим настройку на Vyatta.
Схема, в общем, классическая для таких случаев.
- Создаем blackhole-маршрут до некого хоста.
- Создаем карту маршрутов, в которой будем менять next-hop до получаемых сетей на этот хост.
- Настраиваем сессии.
Карта маршрутов и blackhole обязательны — за попытку маршрутизировать сети через сервер маршрутов полагается справедливый бан. Также нужно запретить анонсирование любых сетей серверу маршрутов.
policy {
/* Список сообществ для вылавливания нужных маршрутов */
community-list 100 {
description "Cymru fullbogons"
rule 10 {
action permit
regex 65332:888
}
}
/* Список доступа, запрещающий анонсы любых сетей */
prefix-list DenyAll {
rule 10 {
action deny
le 32
prefix 0.0.0.0/0
}
}
/* Карта маршрутов, которой мы устанавливаем next-hop для выловленных маршрутов */
route-map Cymru-FullBogons-v4 {
rule 10 {
action permit
match {
community {
community-list 100
}
}
set {
ip-next-hop 192.0.2.1
}
}
}
}
protocols {
bgp <Your ASN> {
neighbor <Neighbor Address> {
description "Cymru fullbogons"
ebgp-multihop 255
password <Your Password>
prefix-list {
export DenyAll
}
remote-as 65332
route-map {
import Cymru-FullBogons-v4
}
}
}
/* Запрещаем маршрутизацию полученных сетей */
static {
route 192.0.2.1/32 {
blackhole {
}
}
}
Ссылки
http://www.team-cymru.org/Services/Bogons/ — сайт сервиса. Там же есть примеры настроек для IOS и ряда других систем.
Опубликовано: Vyatta

[…] Как известно, существует множество подсетей, которые либо вовсе не должны маршрутизироваться в Интернете (сети для частного использования, сети для примеров и документации и так далее), либо еще не выделены RIR’ами никакому оператору. Логично было бы запретить их использование маршрутизаторами, поскольку они часто применяются для IP-спуфинга, адресов источника в трафике DoS-атак и прочих злонамеренных целях, да Читать далее […]