Здравствуйте. Имею такой конфиг: /ip firewall mangle> add action=accept chain=prerouting dst-address-list=local src-address-list=local add action=mark-connection chain=input in-interface=ether8 new-connection-mark=AT-conn passthrough=yes add action=mark-connection chain=input in-interface=pppoe-out-rostelecom new-connection-mark=RT-conn passthrough=yes add action=mark-connection chain=input in-interface=ether8 new-connection-mark=AT-conn passthrough=yes add action=mark-connection chain=input in-interface=pppoe-out-rostelecom new-connection-mark=RT-conn passthrough=yes add action=mark-routing chain=output connection-mark=AT-conn new-routing-mark=to-AT passthrough=yes add action=mark-routing chain=output connection-mark=RT-conn new-routing-mark=to-RT passthrough=yes add action=mark-routing chain=prerouting comment="local_to_AT" new-routing-mark=to-AT passthrough=no src-address=192.168.1.0/24 add action=mark-routing chain=prerouting comment="local_to_AT" new-routing-mark=to-AT passthrough=no src-address=192.168.252.0/24 add action=mark-routing chain=prerouting comment="local_to_AT" new-routing-mark=to-AT passthrough=no src-address=192.168.254.0/24 add action=mark-routing chain=prerouting comment="local_to_RT" new-routing-mark=to-RT passthrough=no src-address=192.168.1.0/24 add action=mark-routing chain=prerouting comment="local_to_RT" new-routing-mark=to-RT passthrough=no src-address=192.168.252.0/24 add action=mark-routing chain=prerouting comment="local_to_RT" new-routing-mark=to-RT passthrough=no src-address=192.168.254.0/24 /ip firewall address-list add address=192.168.1.0/24 list=local add address=192.168.252.0/24 list=local add address=192.168.254.0/24 list=local /ip route add distance=3 gateway=x.x.x.1 routing-mark=to-AT add distance=4 gateway=pppoe-out-RT routing-mark=to-RT add check-gateway=ping distance=1 gateway=x.x.x.1 add distance=2 gateway=pppoe-out-rostelecom Вроде все работает, и сети нужные по нужным провайдерам ходят и резервирование работает. Смущает правило в манглах /ip firewall mangle> add action=accept chain=prerouting dst-address-list=local src-address-list=local Без него сети не видят и не общаются с друг другом... Добавил новую подсеть 192.168.0.100.0/24 и пустил пинг с рабочей машины увидел отменную картину: C:\Users\admin>ping 192.168.100.1 Обмен пакетами с 192.168.100.1 по с 32 байтами данных: Превышен интервал ожидания для запроса. Превышен интервал ожидания для запроса. Превышен интервал ожидания для запроса. Превышен интервал ожидания для запроса. C:\Users\admin>ping 192.168.100.2 Обмен пакетами с 192.168.100.2 по с 32 байтами данных: Превышен интервал ожидания для запроса. Ответ от x.x.x.229: Заданный узел недоступен. Ответ от x.x.x.229: Заданный узел недоступен. Ответ от x.x.x.229: Заданный узел недоступен. пинги уходят в провайдера Сам микротик прекрасно пингует 192.168.100.2 Стоит добавить подсеть в лист local или прописать правила /ip firewall mangle> add action=accept chain=prerouting disabled=yes dst-address=192.168.1.0/24 src-address=192.168.100.0/24 add action=accept chain=prerouting disabled=yes dst-address=192.168.100.0/24 src-address=192.168.1.0/24 Все работает. Помогите разобраться....
Если это правило не сделать, или иным способом не исключить из маркировки пакет идущей в из одной локальной сети в другую, то он будет отмаркирован маршрутом, после чего маршрут будет искаться в именованной таблице. То есть он улетит к провайдеру.
оно и понятно, только часть пакетов в этой схеме улетала к активному провайдеру. И нагрузка на CPU на RB2011UiAS была в диапазоне от 40-70%. В общем в субботу я посидел, переделал немного, все косяки ушли, и нагрузка на CPU спала до 10-40% Spoiler: конфиг /ip firewall mangle add action=mark-connection chain=input in-interface=ether8 new-connection-mark=AT-in passthrough=no disabled=no add action=mark-connection chain=input in-interface=pppoe-out-rostelecom new-connection-mark=RT-in passthrough=no disabled=no add action=mark-connection chain=forward in-interface=ether8 new-connection-mark=AT-for passthrough=no disabled=no add action=mark-routing chain=prerouting connection-mark=AT-for new-routing-mark=AT-rout passthrough=no src-address-list=local disabled=no add action=mark-connection chain=forward in-interface=pppoe-out-rostelecom new-connection-mark=RT-for passthrough=no disabled=no add action=mark-routing chain=prerouting connection-mark=RT-for new-routing-mark=RT-rout passthrough=no src-address-list=local disabled=no add action=mark-routing chain=output connection-mark=AT-in new-routing-mark=AT-rout passthrough=no disabled=no add action=mark-routing chain=output connection-mark=RT-in new-routing-mark=RT-rout passthrough=no disabled=no add action=mark-routing chain=prerouting connection-mark=no-mark dst-address-list=!local new-routing-mark=AT-rout passthrough=no src-address-list=to_AT disabled=no add action=mark-routing chain=prerouting connection-mark=no-mark dst-address-list=!local new-routing-mark=RT-rout passthrough=no src-address-list=to_RT disabled=no /ip route add check-gateway=ping comment="AT-route" distance=1 gateway=xx.xx.xx.xx pref-src=xx.xx.xx.zz routing-mark=AT-rout disabled=no add check-gateway=ping comment="RT-route" distance=1 gateway=pppoe-out-RT routing-mark=RT-rout disabled=no add check-gateway=ping comment="Default GW" distance=1 gateway=xx.xx.xx.xx pref-src=xx.xx.xx.zz routing-mark=AT-rout disabled=no add check-gateway=ping comment="Second Default GW" distance=2 gateway=pppoe-out-RT routing-mark=RT-rout disabled=no /ip firewall nat add action=accept chain=srcnat out-interface-list=internet src-address-list=local_nat_deny disabled=no add action=masquerade chain=srcnat out-interface-list=internet src-address-list=local disabled=no /ip firewall address-list add address=192.168.1.0/24 list=local add address=192.168.252.0/24 list=local add address=192.168.254.0/24 list=local add address=192.168.254.0/24 list=local_nat_deny add address=192.168.252.0/24 list=to_RT add address=192.168.1.0/24 list=to_AT Пояснение Листы local - все сети. Листы to_RT и to_AT - описывают сети кому в какого провайдера выходить local_nat_deny - этим сетям инет не нужен) И теперь имею разделение сетей по провайдерам, с полным автоматическим переключение в случай отказа одного из провайдеров.