sensor Опубликовано 27 мая, 2017 · Жалоба Добрый день. Не могу никак побороть проблему работы 3х провайдеров одновременно. Имеем, 3 канала (30/90/500) Mbit/s от разных провайдеров. Статические белые IP, роутер Mikrotik CCR1009 До появления 500Mbit/s всё работало и было настроено ECMP load balancing with masquerade. https://wiki.mikrotik.com/wiki/ECMP_loa ... masquerade А именно Промаркированы input и output для 2х провайдеров. Исходя из инструкции WIKI, для каждого канала для своего routing_mark и общий, где я казала 1:3 шлюзы что бы распаралелить нагрузку. / ip route add dst-address=0.0.0.0/0 gateway=1.1.1.1,1.1.1.1,1.1.1.1,2.2.2.2 check-gateway=ping Добавляю 3й провайдер, прописываю аналогично 2м в Mangle правила, добавляю маршрут с маркировкой. Всё работает, но если добавить в эту конструкцию шлюз 500Mbit/s / ip route add dst-address=0.0.0.0/0 gateway=1.1.1.1,1.1.1.1,2.2.2.2,3.3.3.3,3.3.3.3,3.3.3.3,3.3.3.3 check-gateway=ping тоже всё работает, исходящие соеденения паралелятся по разным маршрутам, но вот все внутренние ресурсы сети (сайты, приложения, сервисы) перестают быть доступны из мира. Подскажите куда копать? p.s пробывал настраивать роутер https://wiki.mikrotik.com/wiki/Manual:PCC то же самое, всё работает, но доступ из мира на внутренние ресурсы, или очень долго заходит или не заходит вовсе. пример проброса портов у меня ;;; ftp chain=dstnat action=dst-nat to-addresses=192.168.101.85 to-ports=21 protocol=tcp dst-address=!192.168.101.0/24 dst-address-type=local dst-port=21 log=no log-prefix="" Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nkusnetsov Опубликовано 28 мая, 2017 (изменено) · Жалоба sensor, у Вас, скорее всего, перемаркировываются маршруты. Посмотрите в "connections". Маркировку делать надо по соединениям, для новых еще не маркированых соединений - критерий "connection state = new" и "connection mark = no-mark". Затем маркировать маршруты для пакетов принадлежащие этим соединениям. Промаркированы input и output для 2х провайдеров Если у вас внутренние ресурсы проброшены через NAT (проброшены порты), то маркировать нужно не input и output, а prerouting и output. Prerouting для входящих извне. Изменено 28 мая, 2017 пользователем nkusnetsov Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sensor Опубликовано 28 мая, 2017 (изменено) · Жалоба Вот мой MANGLE я делал всё по вики или инструкциям в сети. 0 chain=input action=mark-connection new-connection-mark=gic_conn passthrough=yes in-interface=gic log=no log-prefix="> 1 chain=input action=mark-connection new-connection-mark=datagroup_conn passthrough=yes in-interface=datagroup log=no log-prefix="" 2 chain=input action=mark-connection new-connection-mark=triolan_conn passthrough=yes in-interface=triolan log=no log-prefix="" 3 chain=output action=mark-routing new-routing-mark=to_gic passthrough=yes connection-mark=gic_conn log=no log-prefix="" 4 chain=output action=mark-routing new-routing-mark=to_datagroup passthrough=yes connection-mark=datagroup_conn log=no log-prefix="" 5 chain=output action=mark-routing new-routing-mark=to_triolan passthrough=yes connection-mark=triolan_conn log=no log-prefix="" 6 chain=prerouting action=accept dst-address=1.1.1.0/23 in-interface=NLT_BRIDGE log=no log-prefix="" 7 chain=prerouting action=accept dst-address=2.2.2.2/30 in-interface=NLT_BRIDGE log=no log-prefix="" 8 chain=prerouting action=accept dst-address=3.3.3.3/24 in-interface=NLT_BRIDGE log=no log-prefix="" 9 chain=prerouting action=accept dst-address=192.168.101.0/24 in-interface=NLT_BRIDGE log=no log-prefix="" 10 chain=prerouting action=mark-connection new-connection-mark=datagroup_conn passthrough=yes dst-address-type=!local in-interface=NLT_BRIDGE per-connection-classifier=both-addresses-and-ports:7/0 log=no log-prefix="" 11 chain=prerouting action=mark-connection new-connection-mark=gic_conn passthrough=yes dst-address-type=!local in-interface=NLT_BRIDGE per-connection-classifier=both-addresses-and-ports:7/1 log=no log-prefix="" 12 chain=prerouting action=mark-connection new-connection-mark=gic_conn passthrough=yes dst-address-type=!local in-interface=NLT_BRIDGE per-connection-classifier=both-addresses-and-ports:7/2 log=no log-prefix="" 13 chain=prerouting action=mark-connection new-connection-mark=triolan_conn passthrough=yes dst-address-type=!local in-interface=NLT_BRIDGE per-connection-classifier=both-addresses-and-ports:7/3 log=no log-prefix="" 14 chain=prerouting action=mark-connection new-connection-mark=triolan_conn passthrough=yes dst-address-type=!local in-interface=NLT_BRIDGE per-connection-classifier=both-addresses-and-ports:7/4 log=no log-prefix="" 15 chain=prerouting action=mark-connection new-connection-mark=triolan_conn passthrough=yes dst-address-type=!local in-interface=NLT_BRIDGE per-connection-classifier=both-addresses-and-ports:7/5 log=no log-prefix="" 16 chain=prerouting action=mark-connection new-connection-mark=triolan_conn passthrough=yes dst-address-type=!local in-interface=NLT_BRIDGE per-connection-classifier=both-addresses-and-ports:7/6 log=no log-prefix="" 17 chain=prerouting action=mark-routing new-routing-mark=to_gic passthrough=yes connection-mark=gic_conn in-interface=NLT_BRIDGE log=no log-prefix="" 18 chain=prerouting action=mark-routing new-routing-mark=to_datagroup passthrough=yes connection-mark=datagroup_conn in-interface=NLT_BRIDGE log=no log-prefix="" 19 chain=prerouting action=mark-routing new-routing-mark=to_triolan passthrough=yes connection-mark=triolan_conn in-interface=NLT_BRIDGE log=no log-prefix="" РОУТЫ Я прописал так /ip routeA add dst-address=0.0.0.0/0 gateway=1.1.1.1 routing-mark=to_gic check-gateway=ping add dst-address=0.0.0.0/0 gateway=2.2.2.2 routing-mark=to_datagroup check-gateway=ping add dst-address=0.0.0.0/0 gateway=3.3.3.3 routing-mark=to_triolan check-gateway=ping add dst-address=0.0.0.0/0 gateway=1.1.1.1 distance=1 check-gateway=ping add dst-address=0.0.0.0/0 gateway=2.2.2.2 distance=2 check-gateway=ping add dst-address=0.0.0.0/0 gateway=3.3.3.3 distance=3 check-gateway=ping на этих настройках у меня всё работае, но доступ из мира к локальным ресурсам проимходит очень долго, к примеру сайт может открыватся 15 секунд. Изменено 28 мая, 2017 пользователем sensor Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nkusnetsov Опубликовано 28 мая, 2017 (изменено) · Жалоба sensor, покажите NAT (srcnat+dstnat) тоже пожалуйста. А если добавите forward - будет вообще замечательно. Изменено 28 мая, 2017 пользователем nkusnetsov Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sensor Опубликовано 28 мая, 2017 · Жалоба 0 ;;; NAT chain=srcnat action=masquerade src-address=192.168.101.0/24 log=no log-prefix="" 1 ;;; mai chain=dstnat action=dst-nat to-addresses=192.168.101.24 protocol=tcp dst-address=!192.168.101.0/24 dst-address-type=local dst-port=25,111,143,587 log=no log-prefix="" 2 ;;; ftp chain=dstnat action=dst-nat to-addresses=192.168.101.85 to-ports=21 protocol=tcp dst-address=!192.168.101.0/24 dst-address-type=local dst-port=21 log=no log-prefix="" 3 chain=dstnat action=dst-nat to-addresses=192.168.101.85 to-ports=45450-45500 protocol=tcp dst-address=!192.168.101.0/24 dst-address-type=local dst-port=45450-45500 log=no log-prefix="" 4 ;;; http/https chain=dstnat action=dst-nat to-addresses=192.168.101.29 to-ports=80 protocol=tcp dst-address=!192.168.101.0/24 dst-address-type=local dst-port=80 log=no log-prefix="" 5 chain=dstnat action=dst-nat to-addresses=192.168.101.29 to-ports=443 protocol=tcp dst-address=!192.168.101.0/24 dst-address-type=local dst-port=443 log=no log-prefix="" 6 ;;; redmine_old chain=dstnat action=dst-nat to-addresses=192.168.101.113 to-ports=80 protocol=tcp dst-address=!192.168.101.0/24 dst-address-type=local dst-port=12000 log=no log-prefix="" 7 XI chain=dstnat action=dst-nat to-addresses=192.168.101.113 to-ports=80 protocol=tcp dst-address-type=local dst-port=12000 log=no log-prefix="" 8 ;;; IIS_for_VOVA chain=dstnat action=dst-nat to-addresses=192.168.101.29 to-ports=8890 protocol=tcp dst-address=!192.168.101.0/24 dst-address-type=local dst-port=8890 log=no log-prefix="" 9 ;;; NIK_UBUNTU_SERVER chain=dstnat action=dst-nat to-addresses=192.168.101.140 to-ports=80 protocol=tcp dst-address=!192.168.101.0/24 dst-address-type=local dst-port=9000 log=no log-prefix="" 10 ;;; RTMP chain=dstnat action=dst-nat to-addresses=192.168.101.244 to-ports=80 protocol=tcp dst-address=!192.168.101.0/24 dst-address-type=local dst-port=8899 log=no log-prefix="" 11 chain=dstnat action=dst-nat to-addresses=192.168.101.154 to-ports=80 protocol=tcp dst-address=!192.168.101.0/24 dst-address-type=local dst-port=7999 log=no log-prefix="" 12 ;;; Andrey_Kursenko_project chain=dstnat action=dst-nat to-addresses=192.168.101.20 to-ports=8080 protocol=tcp dst-address=!192.168.101.0/24 dst-address-type=local dst-port=8080 log=no log-prefix="" 13 chain=dstnat action=dst-nat to-addresses=192.168.101.20 to-ports=8888 protocol=tcp dst-address=!192.168.101.0/24 dst-address-type=local dst-port=8888 log=no log-prefix="" 14 ;;; redmine_new chain=dstnat action=dst-nat to-addresses=192.168.101.178 to-ports=80 protocol=tcp dst-address=!192.168.101.0/24 dst-address-type=local dst-port=13000 log=no log-prefix="" 15 XI chain=dstnat action=dst-nat to-addresses=192.168.101.178 to-ports=80 protocol=tcp dst-address-type=local dst-port=13000 log=no log-prefix="" 16 ;;; iBroker chain=dstnat action=dst-nat to-addresses=192.168.101.221 to-ports=80 protocol=tcp dst-address=!192.168.101.0/24 dst-address-type=local dst-port=14000 log=no log-prefix="" 17 chain=dstnat action=dst-nat to-addresses=192.168.101.221 to-ports=80 protocol=tcp dst-address=!192.168.101.0/24 dst-address-type=local dst-port=16000 log=no log-prefix="" 18 ;;; tfb chain=dstnat action=dst-nat to-addresses=192.168.101.184 to-ports=80 protocol=tcp dst-address=!192.168.101.0/24 dst-address-type=local dst-port=20000 log=no log-prefix="" 19 chain=dstnat action=dst-nat to-addresses=192.168.101.184 to-ports=443 protocol=tcp dst-address=!192.168.101.0/24 dst-address-type=local dst-port=20001 log=no log-prefix="" 20 ;;; FTP_EM chain=dstnat action=dst-nat to-addresses=192.168.101.29 to-ports=7000 protocol=tcp dst-address=!192.168.101.0/24 dst-address-type=local dst-port=7000 log=no log-prefix="" 21 ;;; RUST_SERVER chain=dstnat action=dst-nat to-addresses=192.168.101.15 protocol=tcp dst-address=!192.168.101.0/24 dst-address-type=local dst-port=28025 log=no log-prefix="" 22 chain=dstnat action=dst-nat to-addresses=192.168.101.15 protocol=udp dst-address=!192.168.101.0/24 dst-address-type=local dst-port=28025 log=no log-prefix="" 23 chain=dstnat action=dst-nat to-addresses=192.168.101.15 protocol=tcp dst-address=!192.168.101.0/24 dst-address-type=local dst-port=28026 log=no log-prefix="" Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nkusnetsov Опубликовано 29 мая, 2017 (изменено) · Жалоба sensor, у Вас лишний раз перемаркировываются соединения. Например, пришедшее извне через интерфейс GIC соединение, помеченное на входе получит маркировку "gic_conn". Ответный пакет из локалки попадет в mangle, и правила с 10по16 перемаркируют уже имеющееся соединение, новой меткой. Изменено 29 мая, 2017 пользователем nkusnetsov Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sensor Опубликовано 29 мая, 2017 · Жалоба В написании я руководствовался офф. WIKI https://wiki.mikrotik.com/wiki/Manual:PCC Мне нравиться вариант, который написан https://habrahabr.ru/post/313342/ но я пока не понимаю как в это действие, вложить балансировку по каналам. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
myth Опубликовано 29 мая, 2017 · Жалоба Bgp. Остальное хрень, да ещё и на разных каналах Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nkusnetsov Опубликовано 30 мая, 2017 (изменено) · Жалоба sensor, балансировать вы можете только соединения инициированные из локалки, либо инициированные самим роутером. Соединения пришедшие извне должны быть обработаны тем интерфейсом, на который они пришли. Поскольку у вас балансировка per-connection, то можно её сделать и через ECMP. Оно тоже per-connection. WiKi. Достаточно в ECMP маршруте указать один провайдерский gateway один раз, а более производительный несколько раз - пропорционально пропускной способности. Еще одна хорошая статья на хабре. Там есть про обработку входящих. sensor, попробуйте модифицировать правила mangle 10-16 примерно так: 10 chain=prerouting action=mark-connection connection-mark=no-mark new-connection-mark=datagroup_conn passthrough=yes dst-address-type=!local in-interface=NLT_BRIDGE per-connection-classifier=both-addresses-and-ports:7/0 log=no log-prefix="" Изменено 30 мая, 2017 пользователем nkusnetsov Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sensor Опубликовано 30 мая, 2017 (изменено) · Жалоба Финалочка, я конечно опираясь на разные статьй немного не так всё делал. Спасибо за помошь всем кто откликнулся. Может будет интересно, вот финальный результат маркировок. Всё проверил, из мира доступ ко всем ресурсам есть, PPTP и L2TP работают. /ip firewall mangle add action=accept chain=prerouting dst-address=1.1.1.0/23 in-interface=NLT_BRIDGE add action=accept chain=prerouting dst-address=2.2.2.0/30 in-interface=NLT_BRIDGE add action=accept chain=prerouting dst-address=3.3.3.0/24 in-interface=NLT_BRIDGE add action=accept chain=prerouting dst-address=192.168.101.0/24 in-interface=NLT_BRIDGE add action=mark-connection chain=prerouting in-interface=gic new-connection-mark=gic_conn passthrough=yes add action=mark-connection chain=prerouting in-interface=datagroup new-connection-mark=datagroup_conn passthrough=yes add action=mark-connection chain=prerouting in-interface=triolan new-connection-mark=triolan_conn passthrough=yes add action=mark-connection chain=prerouting connection-mark=no-mark dst-address-type=!local in-interface=NLT_BRIDGE new-connection-mark=datagroup_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:9/0 add action=mark-connection chain=prerouting connection-mark=no-mark dst-address-type=!local in-interface=NLT_BRIDGE new-connection-mark=gic_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:9/1 add action=mark-connection chain=prerouting connection-mark=no-mark dst-address-type=!local in-interface=NLT_BRIDGE new-connection-mark=gic_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:9/2 add action=mark-connection chain=prerouting connection-mark=no-mark dst-address-type=!local in-interface=NLT_BRIDGE new-connection-mark=triolan_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:9/3 add action=mark-connection chain=prerouting connection-mark=no-mark dst-address-type=!local in-interface=NLT_BRIDGE new-connection-mark=triolan_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:9/4 add action=mark-connection chain=prerouting connection-mark=no-mark dst-address-type=!local in-interface=NLT_BRIDGE new-connection-mark=triolan_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:9/5 add action=mark-connection chain=prerouting connection-mark=no-mark dst-address-type=!local in-interface=NLT_BRIDGE new-connection-mark=triolan_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:9/6 add action=mark-connection chain=prerouting connection-mark=no-mark dst-address-type=!local in-interface=NLT_BRIDGE new-connection-mark=triolan_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:9/7 add action=mark-connection chain=prerouting connection-mark=no-mark dst-address-type=!local in-interface=NLT_BRIDGE new-connection-mark=triolan_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:9/8 add action=mark-routing chain=prerouting connection-mark=gic_conn in-interface=NLT_BRIDGE new-routing-mark=to_gic passthrough=yes add action=mark-routing chain=prerouting connection-mark=datagroup_conn in-interface=NLT_BRIDGE new-routing-mark=to_datagroup passthrough=yes add action=mark-routing chain=prerouting connection-mark=triolan_conn in-interface=NLT_BRIDGE new-routing-mark=to_triolan passthrough=yes add action=mark-routing chain=output connection-mark=gic_conn new-routing-mark=to_gic passthrough=yes add action=mark-routing chain=output connection-mark=datagroup_conn new-routing-mark=to_datagroup passthrough=yes add action=mark-routing chain=output connection-mark=triolan_conn new-routing-mark=to_triolan passthrough=yes Изменено 30 мая, 2017 пользователем sensor Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sensor Опубликовано 31 мая, 2017 · Жалоба что бы не плодить темы, такой вопрос. некторые пользователи сети жалуются, что из-за разных внешних IP адресов они не могут нормлаьно работать с внешними сервисами. Есть необходимость привязки конкретного пользователя к одному WAN адресу. В начале я попробывал через Route Rules IP привязал к конкретной таблице - работает. но доступ к данному пользователю из сети пропадает. Попробывал прописать так add action=mark-routing chain=prerouting connection-mark=no-mark dst-address-type=!local in-interface=NLT_BRIDGE new-routing-mark=to_triolan passthrough=no src-address=192.168.101.10 Вроде работает, но как-то криво. Хотя доступ из сети уже к этому пользоват есть. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nkusnetsov Опубликовано 3 июня, 2017 · Жалоба sensor, вполне нормально, не криво. Если пользователей группа, то можно создать из их адресов address-list, и в приведенном правиле ссылаться не на "src-address", а на "src-address-list" Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sensor Опубликовано 7 июня, 2017 · Жалоба sensor, вполне нормально, не криво. Если пользователей группа, то можно создать из их адресов address-list, и в приведенном правиле ссылаться не на "src-address", а на "src-address-list" спасибо так и сделал:) удобно. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
a.polev Опубликовано 12 февраля, 2018 · Жалоба Добрый день! Может кто помочь настроить настроить в маршрутизаторе микротик CCR1036-12G-4S второй канал от вышестоящего провайдера с балансировкой. На данный момент работает в тесте с одним входящим каналом и подключенным к нему билингом. не могу запустить в работу т.к. одного канала не хватает. P.S. вознаграждение гарантирую. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Saab95 Опубликовано 12 февраля, 2018 · Жалоба 10 часов назад, a.polev сказал: P.S. вознаграждение гарантирую. Только в вашем случае будет один адрес от одного провайдера и второй от другого, если натите в серые адреса. Все абоненты распределяться равномерно по количеству на все имеющиеся каналы. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
a.polev Опубликовано 13 февраля, 2018 · Жалоба 11 часов назад, Saab95 сказал: Только в вашем случае будет один адрес от одного провайдера и второй от другого, если натите в серые адреса. Все абоненты распределяться равномерно по количеству на все имеющиеся каналы. Не совсем то что мне надо, если я конечно всё правильно понял, У меня один НАТ с двумя входящими каналами. Нат управляется сервером с карбон блилинг 5 версии. Первый канал работает. т.е. все абоненты могут работать через первый канал, но его не хватает. Нужно что бы часть абонентов работали через второй канал. с автоматической балансировкой или ручной пока не сильно принципиально. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Saab95 Опубликовано 13 февраля, 2018 · Жалоба 4 часа назад, a.polev сказал: Не совсем то что мне надо, если я конечно всё правильно понял Скорее всего не правильно поняли. Вот делаете так. /ip address add address=91.33.21.3/28 interface=ether1 - внешний адрес первого провайдера add address=91.33.21.4/28 interface=ether2 - внешний адрес второго провайдера /ip firewall address-list add address=10.0.0.0/8 list=Local-IP - ваша служебная серая сеть в которой адресуете свое оборудование (коммутаторы и т.п.) add address=91.33.21.3 list=Local-IP - адрес одного провайдера add address=91.33.21.4 list=Local-IP - адрес второго провайдера add address=10.100.10.0-10.200.255.255 list=Local-ABON - адреса абонентов Разделяем абонентов на 2 группы ровно пополам /ip firewall mangle add action=add-src-to-address-list address-list=NAT_2 address-list-timeout=1h chain=prerouting comment=NAT2 dst-address-list=!Local-IP per-connection-classifier=src-address:2/0 src-address-list=Local-ABON add action=add-src-to-address-list address-list=NAT_3 address-list-timeout=1h chain=prerouting comment=NAT3 dst-address-list=!Local-IP per-connection-classifier=src-address:2/1 src-address-list=Local-ABON /ip firewall nat add action=src-nat chain=srcnat comment=NAT2 dst-address-list=!Local-IP src-address-list=NAT_2 to-addresses=91.33.21.3 - внешний адрес первого провайдера add action=src-nat chain=srcnat comment=NAT3 dst-address-list=!Local-IP src-address-list=NAT_3 to-addresses=91.33.21.4 - внешний адрес второго провайдера Тут у вас используется 2 ната по SRC адресам двух провайдеров. Балансировка по абонентам автоматическая - сколько идет запросов с IP абонентов, столько они и делятся пополам. Карбон 5 использует какую-то свою плохую схему управлением оборудованием. Нормальная схема это когда биллинг только изменяет скорости, блокирует/разблокирует абонентов. Никаких других действий биллинг осуществлять не должен, в том числе не должен создавать разрешающие/запрещающие фильтры для абонентов, тогда и никаких проблем с балансировкой не будет. Самое правильное это использование нескольких микротиков. Первый микротик только ограничивает скорость и блокирует доступ в интернет, а второй микротик делает НАТ - тогда биллинг к нему никакого отношения не имеет и можно городить любые схемы. А самая правильная схема это такая - когда для каждого внешнего канала используется свой отдельный микротик, тогда достаточно маршрутами управлять, например разбить их на две группы, первую отправлять через один микротик, вторую через второй. Так же сделать проверки на доступность, если один микротик отключить, все через оставшийся пойдут. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
a.polev Опубликовано 15 февраля, 2018 · Жалоба В 13.02.2018 в 16:22, Saab95 сказал: Скорее всего не правильно поняли. Вот делаете так. Да так, понятней. И походу даже работает. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
a.polev Опубликовано 21 февраля, 2018 · Жалоба Работает отлично, но как всегда бывает у всего хорошего есть побочный косяк. Абоненты которые используют банк клиент Сбербанк Бизнес онлайн (может и ещё какие) при смене внешнего IP приложение перезапрашивает аунтификацию. То есть клиент открывает в банке новую вкладку, срабатывает балансир. меняет внешний адрес (канал). Банк видит это и блокирует. Какой выход из этой ситуации??? Поделить всех в ручную в адрес листе и ли привязывать избранных абонентов к определённым каналам? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
myth Опубликовано 22 февраля, 2018 · Жалоба перестать ерундой заниматься и подымать bgp Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Saab95 Опубликовано 25 февраля, 2018 · Жалоба В 21.02.2018 в 17:14, a.polev сказал: при смене внешнего IP приложение перезапрашивает аунтификацию В данном случае у абонентов IP адрес не меняется. Во многих местах используется такая схема и нет жалоб. У вас точно никакие другие фильтры/манглы не вмешиваются в работу оборудования? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Xfactor3000 Опубликовано 18 марта, 2018 · Жалоба В 13.02.2018 в 11:22, Saab95 сказал: Скорее всего не правильно поняли. Вот делаете так. /ip address add address=91.33.21.3/28 interface=ether1 - внешний адрес первого провайдера add address=91.33.21.4/28 interface=ether2 - внешний адрес второго провайдера /ip firewall address-list add address=10.0.0.0/8 list=Local-IP - ваша служебная серая сеть в которой адресуете свое оборудование (коммутаторы и т.п.) add address=91.33.21.3 list=Local-IP - адрес одного провайдера add address=91.33.21.4 list=Local-IP - адрес второго провайдера add address=10.100.10.0-10.200.255.255 list=Local-ABON - адреса абонентов Разделяем абонентов на 2 группы ровно пополам /ip firewall mangle add action=add-src-to-address-list address-list=NAT_2 address-list-timeout=1h chain=prerouting comment=NAT2 dst-address-list=!Local-IP per-connection-classifier=src-address:2/0 src-address-list=Local-ABON add action=add-src-to-address-list address-list=NAT_3 address-list-timeout=1h chain=prerouting comment=NAT3 dst-address-list=!Local-IP per-connection-classifier=src-address:2/1 src-address-list=Local-ABON /ip firewall nat add action=src-nat chain=srcnat comment=NAT2 dst-address-list=!Local-IP src-address-list=NAT_2 to-addresses=91.33.21.3 - внешний адрес первого провайдера add action=src-nat chain=srcnat comment=NAT3 dst-address-list=!Local-IP src-address-list=NAT_3 to-addresses=91.33.21.4 - внешний адрес второго провайдера Тут у вас используется 2 ната по SRC адресам двух провайдеров. Балансировка по абонентам автоматическая - сколько идет запросов с IP абонентов, столько они и делятся пополам. Карбон 5 использует какую-то свою плохую схему управлением оборудованием. Нормальная схема это когда биллинг только изменяет скорости, блокирует/разблокирует абонентов. Никаких других действий биллинг осуществлять не должен, в том числе не должен создавать разрешающие/запрещающие фильтры для абонентов, тогда и никаких проблем с балансировкой не будет. Самое правильное это использование нескольких микротиков. Первый микротик только ограничивает скорость и блокирует доступ в интернет, а второй микротик делает НАТ - тогда биллинг к нему никакого отношения не имеет и можно городить любые схемы. А самая правильная схема это такая - когда для каждого внешнего канала используется свой отдельный микротик, тогда достаточно маршрутами управлять, например разбить их на две группы, первую отправлять через один микротик, вторую через второй. Так же сделать проверки на доступность, если один микротик отключить, все через оставшийся пойдут. Возникло пару вопросов. 1. Можно же будет разделить 67-33 если каналы неравноценные. Как с PCC для первого канала 3/0 и 3/1 и для второго канала 3/2. 2. Если один из каналов упадёт, получается часть пользователей останется без интернета. Возможно ли автоматически переключить их на рабочий канал? При использование src-nat я так понимаю это сделать нельзя, и тогда нужно использовать masquerade? (почему-то суппорт микротика не рекомендовал мне использовать masquerade). 3. Если поднять BGP с двумя соединениями (https://wiki.mikrotik.com/wiki/Manual:Simple_BGP_Multihoming), как можно сделать балансировку? и возможно ли сделать не только 50/50 (https://www.timigate.com/2018/01/dual-isp-ebgp-setup-with-load-balancing.html)? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
myth Опубликовано 18 марта, 2018 · Жалоба препендами Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Saab95 Опубликовано 19 марта, 2018 · Жалоба Конечно можно как угодно делить, там же каждое правило просто разделение на одну часть от общего количества. Просто в примере 2 провайдера и деление пополам, так делают, когда есть свои белые адреса и натят всех абонентов например через 16 IP, разделив всех на 16 групп. Если у вас сломался один провайдер, просто изменяете в правиле ната IP адрес, и эта группа так же идет через оставшегося в работе провайдера. Если у вас будет BGP, то желательно получать сеть /23, тогда можете делить абонентов на группы и таким образом управлять трафиком. Часто бывает, что одну подсеть /24 нельзя нормально отбалансировать, т.к. изменение весов просто перекидывает входящий трафик с одного канала на другой. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Xfactor3000 Опубликовано 19 марта, 2018 · Жалоба 5 минут назад, Saab95 сказал: Конечно можно как угодно делить, там же каждое правило просто разделение на одну часть от общего количества. Просто в примере 2 провайдера и деление пополам, так делают, когда есть свои белые адреса и натят всех абонентов например через 16 IP, разделив всех на 16 групп. Если у вас сломался один провайдер, просто изменяете в правиле ната IP адрес, и эта группа так же идет через оставшегося в работе провайдера. Если у вас будет BGP, то желательно получать сеть /23, тогда можете делить абонентов на группы и таким образом управлять трафиком. Часто бывает, что одну подсеть /24 нельзя нормально отбалансировать, т.к. изменение весов просто перекидывает входящий трафик с одного канала на другой. Здравствуйте. Большое спасибо за помощь. "Если у вас сломался один провайдер, просто изменяете в правиле ната IP адрес, и эта группа так же идет через оставшегося в работе провайдера." А как можно изменять правила ната автоматически? есть ли какое-то решение или скрипт? /23 навряд ли дадут, будет /24. Но большинство пользователей под NAT. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...