Особенности применения NetBird

Многие из вас знают, что такое оверлейные сети, а некоторые даже уже успели с ними столкнуться. В качестве связи между филиалами (branch office) или удаленными площадками (remote datacenters) мы пробуем использовать такое решение, как NetBird. Сейчас оно проходит тестирование в нашей инфраструктуре. Однако пока мы все еще не запустили его в продакшен.

NetBird представляет собой zero-trust оверлейную сеть, которая может развертываться поверх основной сети предприятия. Это может использоваться в нескольких случаях. Например, можно развернуть систему мониторинга всех серверов и устройств в зоне ответственности, создать оверлейную менеджмент-сеть для гибкого управления серверами или дать доступ удаленным командам к внутренним ресурсам. В общем, разработка довольно перспективная.

Однако в процессе тестирования были выявлены несколько ошибок — как небольших, так и весьма критичных. Самая серьезная ошибка заключалась в том, что узлы сети периодически “залипали”. То есть не просто полностью выходили из строя (что было бы даже лучше), а именно “частично залипали” — например, node-1 могла не пинговаться с node-2, но при этом успешно пинговаться с node-3. Таким образом, оверлейная сеть частично разрушалась. Это создавало серьезную проблему, так как, например, в случае использования HA для маршрутизации между двумя нодами при падении первой можно было бы переключиться на вторую. Однако проблема заключалась в том, что с роутера упавшая нода продолжала пинговаться, и поэтому маршрутизация не переключалась, так как роутер считал, что основная нода работает. Хотя на самом деле она не маршрутизировала трафик дальше.

Ко всему прочему, баг этот был плавающим, проявлялся абсолютно случайно, примерно через неделю работы ноды. Около трех недель ушло у меня на воспроизведение этого бага, затем еще неделю мы совместно со специалистами из NetBird пытались воспроизвести его у них на площадке. Мы созванивались, тестировали экспериментальные билды, и, наконец, они смогли найти и исправить проблему. Баг исправлен в релизе 0.36.6. Все версии ниже этой подвержены данной ошибке, и ваши ноды могут просто перестать работать. Поэтому настоятельно рекомендую обновить NetBird на ваших устройствах.

Выражаю большую благодарность Zoltan Papp и Victor Liu за оперативный фикс этого бага и Мише Брагину за замечательный проект. Мы с Мишей кстати оба учились в МИИТе. Мир тесен 🙂

 

Материалы

 

Leave a Comment