[РЕШЕНО] 5 WAN LTE Bonding

RIP, OSFP, BGP, MPLS/VPLS
Аватара пользователя
Sir_Prikol
Сообщения: 562
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР

[РЕШЕНО] 5 WAN LTE Bonding

Сообщение Sir_Prikol »

Доброго всем, что-то я озадачился совсем не тривиальными настройками :)

Имеем:
5 SXT LTE
1 RB2011
На каждом SXT поднят DHCP server и, соответственно, RB2011 получает 5 адресов
PCC отстроил (правда работает как-то кривовато, не балансирует, но не в этом дело)

Решил я агрегировать WAN и тут немного впал в ступор, по сути, я получаю 5 адресов от 5-ти устройств
Объединяю эти интерфейсы посредством bonding, а вот дальше затык, какой ему давать IP адрес, чтобы оно заработало.
Что-то я совсем старенький стал, перестал понимать :)
Последний раз редактировалось Sir_Prikol 26 окт 2018, 00:32, всего редактировалось 1 раз.
Дома: CCR2004 (7-ISP(GPON)белый IP)
Аватара пользователя
Chupaka
Сообщения: 4086
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: 5 WAN Bonding

Сообщение Chupaka »

Доброго.

Bonding - это когда с обеих сторон по одному устройству, в которые приходят все каналы. У вас никакой Bonding не заработает. Только PCC, только хардкор.
Аватара пользователя
Sir_Prikol
Сообщения: 562
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР

Re: 5 WAN Bonding

Сообщение Sir_Prikol »

От-же зараза :) Ну я подозрквал что есть подвох, тогда прошу ткнуть носом, где я ошибся в PCC, вроде не первый раз делаю, в 4-х местах работает в 5-ом отказ:

Firewall

Код: Выделить всё

/ip firewall layer7-protocol add name=speedtest-url regexp="^.*(get|GET).+/(speed|bandwidth).*test.*\$"
/ip firewall address-list
add address=0.0.0.0/8 list=BOGONS
add address=10.0.0.0/8 list=BOGONS
add address=100.64.0.0/10 list=BOGONS
add address=127.0.0.0/8 list=BOGONS
add address=169.254.0.0/16 list=BOGONS
add address=172.16.0.0/12 list=BOGONS
add address=192.0.0.0/24 disabled=yes list=BOGONS
add address=192.0.2.0/24 list=BOGONS
add address=198.18.0.0/15 list=BOGONS
add address=198.51.100.0/24 list=BOGONS
add address=203.0.113.0/24 list=BOGONS
add address=224.0.0.0/3 list=BOGONS
add address=192.168.0.0/16 disabled=yes list=BOGONS
add address=10.0.4.2 list=white_list
add address=10.100.4.2 list=white_list
add address=192.168.10.2 list=white_list
add address=robokassa.ru list=white_list
add address=test.robokassa.ru list=white_list
add address=merchant.roboxchange.com list=white_list
add address=auth.robokassa.ru list=white_list
add address=172.16.0.254 list=white_list
add address=192.168.7.1 list=white_list
add address=acs1.sbrf.ru list=white_list
add address=acs2.sbrf.ru list=white_list
add address=acs3.sbrf.ru list=white_list
add address=misc.roboxchange.com list=white_list
add address=212.24.63.0/25 comment=Robokassa list=white_list
add address=79.142.16.0/20 comment=QIWI list=white_list
add address=91.232.230.0/23 comment=QIWI list=white_list
add address=195.189.100.0/22 comment=QIWI list=white_list
/ip firewall mangle
add action=mark-routing chain=prerouting new-routing-mark=vpn passthrough=yes src-address=172.31.255.0/24
add action=add-dst-to-address-list address-list=speedtest-al address-list-timeout=none-dynamic chain=prerouting comment="speedtest mark connection" dst-port=80 layer7-protocol=speedtest-url protocol=tcp
add action=mark-routing chain=prerouting comment=speedtest_test dst-address-list=speedtest-al new-routing-mark=velton passthrough=yes
add action=mark-routing chain=prerouting new-routing-mark=vpn passthrough=yes src-address=172.16.0.0/12
add action=mark-connection chain=input connection-state=new in-interface=WAN1 new-connection-mark=conn_WAN_1 passthrough=yes
add action=mark-connection chain=input connection-state=new in-interface=WAN2 new-connection-mark=conn_WAN_2 passthrough=yes
add action=mark-connection chain=input connection-state=new in-interface=WAN3 new-connection-mark=conn_WAN_3 passthrough=yes
add action=mark-connection chain=input connection-state=new in-interface=WAN4 new-connection-mark=conn_WAN_4 passthrough=yes
add action=mark-connection chain=input connection-state=new in-interface=WAN5 new-connection-mark=conn_WAN_5 passthrough=yes
add action=mark-connection chain=prerouting connection-state=related in-interface=WAN1 new-connection-mark=conn_WAN_1 passthrough=yes
add action=mark-connection chain=prerouting connection-state=related in-interface=WAN2 new-connection-mark=conn_WAN_2 passthrough=yes
add action=mark-connection chain=prerouting connection-state=related in-interface=WAN3 new-connection-mark=conn_WAN_3 passthrough=yes
add action=mark-connection chain=prerouting connection-state=related in-interface=WAN4 new-connection-mark=conn_WAN_4 passthrough=yes
add action=mark-connection chain=prerouting connection-state=related in-interface=WAN5 new-connection-mark=conn_WAN_5 passthrough=yes
add action=mark-routing chain=output connection-mark=conn_WAN_1 new-routing-mark=WAN_1 passthrough=yes
add action=mark-routing chain=output connection-mark=conn_WAN_2 new-routing-mark=WAN_2 passthrough=yes
add action=mark-routing chain=output connection-mark=conn_WAN_3 new-routing-mark=WAN_3 passthrough=yes
add action=mark-routing chain=output connection-mark=conn_WAN_4 new-routing-mark=WAN_4 passthrough=yes
add action=mark-routing chain=output connection-mark=conn_WAN_5 new-routing-mark=WAN_5 passthrough=yes
add action=mark-connection chain=prerouting dst-address-type=!local new-connection-mark=conn_PCC_1 passthrough=yes per-connection-classifier=both-addresses:5/0 src-address-list=BOGONS
add action=mark-connection chain=prerouting dst-address-type=!local new-connection-mark=conn_PCC_2 passthrough=yes per-connection-classifier=both-addresses:5/1 src-address-list=BOGONS
add action=mark-connection chain=prerouting dst-address-type=!local new-connection-mark=conn_PCC_3 passthrough=yes per-connection-classifier=both-addresses:5/2 src-address-list=BOGONS
add action=mark-connection chain=prerouting dst-address-type=!local new-connection-mark=conn_PCC_4 passthrough=yes per-connection-classifier=both-addresses:5/3 src-address-list=BOGONS
add action=mark-connection chain=prerouting dst-address-type=!local new-connection-mark=conn_PCC_5 passthrough=yes per-connection-classifier=both-addresses:5/4 src-address-list=BOGONS
add action=mark-routing chain=prerouting connection-mark=conn_PCC_1 new-routing-mark=GW_PCC_1 passthrough=yes src-address-list=BOGONS
add action=mark-routing chain=prerouting connection-mark=conn_PCC_2 new-routing-mark=GW_PCC_2 passthrough=yes src-address-list=BOGONS
add action=mark-routing chain=prerouting connection-mark=conn_PCC_3 new-routing-mark=GW_PCC_3 passthrough=yes src-address-list=BOGONS
add action=mark-routing chain=prerouting connection-mark=conn_PCC_4 new-routing-mark=GW_PCC_4 passthrough=yes src-address-list=BOGONS
add action=mark-routing chain=prerouting connection-mark=conn_PCC_4 new-routing-mark=GW_PCC_5 passthrough=yes src-address-list=BOGONS
add action=mark-connection chain=prerouting connection-mark=no-mark new-connection-mark=oTher
/ip firewall nat
add action=masquerade chain=srcnat disabled=yes
add action=masquerade chain=srcnat out-interface=EoIP_CC
add action=masquerade chain=srcnat out-interface=To_CC
add action=masquerade chain=srcnat out-interface=WAN1
add action=masquerade chain=srcnat out-interface=WAN2
add action=masquerade chain=srcnat out-interface=WAN3
add action=masquerade chain=srcnat out-interface=WAN4
add action=masquerade chain=srcnat out-interface=WAN5
add action=masquerade chain=srcnat comment="Loop Dnat internal" dst-address-list=BOGONS src-address-list=BOGONS
add action=dst-nat chain=dstnat dst-address-list=!white_list log-prefix=test protocol=tcp src-address=172.31.255.0/24 to-addresses=192.168.7.34 to-ports=81
Route

Код: Выделить всё

/ip route
add disabled=yes distance=1 gateway=EoIP_CC routing-mark=vpn
add distance=1 gateway=EoIP_CC routing-mark=velton
add check-gateway=arp distance=1 gateway=192.168.8.1%WAN1 routing-mark=GW_PCC_1
add check-gateway=arp distance=2 gateway=192.168.9.1%WAN2 routing-mark=GW_PCC_1
add check-gateway=arp distance=3 gateway=192.168.10.1%WAN3 routing-mark=GW_PCC_1
add check-gateway=arp distance=4 gateway=192.168.12.1%WAN5 routing-mark=GW_PCC_1
add check-gateway=arp distance=5 gateway=192.168.11.1%WAN4 routing-mark=GW_PCC_1
add check-gateway=arp distance=1 gateway=192.168.9.1%WAN2 routing-mark=GW_PCC_2
add check-gateway=arp distance=2 gateway=192.168.10.1%WAN3 routing-mark=GW_PCC_2
add check-gateway=arp distance=3 gateway=192.168.12.1%WAN5 routing-mark=GW_PCC_2
add check-gateway=arp distance=4 gateway=192.168.11.1%WAN4 routing-mark=GW_PCC_2
add check-gateway=arp distance=5 gateway=192.168.8.1%WAN1 routing-mark=GW_PCC_2
add check-gateway=arp distance=1 gateway=192.168.10.1%WAN3 routing-mark=GW_PCC_3
add check-gateway=arp distance=2 gateway=192.168.12.1%WAN5 routing-mark=GW_PCC_3
add check-gateway=arp distance=3 gateway=192.168.11.1%WAN4 routing-mark=GW_PCC_3
add check-gateway=arp distance=4 gateway=192.168.8.1%WAN1 routing-mark=GW_PCC_3
add check-gateway=arp distance=5 gateway=192.168.9.1%WAN2 routing-mark=GW_PCC_3
add check-gateway=arp distance=1 gateway=192.168.12.1%WAN5 routing-mark=GW_PCC_4
add check-gateway=arp distance=2 gateway=192.168.11.1%WAN4 routing-mark=GW_PCC_4
add check-gateway=arp distance=3 gateway=192.168.8.1%WAN1 routing-mark=GW_PCC_4
add check-gateway=arp distance=4 gateway=192.168.9.1%WAN2 routing-mark=GW_PCC_4
add check-gateway=arp distance=5 gateway=192.168.10.1%WAN3 routing-mark=GW_PCC_4
add check-gateway=arp distance=1 gateway=192.168.11.1%WAN4 routing-mark=GW_PCC_5
add check-gateway=arp distance=2 gateway=192.168.8.1%WAN1 routing-mark=GW_PCC_5
add check-gateway=arp distance=3 gateway=192.168.9.1%WAN2 routing-mark=GW_PCC_5
add check-gateway=arp distance=4 gateway=192.168.10.1%WAN3 routing-mark=GW_PCC_5
add check-gateway=arp distance=5 gateway=192.168.12.1%WAN5 routing-mark=GW_PCC_5
add check-gateway=ping distance=1 gateway=192.168.9.1%WAN2
add check-gateway=ping distance=1 gateway=192.168.10.1%WAN3
add check-gateway=ping distance=1 gateway=192.168.8.1%WAN1
add check-gateway=ping distance=1 gateway=192.168.12.1%WAN5
add check-gateway=ping distance=1 gateway=192.168.11.1%WAN4
add check-gateway=arp distance=1 gateway=192.168.8.1%WAN1
add check-gateway=arp distance=2 gateway=192.168.9.1%WAN2
add check-gateway=arp distance=3 gateway=192.168.10.1%WAN3
add check-gateway=arp distance=4 gateway=192.168.12.1%WAN5
add check-gateway=arp distance=5 gateway=192.168.11.1%WAN4
add distance=1 dst-address=192.168.11.0/24 gateway=192.168.11.1%WAN4 pref-src=192.168.11.2
add distance=1 dst-address=192.168.11.1/32 gateway=192.168.11.1%WAN4 pref-src=192.168.11.2
add distance=1 dst-address=192.168.12.0/24 gateway=192.168.12.1%WAN5 pref-src=192.168.12.2
add distance=1 dst-address=192.168.12.1/32 gateway=192.168.12.1%WAN5 pref-src=192.168.12.2

Address

Код: Выделить всё

/ip address
add address=192.168.201.1/24 interface=wlan1 network=192.168.201.0
add address=192.168.7.243/24 interface=EoIP_CC network=192.168.7.0
add address=192.168.11.2/24 interface=WAN4 network=192.168.11.0
add address=192.168.12.2/24 interface=WAN5 network=192.168.12.0
add address=192.168.10.2/24 interface=WAN3 network=192.168.10.0
add address=192.168.9.2/24 interface=WAN2 network=192.168.9.0
add address=192.168.8.2/24 interface=WAN1 network=192.168.8.0
EoIP работает, на него уползает спидтест и по нему отзывается радиус
А вот балансировка не хочет, всё тянет только через WAN5
Дома: CCR2004 (7-ISP(GPON)белый IP)
Аватара пользователя
Chupaka
Сообщения: 4086
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: 5 WAN Bonding

Сообщение Chupaka »

А правила PCC в Mangle равномерно пакеты метят? Что на счётчиках? Роуты во всех таблицах активны?

Зачем у вас дублируются маршруты с check-gateway= arp и ping? Что вы хотели сказать этим "connection-state=related"?
Аватара пользователя
Sir_Prikol
Сообщения: 562
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР

Re: 5 WAN Bonding

Сообщение Sir_Prikol »

Проверка дублируется из-за горького опыта, шлюз может отвечать по арпу, а по пингу молчать и наоборот, грёбанный juniper все настроить не могут.

connection-state=related - это забрано с полностью рабочего конфига

Счётчики практически одинаковы

Изображение

Главное отличие данной конфы от остальных 4-х, что второй (и последующие) интерфейс поднимается только при падении WAN5, хотя должны пахать одновременно
Дома: CCR2004 (7-ISP(GPON)белый IP)
Аватара пользователя
Sir_Prikol
Сообщения: 562
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР

Re: 5 WAN Bonding

Сообщение Sir_Prikol »

Таак, веселье продолжается, Оба канала работают ЗА рутером, а вот с рутера только один, где-то такое я уже видел, вспомнить не могу :)
Дома: CCR2004 (7-ISP(GPON)белый IP)
Аватара пользователя
Chupaka
Сообщения: 4086
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: 5 WAN Bonding

Сообщение Chupaka »

Оба? Только что было пять... А с роутера работает только один потому, что трафик с роутера (в output) никто по PCC не делит, и он идёт по маршруту в таблице main, видимо :)
Аватара пользователя
Sir_Prikol
Сообщения: 562
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР

Re: 5 WAN Bonding

Сообщение Sir_Prikol »

Оба, потому что отключал интерфейсы и проверял :)
А с роутера работает только один потому, что трафик с роутера (в output) никто по PCC не делит, и он идёт по маршруту в таблице main, видимо
Лень разгребать полностью рабочий конфиг с 4 провами, там конфа под 6 мегабайт, пока всё перелопачу - употею, но сделаю :)


Решил проблему немного по другому, но зато работает стабильней:

У меня есть аж целая подсеть белых адресов, поднял 5 на основном узле связи, соединил с RB2001 через pptp с этими белыми IP (естественно каждый пустил через свой интерфейс) , потом поднял EoIP туннели и настроил bonding. Маршрутов меньше, сеть едина, каналы все работают :)
Шифрование мне не надо, всё вертится внутри моего сегмента :)
Но, повторюсь, рисковать и так делать можно только при возможности пускать туннели по разным IP адресам.
Дома: CCR2004 (7-ISP(GPON)белый IP)
Аватара пользователя
Chupaka
Сообщения: 4086
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: 5 WAN Bonding

Сообщение Chupaka »

Ну, я бы изменил только pptp на l2tp, поскольку последний работает поверх UDP, поэтому менее восприимчив к потерям пакетов.

Непонятно только, что значит "стабильней" :)
Аватара пользователя
Sir_Prikol
Сообщения: 562
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР

Re: 5 WAN Bonding

Сообщение Sir_Prikol »

Стабильней - в том плане что pptp не рвутся, в отличие от l2tp, у нас опсосы любят рвать l2tp сессии
Дома: CCR2004 (7-ISP(GPON)белый IP)
Аватара пользователя
Sir_Prikol
Сообщения: 562
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР

Re: [РЕШЕНО] 5 WAN LTE Bonding

Сообщение Sir_Prikol »

Заметил одну не приятную особенность, в одну сторону канал суммируется и спокойно пашет на всех интерфейсах суммированно, а вот в обратную сторону только через один канал.
Глюк или фича ? :)
Дома: CCR2004 (7-ISP(GPON)белый IP)
Аватара пользователя
Chupaka
Сообщения: 4086
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: [РЕШЕНО] 5 WAN LTE Bonding

Сообщение Chupaka »

В какую — в одну?
Аватара пользователя
Sir_Prikol
Сообщения: 562
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР

Re: [РЕШЕНО] 5 WAN LTE Bonding

Сообщение Sir_Prikol »

Download - все интерфейсы, upload только один
Дома: CCR2004 (7-ISP(GPON)белый IP)
Аватара пользователя
Chupaka
Сообщения: 4086
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: [РЕШЕНО] 5 WAN LTE Bonding

Сообщение Chupaka »

Видимо, что-то недомаркировано :) Я правильно понимаю, что пакеты Tx идут только по одному интерфейсу, а Rx — по всем?
Аватара пользователя
Sir_Prikol
Сообщения: 562
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР

Re: [РЕШЕНО] 5 WAN LTE Bonding

Сообщение Sir_Prikol »

Да, так и получается, хотя надо неделю оттестировать, ибо bandwith test показывает правильно, а когда за микробом тестируешь уже глюки :) Не важно :) Работает и то хлеб :)

UPD - нашёл, ошибка была в номере туннеля, 2 раза один и тот-же прописал, как оно работало - не понятно :)
Дома: CCR2004 (7-ISP(GPON)белый IP)