Проблема с несколькими сетевыми интерфейсами

Проблема с несколькими сетевыми интерфейсами

У меня есть два 3G USB-модема (или один USB-модем и любой другой сетевой интерфейс - ethили wlan).

Я соединяю оба интерфейса, создавая IP-правила и добавляя маршруты для каждого из них следующим образом:

sb="ip/subnet"
ifn="network interface (ppp0, eth0..etc)"
ipo="interface ip"

ip route add "$sb" dev "$ifn" src "$ipo" table "$tbl"
ip route add "$sb" dev "$ifn" src "$ipo"
ip route add default via "$gw" table "$tbl" 
ip rule add from "$ipo" table "$tbl"
ip rule add to "$ipo" table "$tbl"

Оба интерфейса подключаются, и каждый из них подключается с полной скоростью независимо. Проблема начинается, когда я пытаюсь загрузить, используя оба интерфейса одновременно:

  1. Откройте терминал и начните загрузку на первом интерфейсе:

     curl --interface ppp0 "$URL" -o /dev/null
    
  2. Откройте другой терминал и начните загрузку на втором интерфейсе:

     curl --interface ppp1 "$URL" -o /dev/null 
    

Проблема в том, что оба интерфейса становятся медленнее, когда обе команды запускаются вместе, первый интерфейс запускается со скоростью 1,5 Мбит/с, когда запускается следующая команда, первый интерфейс начинает падать в скорости. То же самое происходит и наоборот, когда первым запускается второй интерфейс, скорость падает, когда запускается первый интерфейс.

Как будто происходит автоматическая балансировка нагрузки. Я пробовал с параметрами ядра rp_filterи arp_filter.

Если говорить точнее, мне не нужна балансировка нагрузки, мне просто нужно, чтобы каждый интерфейс работал независимо для одновременных подключений.

Спасибо!

ОБНОВЛЯТЬ

Даже если каждый интерфейс находится в отдельном сетевом пространстве имен, они влияют на скорость друг друга при одновременной работе.

Связанный контент