Назад | Перейти на главную страницу

Динамически перенаправлять определенный трафик при сбое сетевой карты в Linux

Это мой первый вопрос на этом форуме. Надеюсь, я смогу помочь другим в будущем.

У меня есть две коробки с двумя сетевыми адаптерами в каждой. Я знаю, что с помощью бондинга я могу иметь некоторую степень отказоустойчивости, но чувствую, что мне нужно что-то еще. Мне нужен разный трафик (PING, LOGIN и т. Д.) По одному пути, а другой трафик (DRBD, Интернет и т. Д.) По другому.

На тот случай, если одна из ссылок выйдет из строя, я хочу, чтобы часть другого трафика (в моем случае только IP для механизма подтверждения) следовала по тому же пути, что и DRBD и Интернет. Возможно ли это? Что мне нужно, чтобы отслеживать статус ссылок и соответственно действовать ?. Я бы знал, как это сделать статически (iproute и т. Д.), Но мне это нужно динамически ...

Вы не хотите того, о чем просите в Вопросе. Используйте интерфейс с одинарной связью. Связывание имеет несколько различных режимов для обеспечения различного баланса пропускной способности и отказоустойчивости.. Не забудьте потратить время на ее правильную настройку в соответствии с возможностями вашей сети и требованиями вашего приложения.

Тем не менее, вы можете создать два связывающих устройства Bond0 и Bond1, оба из которых имеют участников Eth0 и Eth1, при этом Bond0 имеет Eth0 в качестве основного и наоборот для Bond1, и настроить интерфейсы Bond только для аварийного переключения. Затем назначьте IP-адреса каждому из интерфейсов Bond. И, наконец, назначьте услуги конкретному IP. Это может создать ситуацию, когда трафик предпочитает одну или другую сетевую карту, но это административный кошмар, который, вероятно, вызовет гораздо больше проблем, чем вы думаете.

это руководство по ссылкам балансировки нагрузки показывает, как отмечать пакеты и динамически выбирать маршрут. Вместо того, чтобы отмечать каждые nth пакет, вместо этого пометьте пакеты на основе порта.

Я также считаю, что вам не нужно использовать условную маркировку, а просто введите избыточные маршруты в каждую таблицу и правильно установите приоритет маршрута. Пример:

По умолчанию:

default via 10.0.0.1 dev eth0 metric 100
default via 10.0.0.1 dev eth1 metric 110

DRBD с тегами:

default via 10.0.0.1 dev eth0 metric 110
default via 10.0.0.1 dev eth1 metric 100