Жизнь идет и подкидывает новые задачи. Предположим, OSPF худо-бедно настроен и даже работает. Но вот возникла нужда перетащить VPN-сервер на новую железку и не хочется анонсировать 100500 маршрутов на всю сеть и обновлять их раз 5 минут просто потому, что VPN-клиенты туда-сюда подключаются-отключаются.
Итак, задача первая — анонсировать под всем роутерам компании адреса, которые выдаются VPN-клиентам. Иначе придется либо городить NAT из VPN’а в локалку, либо ничего работать не будет. NAT плох тем, что все подключенные ходят по одному адресу и доступа к компам снаружи нету. Сложность в том, что второй роутер находится в локалке, а OSPF-интерфейс в локальную сеть на основной железке находится в пассивном режиме — зачем в принтеры спамить маршрутной информацией?
Вариант первый описан в упомянутой статье — добавить статичный маршрут в VPN-подсеть на основном роутере плюс маршрут вида «вся локалка» на втором. Технически, это всё работает и более того — единственный вариант для тех «вторых» серверов, которые не умеют в динамическую маршрутизацию.
Вариант второй более правильный, но применим, в целом только если VPN-сервер умеет OSPF. Для этого OSPF-интерфейс переводим из пассивного режима в режим NBMA и на вкладке NBMA Neighbors добавляем адрес второго роутера, на котором делаем аналогичную настройку.
Всё! Маршруты распространяются, всё бегает корректно. Единственное, что есть смысл не забыть сделать VPN-интерфейсы пассивными, в них спамить маршрутной информацией ни к чему. Для этого добавляем новый интерфейс «All’ и делаем его пассивным. Вот теперь точно всё.
Теперь вторая часть марлезонского балета. Дело в том, что маршрутная информация обновляется по всем роутерам при изменении маршрутов на любом из них. А в условиях, когда у нас есть VPN-сервер, на котором люди бегают туда-сюда и маршруты на VPN-сервере постоянно меняются. Чтобы оптимизировать это, будем из VPN-сервера делать Border Router, который еще вдобавок будет заниматься суммированием подсети.
Для этого нам нужна новая область. Называем её по вкусу и выставляем тип NSSA, хотя вполне можно использовать менее универсальный STUB. Указываем очередной свободный Area ID и всё остальное оставляем по умолчанию. Маршруты мы туда никакие слать не собираемся, поэтому настраивать там просто нечего. Далее для всей VPN-подсети указываем новую область и в разделе Area Ranges тоже добавляем новую область с указанием все той же VPN-подсети.
Теперь роутер, он же VPN-сервер по совместительству, будет сообщать не «я обслуживаю 100500 подсетей из одного адреса, которые меняются постоянно», а «я обслуживаю подсеть такую-то» и всё. Дальнейшее исключительно его забота и всех остальных волновать не должно.
Нужные, вероятно, замечания:
- Если не включить суммирование, а просто настроить Border Router — он продолжит анонсировать сети из одного адреса
- Если включить суммирование, но не настраивать Border Router — он продолжит анонсировать сети из одного адреса
- Если сделать распространение статических маршрутов и не морочиться с настройкой OSPF на VPN-сервере — могут вылезти интересные артефакты, когда ВСЯ сеть ходит через роутер, где этот маршрут добавлен, хотя в этом нет великой нужды