включить редактирование

Отказоустойчивый шлюз

Создан:

С помощью протокола CARP можно не только создавать отказоустойчивые конфигурации брандмауэров, но и гарантировать непрерывность обслуживания сетевых сервисов.

Для Linux существует два варианта реализации CARP: в виде модуля ядра (ioremap.net/projects/carp) и пользовательской программы UCARP (pureftpd.org/project/ucarp). Причем оба проекта не полностью совместимы со спецификацией CARP. Первый работает только для ветки 2.4/2.6 и давно не развивается, поэтому его можно встретить только на роутерах, использующих старые ядра. Второй совместим с Linux 2.4+, OS X, OpenBSD, MirBSD и NetBSD (ставить его в последних трех нет смысла). И хотя последние изменения кода датированы 2010 годом, UCARP работает в современных дистрибутивах и доступен в репозиториях. Единственный минус проекта — функция pfsync в UCARP не реализована, поэтому все соединения при переходе на другой роутер будут сброшены. Но стоит пользователям переподключиться, и они сразу получат доступ к требуемому ресурсу.
Итак, ставим UCARP. В Ubuntu и Debian он уже есть в репозитории, поэтому собирать ничего не нужно:

$ sudo apt-get install ucarp

Реализация в виде userspace имеет свои особенности, UCARP, по сути, обычная программа, которую можно запустить любым способом, в том числе из стартовых скриптов. В официальном readme (download.pureftpd.org/pub/ucarp/README) показан только общий для всех дистрибутивов принцип, помогающий понять, как построен UCARP. Пользователям Ubuntu/Debian повезло больше, поскольку мантеинер положил в пакет все нужные скрипты и предоставил хорошее описание (/usr/share/doc/ucarр).
Прописываем на мастер-сервере:

$ sudo /etc/network/interfaces
iface eth0 inet static
address 192.168.10.2
netmask 255.255.255.0
ucarp-vid 1
ucarp-vip 192.168.10.1
ucarp-password password ucarp-advskew 0 ucarp-advbase 1 ucarp-master yes
iface eth0:ucarp inet static address 192.168.10.1
netmask 255.255.255.0

Перезапускаем сеть:

$ sudo /etc/init.d/networking restart

Второй интерфейс прописываем по аналогии, изменяем только IP-адрес и значение ucarp-vid.
Теперь резервный роутер:

$ sudo /etc/network/interfaces
iface eth0 inet static
address 192.168.10.3
netmask 255.255.255.0 ucarp-vid 1
ucarp-vip 192.168.10.1
ucarp-password password
ucarp-advskew 100
iface eth0:ucarp inet static address 192.168.10.1
netmask 255.255.255.0

Все, можно использовать.
В итоге у нас получилась несложная в реализации, но весьма эффективная система, позволяющая подстраховаться в том случае, когда шлюз или маршрут выходит из строя.

Автор: xvzL Просмотров: 4794


Рейтинг статьи: 0

Общий рейтинг из всех статей автора :
{0 [724]} [ - - - - - - - - - - ]

Общий рейтинг из всех статей на сайте :
{0 [888]} [ - - - - - - - - - - ]

[?]
Комментарии 1

Дмитрий

Откуда взялся  ucarp-vip , что это за виртуальный ip такой и откуда он берется ?

1
Статистика комментария: Голосов: 1 Пользователей +/-: 0/0 Гостей +/-: 1/0

Добавить комментарий к статье


Ctrl+Enter

Для активации кнопки, введите символы, которые Вы видите на картинки.

новая

тема

Заметки на тему IT

Монитор поиска
[x]
Новое сообщение

Сообщения в чате

Вы спрашиваете у гостей/у зарегистрированных/ У Вас спрашивают
всем Ctrl+Enter
зарегистрированным Ctrl+Enter
Ctrl+Enter

Краткая инструкция по работе с чатом

  • Вы должны ввести имя, которое будет запомнено и применяться для чата и комментариев на сайте.
  • Выбрать одну из возможностей
    "Вы спрашиваете у гостей/
    у зарегистрированных/
    У Вас спрашивают"
  • Кликните на один из способов и появиться дополнительная информация