Как известно, существует множество подсетей, которые либо вовсе не должны маршрутизироваться в Интернете (сети для частного использования, сети для примеров и документации и так далее), либо еще не выделены 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-атак и прочих злонамеренных целях, да Читать далее […]