Пойдём через мост, или лучше вплавь?
Предистория
Пару недель я отлавливал интереснейшую багу с исчезновением трафика на своих домашних микротиках после изменений статусов VRRP интерфейсов. Ковырял скрипт который занимался отказоустойчивостью, перепроверял и пересобирал конфиги, всё тщетно. В какой-то момент бросил затею и смерился с оооочччеееееннььь меееедленннымм переключением с одного маршрутизатора на другой. Но вот, однажды таки решил разобраться с «волшебным» обновлением системы, которая буквально «уносила» всю конфигурацию, ведь не пригоже сидеть на старой оси барину 😉 .
В итоге, победив «волшебство» обновы перешел к вопросу медлительности и стал поэтапно разбирать проблему. Каково было моё удивление, когда я выяснил что это было! Это буквально не лезло ни в одни ворота! Такой баги я ещё ни где не встречал!
Русскоязычный онлайн-курс по MikroTik от нашего коллеги Дмитрия Скромнова. Здесь можно изучить MikroTik и RouterOS самостоятельно по курсу «Настройка оборудования MikroTik». Курс основан на официальной программе MTCNA, но содержит больше информации. Это 162 видеоурока и большая практическая задача, разбитая на 45 лабораторных работ. Время на изучение неограниченно – все материалы передаются бессрочно и их можно пересматривать сколько нужно. Первые 25 уроков можно посмотреть бесплатно, оставив заявку на странице курса.
Конфигурация
Пару слов о конфигурации для понимания сути проблемы. Есть у меня ряд bonding интерфейсов, объединенных одним мостом. На этом мосте «живут» VLAN’ы и основной VRRP интерфейс. Далее для каждого VLAN был создан собственный мост, на который был установлен VRRP интерфейс данного VLAN.
Суть проблемы
После изменения любого статуса в любом из VRRP интерфейсов, трафик через мосты переставал ходить, причём хаотично, рывками, на неопределённый срок. Порой систему «лихорадило» пару минут, порой час, а иногда всё проходило гладко. В эти моменты не пинговались даже сами RRP интерфейсы с устройства на котором они «жили». После пары дней вдумчивого разбора ситуации был обнаружен корень зла. Да, это бага мостов.
Решение
Как известно, для решения любого рода «грабель» с софтом, используются «костыли» и «велосипеды». Так как на просторах всезнающего было найдено нихрена ответов на мои вопросы, пришлось искать решение прикладного характера, и оно было найдено. И так, барабанная дробь… — Изменение ЛЮБОГО параметра портов моста!!!! Я долго протирал глаза, ребутал железо, откатывал версии прошивок на старые, ставил новые (6.37-6.39), но результат везде был одинаков. Если изменить любой параметр (потом вернуть обратно или нет) то трафик сею секунду начинал ходить как дети в школу! Возможно я конечно чего-то не знаю о мостах в MikroTik’е, но как ни странно, это единственное решение которое я смог найти. Если есть нечто более изящное, или попросту у меня «кривой» конфиг, буду рад здравым комментариям по этому поводу.
В своём случае я стал менять значение параметра Edge с «auto» на «yes» и наоборот. Сей «костыль» был героически вкручен в скрипт для VRRP и на этом я остановился. Сейчас пытаюсь понять как донести внятно эту багу до саппорта. Пожалуй кину ссылку на статью, может пофиксят…
Получить навыки решения нестандартных проблем можно из русскоязычного онлайн-курса по настройке MikroTik для самостоятельного изучения. Курс по MikroTik и RouterOS основан на официальной программе MTCNA, однако содержит гораздо больше полезной информации. 162 видеоурока и большая практическая задача, разбитая на 45 лабораторных работ. Время на изучение неограниченно – все материалы передаются бессрочно и их можно пересматривать сколько нужно. Первые 25 уроков можно посмотреть бесплатно, оставив заявку на странице курса.