Bermut
@Bermut
Жертва домашней лаборатории

Multiwan агрегация на linux?

Есть два линка, соотвественно два шлюза, есть маршрутизатор на archlinux, к которому эти линки подключены, есть узел, который генерирует множество соединений, эти соединения нужно раскидывать по разным шлюзам. Пробовал сделать так:
iptables -t mangle -A PREROUTING -s <ip узла> -j MARK -m statistic --mode random --probability 0.5 --set-mark 1
iptables -t mangle -A PREROUTING -s <ip узла> -j MARK -m statistic --mode random --probability 0.5 --set-mark 2

В таблицах, которые принимают марки 1 и 2, находится default маршруты на два разных шлюза. Оно работает, вот только беда в том, что имеются потери, ~20 процентов, и если пинг работает, то вот http - нет. При этом это не проблема шлюзов, оставив только одно правило без рандома, то все работает хорошо(и в том и в другом случае).
Если поменять правила так -
iptables -t mangle -A PREROUTING -s <ip узла> -j MARK -m statistic --mode random --probability 0.5 --set-mark 1
iptables -t mangle -A PREROUTING -s <ip узла> -j MARK -m statistic --mode random --probability 1 --set-mark 2

То весь трафик идет через шлюз 2, потерь нет.
Как сделать нормальный мультиван, и что я делаю не так?
ОС маршрутизатора - актуальная версия archlinux с последним апдейтом от 27 июня, была перезагружена.
  • Вопрос задан
  • 156 просмотров
Решения вопроса 1
Bermut
@Bermut Автор вопроса
Жертва домашней лаборатории
В общем, с помощью этой статьи разобрался с connmark'ами, с такими правилами работает корректно.

iptables -t mangle -A PREROUTING -m conntrack --ctstate new -s <ip узла> -m statistic --mode random --probability 0.5 -j CONNMARK --set-xmark 1
iptables -t mangle -A PREROUTING -m conntrack --ctstate new -s <ip узла> -m statistic --mode random --probability 0.5 -j CONNMARK --set-xmark 2
iptables -t mangle -A PREROUTING -m connmark --mark 1 -j MARK --set-mark 1
iptables -t mangle -A PREROUTING -m connmark --mark 2 -j MARK --set-mark 2
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы