The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"FreeBSD, резервирование маршрутизатора."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"FreeBSD, резервирование маршрутизатора."  +/
Сообщение от tcpmss (ok) on 06-Янв-12, 21:47 
Добрый час!
Уважаемые пользователи, подскажите пожалуйста как лучше реализовать схему резервирования софт маршрутизатора на FreeBSD?

В данный момент используется следующая структура сети:

Линк от провайдера подключен к 2 порту (untagged) коммутатора (D-Link DES-3026), к первому порту (tagged) подключена машина с FreeBSD (FreeBSD 8.2-STABLE), 5 порт - trunk порт идет на следующий коммутатор к которому подключены абоненты. Машина выполняет функции маршрутизации трафика, DNS resolving и ipfw nat. Абонентов в сети порядка 70. До каждого абонента идет отдельный vlan. Некоторым выдается сеть /24 из серых ip-адресов, некоторым выдается 1 белый ip-адрес (то есть на vlan'e роутера 2.2.2.1/30, у пользователя 2.2.2.2/30).

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

Первое что приходит на ум - это CARP. Но к сожалению я не до конца понимаю как его прикрутить к сети /30, для /24 понятно.

В связи с вышесказанным возникают следующие вопросы:
Реально ли использовать в данном случае CARP? Если да, то очень хотелось бы услышать решение. Если нет, то в как в таком случае реализовать подобную failover-схему?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "FreeBSD, резервирование маршрутизатора."  +/
Сообщение от universite email(ok) on 06-Янв-12, 22:27 
> Линк от провайдера подключен к 2 порту (untagged) коммутатора (D-Link DES-3026), к
> первому порту (tagged) подключена машина с FreeBSD (FreeBSD 8.2-STABLE), 5 порт
> - trunk порт идет на следующий коммутатор к которому подключены абоненты.
> Машина выполняет функции маршрутизации трафика, DNS resolving и ipfw nat. Абонентов
> в сети порядка 70. До каждого абонента идет отдельный vlan. Некоторым
> выдается сеть /24 из серых ip-адресов, некоторым выдается 1 белый ip-адрес
> (то есть на vlan'e роутера 2.2.2.1/30, у пользователя 2.2.2.2/30).

Откройте для себя ip unnumbered

> Первое что приходит на ум - это CARP. Но к сожалению я
> не до конца понимаю как его прикрутить к сети /30, для
> /24 понятно.

Нужно вторую машину соединить с первой череp персональную сеть/влан, чтоб можно было проверять доступность.
Настраиваете carp на первой машине с нужной маской /30 или даже /32
Вторая машина тупо пингует первую, если первая перестает отвечать, то вторая машина скриптом поднимает у себя нужный IP или еще и MAC и светит провайдеру.
Иногда еще придется изменять ip шлюза для внутренней сети.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "FreeBSD, резервирование маршрутизатора."  +/
Сообщение от tcpmss (ok) on 06-Янв-12, 22:56 
>[оверквотинг удален]
>> Первое что приходит на ум - это CARP. Но к сожалению я
>> не до конца понимаю как его прикрутить к сети /30, для
>> /24 понятно.
> Нужно вторую машину соединить с первой череp персональную сеть/влан, чтоб можно было
> проверять доступность.
> Настраиваете carp на первой машине с нужной маской /30 или даже /32
> Вторая машина тупо пингует первую, если первая перестает отвечать, то вторая машина
> скриптом поднимает у себя нужный IP или еще и MAC и
> светит провайдеру.
> Иногда еще придется изменять ip шлюза для внутренней сети.

Подскажите пожалуйста на примере одного из vlan'ов:
$ cat /etc/rc.conf

ifconfig_vlan111="vlan 111 vlandev eth"
ifconfig_vlan111_alias0="2.2.2.1/28"

адреса с 2 по 14 заняты пользователями, у них шлюз - 2.2.2.1. Я так понимаю что carp прикручивать некуда.

Если например было бы так:
$ cat /etc/rc.conf

ifconfig_vlan111="vlan 111 vlandev eth"
ifconfig_vlan111_alias0="2.2.2.14/28"

Предположим что заняты адреса с 2 по 13, в таком случае можно сделать так:
ifconfig_carp0="vhid 1 pass testpass 2.2.2.1/28"

у пользователя шлюз 2.2.2.1 и все прекрасно фэиловерится.

Верно?

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "FreeBSD, резервирование маршрутизатора."  +/
Сообщение от universite email(ok) on 07-Янв-12, 05:44 
> Подскажите пожалуйста на примере одного из vlan'ов:
> $ cat /etc/rc.conf

Неправильно.
во-первых, eth - это интерфейс из линукса
во-вторых, rc.conf - это набор сценариев для выполнения shell команд.

Для понимания, вы нарисуйте похожую схемку.

                             |---- vlan1 <server #1> vlan2 ---
                             |
  ISP: no vlan --<switch L2>-|
                             |
                             |---- vlan1 <server #2> vlan2 ---

Для правильной постановки задачи уточняю:
Вам провайдер выделил сеть белых адресов /28? один из IP он забрал себе на шлюз?


Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "FreeBSD, резервирование маршрутизатора."  +/
Сообщение от tcpmss (ok) on 07-Янв-12, 10:09 
>[оверквотинг удален]
>            
>       |
>            
>            
>       |---- vlan1 <server #2> vlan2
> ---
>
> Для правильной постановки задачи уточняю:
> Вам провайдер выделил сеть белых адресов /28? один из IP он забрал
> себе на шлюз?

eth - просто так обозначил сетевой адаптер чтобы не уточнять модель. Если быть более точным, то на машине сетевая карта Broadcom, а драйвер bge.
В rc.conf прописаны cloned_interfaces и vlan'ы в виде, который приводился мною выше. Согласен что не очень удобно, но так исторически сложилось в нашей организации.

Провайдер выдал нам две сети /25, которые статично смаршрутизированы на нашу машину. Мы, в свою очередь, раздаем абонентам адреса.

На вилне который смотрит в сторону провайдера адресация x.x.x.254/30
defaultrouter="x.x.x.253"

Пример с /28 сеткой - это один из вланов, адреса из которого принадлежат абонентам (в нашем случае исключение из правила vlan per user). Хотелось бы на данном примере понять как внедрить вторую машину и использовать CARP.

Спасибо.


Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "FreeBSD, резервирование маршрутизатора."  +/
Сообщение от universite email(ok) on 07-Янв-12, 16:25 

>[оверквотинг удален]
> Согласен что не очень удобно, но так исторически сложилось в нашей
> организации.
> Провайдер выдал нам две сети /25, которые статично смаршрутизированы на нашу машину.
> Мы, в свою очередь, раздаем абонентам адреса.
> На вилне который смотрит в сторону провайдера адресация x.x.x.254/30
> defaultrouter="x.x.x.253"
> Пример с /28 сеткой - это один из вланов, адреса из которого
> принадлежат абонентам (в нашем случае исключение из правила vlan per user).
> Хотелось бы на данном примере понять как внедрить вторую машину и
> использовать CARP.

Если вам провайдер вам организовал канал /30, то CARP в нынешней реализации не будет работать.

Если хотите устойчивости, то клонируйте настройки на второй тазик.
И запускаете простой скрипт, который по неответу по пингу первого тазика запускает скрипты, которые поднимает сетевые настройки на внутреннем и внешнем интерфейсе.
Ессно на стороне свитча прописаны нужные вланы.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "FreeBSD, резервирование маршрутизатора."  +/
Сообщение от tcpmss (ok) on 07-Янв-12, 16:39 
>[оверквотинг удален]
>> Пример с /28 сеткой - это один из вланов, адреса из которого
>> принадлежат абонентам (в нашем случае исключение из правила vlan per user).
>> Хотелось бы на данном примере понять как внедрить вторую машину и
>> использовать CARP.
> Если вам провайдер вам организовал канал /30, то CARP в нынешней реализации
> не будет работать.
> Если хотите устойчивости, то клонируйте настройки на второй тазик.
> И запускаете простой скрипт, который по неответу по пингу первого тазика запускает
> скрипты, которые поднимает сетевые настройки на внутреннем и внешнем интерфейсе.
> Ессно на стороне свитча прописаны нужные вланы.

Ясно. Спасибо. Просто хотел сделать более красивое решение с карпом.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "FreeBSD, резервирование маршрутизатора."  +/
Сообщение от universite email(ok) on 07-Янв-12, 18:29 

> Ясно. Спасибо. Просто хотел сделать более красивое решение с карпом.

Просите, чтоб провайдер соорудил ip unnumbered
и у вас будет три ip вместо одного :)

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру