Вторая чать должна быть интересней. ждем )
Хотя в свете вышедшей альфы nftables хотелось-бы его в действии посмотреть, а не iptables (Но все равно интересно. Проблема частая, а вопросов по ней на форумах не уменьшается)
Если конкретно, то вот. По-моему, там даже более простое решение, хотя может и не позволяющее дополнительных «наворотов» вроде маршрутизации по типу протокола.
В обоих статьях используется один и тот же принцип для объединения каналов, только в моей все скопом, не так подробно написано зачем нужна та или иная строка, зато даны готовые рабочие скрипты, которые делают свою работу.
Кстати маршрутизация по типу протокола — тоже очень интересно будет почитать, ждем следующей части.
Я сделал проще — 3 виртуальных машины, у каждой по одному каналу — а хост система определялет, через какой шлюз отправить определенные пакеты… каждый из виртуальных серверов — проверяет доступность интернета через свой канал и переключает на работающий другой в случае неполадки… главный плюс — в случае увеличения количества провайдеров — просто клонируется машина и все. также сквид распределяет нагрузку через паренты, которые в гостевых системах стоят…
Делала когда-то. Повесила все это дело на ssi, записала в несколько скриптов необходимые данные, и меняются они просто при заходе в админку. Кнопкой. Правда единственное, с чем возилась и не понимала почему не меняются таблицы… надо не забывать очищать кэш.
Опять же, необходимо понимать, что нужна проверка на текущего провайдера. Иначе при смене провайдера на текущего, таблицы роутинга разбухают.
Эх, рассказал бы мне кто-нибудь, как делать маршрутизацию по порту source.
И, прежде чем кто-то скажет про --mark,… чтобы такая маршрутизация могла действовать не только для проходящих, но и для исходящих пакетов.
У меня работает. Правда, не по source-порту, а по UID, но это незначительные детали.
Да и кстати, в man iptables серым по чёрному написано:
mangle:
This table is used for specialized packet alteration. Until kernel 2.4.17 it had two built-in chains: [...] OUTPUT (for altering locally-generated packets before routing). [...]
Используем 2+ провайдера (первая часть)