Резервирование
и балансировка трафика во FreeBSD
Сергей Супрунов
На форумах, посвящённых системному администрированию, с завидной
регулярностью появляются вопросы о том, как обеспечить резервирование или
распределение трафика при наличии двух каналов в Интернете. Ввиду отсутствия
однозначного ответа проведём собственное исследование.
Итак, вы «раскрутили» своего шефа на подключение локальной сети компании ещё
к одному провайдеру. Со временем возникает желание распорядиться этим «богатством»
более рационально, нежели определять факт пропадания канала по начинающейся в
бухгалтерии панике и вручную переопределять шлюз по умолчанию.
Конечно, «академически» правильным решением была
бы настройка полноценного маршрутизатора (возможно, даже программно-аппаратного
комплекса типа Cisco), обеспечивающего динамическое регулирование трафика на
основании такой информации, как доступность того или иного узла, «стоимость»
маршрута, требования к качеству обслуживания (сетевики этот QoS уже в ночных
кошмарах видят). Однако это зачастую связано с необходимостью регистрировать
собственную автономную систему (AS), настраивать один из протоколов
маршрутизации (например, BGP) и т. д. Для небольших компаний такие решения
обычно оказываются неоправданно дорогими и сложными, да и не каждый провайдер
захочет с этим возиться, если вы для него – лишь один из тысяч клиентов,
подключённых по обычному ADSL. Поэтому мы рассмотрим, что можно сделать без
взаимодействия с провайдером, имея в своём распоряжении лишь машину с установленной
FreeBSD, выполняющей роль шлюза для локальной сети.