У меня есть сервер freebsd (ipfw, dhcp, dns) с одним интерфейсом LAN и 2 интерфейсами WAN (2 разные линии ADSL).
Интерфейсы WAN (re0 и re1) объединены в один резервный порт lagg0 (ifconfig_lagg0 = "laggproto failover laggport re0 laggport re1").
Я бы хотел использовать маршрутизацию трафика, направленного в некоторые сети, на re1, переключение на re0 при выходе из строя ссылки re1, но по-прежнему использовать re0 и переключение на re1 по умолчанию.
Является ли это возможным?
Спасибо.
[ОБНОВИТЬ]
Итак, склеивание не является возможным решением (и теперь я вижу, что это было очевидно).
Как я могу автоматически обновить маршрутизацию на шлюзе, когда ссылка на одной из линий обрывается? Меня не волнует, нужно ли мне переключаться с ipfw на pf (я все равно планировал переход).
Еще раз спасибо.
Это невозможно, учитывая только описанную вами конфигурацию. Агрегирование каналов (или «связывание», как его иногда называют) не может обеспечить балансировку нагрузки или переключение между несколькими вышестоящими поставщиками. Ваша текущая конфигурация, похоже, не служит какой-либо полезной цели, если вы не упускаете некоторые важные детали маршрутизации и / или конфигурации IP.
Агрегация каналов - это строго протокол уровня 2 (Ethernet). Он может обеспечить балансировку нагрузки и / или переключение при отказе, когда у вас есть несколько физических каналов Ethernet с одним восходящим коммутатором или хостом. Но два разных восходящих канала DSL (даже если они связаны с одним и тем же провайдером) - это два разных устройства. Возможно соединение нескольких линий DSL, как и соединение нескольких линий T1, если устройства маршрутизатора / моста, которые завершают петли телефонной связи (т. Е. Блок DSL, который вы подключаете к своей телефонной линии), поддерживают тот же протокол, зависящий от протокола (например, T1, DSL и др.) Техники склеивания.
Ваш хост FreeBSD не может связывать несколько каналов DSL, если вы не установите в него карты DSL, которые предлагают эту функцию. И даже в этом случае ваш интернет-провайдер должен будет поддерживать соединение в своем DSLAM (оборудование на другом конце ваших линий DSL, в телефонной компании CO).
Балансировка нагрузки и / или переключение IP-трафика при отказе с использованием нескольких восходящих каналов ДОЛЖНЫ обрабатываться с помощью методов маршрутизации (уровень 3, IP).
Честно говоря, я мог слишком много предполагать о деталях, которые вы упустили. Не могли бы вы обновить свой вопрос, добавив дополнительную информацию о вашей конфигурации?
Возможно, я неправильно понимаю вашу ситуацию, и я определенно никогда не делал ничего подобного с freebsd, но ...
Быстрое изучение задержки делает его похожим на механизм избыточности уровня 2, когда IP-адрес перемещается между несколькими интерфейсами, но IP-адрес никогда не меняется.
На ваших DSL линках - они у разных провайдеров? Если это так, то я думаю, вам понадобится механизм, поддерживающий уровень 3.
Если они принадлежат разным провайдерам, вам нужно будет что-то сделать с вашими таблицами маршрутизации, чтобы ссылка 1 шла на один набор удаленных IP-адресов, а другой получал остальные, или, может быть, один интерфейс используется для исходящего веб-трафика, а другой - используется для всего остального. Обычно это делается с помощью «маршрутов политики» для небольших организаций и BGP для крупных организаций.
Наконец, я бы посмотрел на pf вместо ipfw. Это очень сложно и совершенно потрясающе. Примеры страниц, которые обсуждают то, что вы ищете
http://www.openbsd.org/faq/pf/pools.html
В статье выше обсуждается, как балансировать исходящий трафик.
Я просмотрел документы pf только на секунду, но не похоже, что есть механизм отслеживания ссылок или отслеживания пинга непосредственно в функциональности pf.
Я бы просто сделал 3 файла конфигурации pf - only.link1, only.link2 и balance.links. Затем убедитесь, что в конфигурации ссылок баланса вы не балансируете трафик до следующего перехода (чтобы трафик к следующему переходу link1 никогда не проходил через link2 и наоборот). Затем запустите сценарий, который выполняет ping-тест до следующего перехода каждого интерфейса, и если это не удается, переключите конфигурации pf исключительно на другой интерфейс. Сетевое оборудование, которое выполняет vrrp, часто имеет такую функциональность, но встроено в устройство не как часть взломанного сценария perl, но оно должно работать точно так же.