Linux Kernel перед 3.6 використовував кешування маршрутів, щоб робити багатошляхову маршрутизацію IPv4, що означало, що маршрутизація між двома окремими лініями / провайдерами була досить простою. З 3.6 алгоритм змінився на пакетний пакет, що означає, що для досягнення двох рядків / провайдерів потрібні деякі трюкові маркери / правила / правила iptables.
Однак якщо у вас було два рядки з тим самим провайдером, який міг би маршрутизувати один IP вниз по обох лініях на пакетній основі врівноважено / відмовно, тоді з 3.6 ви могли б легко досягти зв’язку ліній (на рівні IP) через маршрутизація пакета в обох напрямках.
З 4.4 ядро знову змінилося на балансування навантаження на основі потоку на основі хеша над адресами джерела та призначення.
На даний момент я працюю з ядром 4.4.36 і використовую багатосторонній маршрутизацію через підключення PPPoE. Мій трафік нижче від інтернет-провайдера маршрутизується через дві окремі лінії на основі пакета (один IP-маршрут спрямований вниз по обох лініях). Це дає мені швидкість завантаження швидше, ніж швидкість одного окремого рядка. Майже швидкість обох ліній, що додаються разом. Він працює дуже добре, відео Skype, VoIP (UDP), YouTube і т.д.
Через те, що я маю такий хороший досвід вниз за течією, я хочу спробувати його вгору за течією, але мій трафік вище за потоком спрямовується відповідно до новішого алгоритму на основі потоку на обох пристроях ppp (які мають однакову IP-адресу). Це означає, що я не можу досягти швидкості завантаження, швидшої, ніж швидкість одного рядка.
Чи є спосіб налаштувати поточне ядро для використання алгоритму для пакету? Або якийсь інший метод досягнення маршрутизації по декількох каналах? Чи потрібно мені повернутися до старшого ядра (чого я не хочу робити з різних інших причин)?
Мій провайдер не підтримує багатопосилання ppp.
У випадку, якщо це доречно, я зараз запускаю Arch Linux ARMv7 на Raspberry Pi 3.