Ну что же, компания растет, количество офисов увеличивается, центральная серверная появилась или вообще в ЦОД переехали. Хочется связать их в общую сеть и, по возможности, избежать геморроя с прописыванием горы адресов в маршрутизации кто где через куда вообще доступен. Начнем, как это ни странно, с середины, чтобы потом всё не переделывать. Глобально, динамическая маршрутизация не является чем-то необычным, причем очень давно. Но, как говорится, есть нюанс.
По большому счету, протоколов у нас три – RIP, OSPF и BGP. RIP, он же Routing Information Protocol, старый шокапец. Вышел в 1969 году и с тех пор никак радикально не менялся. Из всех плюсов – простой и его знают все. Минусов побольше – медленный, тяжелый, простой и, к примеру, не умеет работать с петлями. Для совсем небольшой и простой сети подойдет, но мы-то смотрим чуточку на перспективу. BGP в каком-то смысле – полная противоположность. Он гибкий, он умеет всё и еще немного. Он способен прожевать сети буквально глобального масштаба – на нем держится без преувеличения весь интернет! Однако, он все же Border Gateway Protocol и работает лучше всего именно в пограничных местах, где есть несколько сетей разных владельцев. Поэтому настройка его есть дело непростое и для нашей сети на “с десяток” офисов тоже не пойдет.
В сухом остатке у нас OSPF или Open Shortest Path First. Что называется, золотая середина. Его по-прежнему понимает куча оборудования, немного умеет сегментирование сетей, быстрый, довольно прост в настройке. Разумеется, это общий взгляд и особенностей у каждого протокола куда больше. Но, на мой взгляд, для не слишком большой компании OSPF подходит просто идеально. Отдельным плюсом хочется заметить, что Mikrotik умеет распространять по OSPF маршруты, заданные вручную. Это нужно, в общем случае, если есть какая-то подсеть, которая по историческим причинам не включена в общую маршрутизацию. Например, используется VPN и сервером является какое-нибудь софтовое решение. Да хоть тот же OpenVPN.
Возвращаемся к началу. Ясное дело, что для связи офисов будет использоваться IPSec. Однако, надо иметь ввиду, что RIP и BGP – это протоколы стека TCP/IP и будут нормально ходить через обычный IPSec без проблем. А вот OSPF это уже IP-протокол, а значит работает уровнем ниже. Следовательно нужна чуть другая среда для работы. Решение существует и представляет собой связку GRE over IPSec, где последний работает в транспортном режиме и шифрует не всё подряд, а только 47 протокол он же GRE.
Помимо требований протокола динамической маршрутизации, мы получаем бонусом возможность нормально мониторить состояние туннеля. Дело в том, что IPSec в процессе работы постоянно пересоздаёт соединения и в роутере они видны как новые интерфейсы. В результате, с точки зрения системы мониторинга, туннели у нас постоянно и навсегда падают, зато возникает множество новых. Адекватно отследить кто есть кто и в каком статусе оно находится не представляется возможным. GRE в свою очередь в этом смысле стабилен и нерушим. Если интерфейс упал – значит связи действительно нет. Если статус “активен”, то, с поправкой на ветер, туннель живой. Мы же понимаем, что Keepalive не может отрабатывать мгновенно.
Пока хватит. Настройками займемся в следующий раз.