XMs Posted December 8, 2016 (edited) · Report post Приветствую. Возникла проблема с зеркалированием трафика. По условиям есть два шлюза на Astra GNU/Linux SE, соединённые несколькими медленными каналами разной степени надёжности (радио, спутник и ещё что-то похожее). Схематически это можно представить так: местные компы—шлюз1≡шлюз2—интернет. Для повышения надёжности требуется весь трафик между ними дублировать на всех интерфейсах. Задачу реализовал с помощью tc (за основу взят скрипт¹ с гитхаба, упростил до основных команд): MIR_IFACE='mir0' MIR_ADDR='192.168.100.1' DST_IFACE_1='eth1' DST_IFACE_2='eth2' DST_IFACE_3='eth3' ip link add $MIR_IFACE type dummy ip link set $MIR_IFACE up ip addr add $MIR_ADDR dev $MIR_IFACE # ingress tc qdisc add dev $MIR_IFACE ingress tc filter add dev $MIR_IFACE parent ffff: \ protocol all \ u32 match u8 0 0 \ action mirred egress mirror dev $DST_IFACE_1 \ action mirred egress mirror dev $DST_IFACE_2 \ action mirred egress mirror dev $DST_IFACE_3 # egress tc qdisc add dev $MIR_IFACE handle 1: root prio tc filter add dev $MIR_IFACE parent 1: \ protocol all \ u32 match u8 0 0 \ action mirred egress mirror dev $DST_IFACE_1 \ action mirred egress mirror dev $DST_IFACE_2 \ action mirred egress mirror dev $DST_IFACE_3 Проверку осуществляю на виртуалке, настроенной указанным выше способом, с помощью nc, проверяю по статистике интерфейсов. Для UDP-трафика статистика растёт, как и ожидается, на всех трёх интерфейсах. Но для TCP-трафика подобного не происходит, трафик, похоже, не идёт никуда. В чём может быть причина? ¹ https://gist.github.com/lonelymtn/5a3e0f7d4a44f95141a7 Edited December 8, 2016 by XMs Share this post Link to post Share on other sites More sharing options...
XMs Posted December 9, 2016 · Report post Реализовал через link aggregation, коннект пошёл. Вопрос закрыт Share this post Link to post Share on other sites More sharing options...