Перейти к содержимому
Калькуляторы

@RN3DCX  WAN и LAN это просто названия.  Название не имеет значения кому как удобно, то так и называет интерфейсы. 

 

Можно ссылки скинуть? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 час назад, pingz сказал:

Название не имеет значения кому как удобно, то так и называет интерфейсы. 

Да, но функционал у этих интерфейсов разный. 

Скрытый текст

В разных статьях при использовании NAT'а кто-то указывает in-interface=LAN, а кто-то in-interface=WAN.

Вопрос, так, что же правильнее?

 

/ip firewall mangle

add action=mark-connection chain=prerouting in-interface= ? (WAN или LAN) new-connection-mark=con-WAN1 passthrough=no per-connection-classifier=src-address-and-port:2/0

add action=mark-connection chain=prerouting in-interface= ? (WAN или LAN) new-connection-mark=con-WAN2 passthrough=no per-connection-classifier=src-address-and-port:2/1

 

И еще вопрос, нужна ли опция in-interface-list или же можно и без неё?

add action=mark-routing chain=prerouting connection-mark=con-WAN1 in-interface-list=!lst-WAN new-routing-mark=WAN1 passthrough=no

add action=mark-routing chain=prerouting connection-mark=con-WAN2 in-interface-list=!lst-WAN new-routing-mark=WAN2 passthrough=no

 

 

1 час назад, pingz сказал:

Можно ссылки скинуть? 

https://mum.mikrotik.com//presentations/RU16V/presentation_3301_1458634675.pdf      стр. 21

https://mum.mikrotik.com//presentations/RU18M/presentation_6157_1554717194.pdf     стр. 28

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@RN3DCX По логике.

Вы маркируете пул 192.168.0.0/24 

Эти адреса находятся в вашей внутренней сети на вашем внутреннем интерфейсе. 

 

Интерфейс можно назвать по разному кому как удобно. 

Мне вот так удобно eth2.3800. Кому-то WAN или LAN это дело вкуса. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

45 минут назад, pingz сказал:

Кому-то WAN или LAN это дело вкуса. 

pingz, ты там что куришь!? )

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

после примера с wiki некротика (ссылка), лыжи окончательно встали...

 

add chain=prerouting in-interface=ISP1 connection-mark=no-mark action=mark-connection new-connection-mark=ISP1_conn

add chain=prerouting in-interface=LAN connection-mark=no-mark action=mark-connection new-connection-mark=ISP1_conn dst-address-type=!local per-connection-classifier=both-addresses:2/0  

 

При условии из примера, что ISP1 = 10.111.0.2/24, а LAN = 10.111.0.0/24. Выходит что подсети совпадают.

И вот ***@ тогда тут первое правило нужно!? Ведь оно полностью дублируется вторым правилом???
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@RN3DCX  был бы листочек бумаги я бы тебе это нарисовал и объяснил. 

 

Попробую текстом. 

В первом варианте маркировка идет через адрес листы, во втором случае через both-addresses(сам не юзал, для меня это новость) на основании интерфейса. Будит ли работать при этом "балансировка" хз 

Тупо нужно разбить /24 сеть пополам. 

Представь ситуацию без ната. 

Мы маркировку для входящего трафика от клиентов и согласно этой маркировке трафик отправляется в нужный маршрут. (я так делал, когда мне нужно было клиентов с реальниками отправить на шлюз, а клиентов за натом, на маршрутизатор с NAT) 

Работает маршрутизация. 

 

Тут могу ошибаться, но как я прочитал конфиг. Сам не настраивал NAT + PBR.

 

В первой PDF немного не понятно, т.к. общей картины не видно. 

Во второй весь конфиг выложен. 

 

Сперва нужно промаркировать трафик от клиентов входящий на маршутизатор

В первой PDF с 24 страницы

# Создаем списки адресов 
/ip firewall address-list 
add address=192.168.88.0/25 list=First-NET 
add address=192.168.88.128/25 list=second-NET 
# Маркируем соединения 
/ip firewall mangle 
add action=mark-connection chain=prerouting new-connection-mark=con-WAN1 \ src-address-list=First-NET 
add action=mark-connection chain=prerouting new-connection-mark=con-WAN2 \ src-address-list=Second-NET
add action=mark-connection chain=prerouting dst-port=25,110,143 \ new-connection-mark=con-WAN3 protocol=tcp src-address=192.168.88.50 
# Маркируем маршруты 
add action=mark-routing chain=prerouting connection-mark=con-WAN1 \ in-interface-list=!lst-WAN new-routing-mark=WAN1 passthrough=yes 
add action=mark-routing chain=prerouting connection-mark=con-WAN2 \ in-interface-list=!lst-WAN new-routing-mark=WAN2 passthrough=yes 
add action=mark-routing chain=prerouting connection-mark=con-WAN3 \ in-interface-list=!lst-WAN new-routing-mark=WAN3 passthrough=yes

 

 

Во второй PDF

/ip firewall mangle 

add action=mark-connection chain=prerouting dst-address-type=!local in-interface=LAN new-connection-mark=connections-FirstISP per-connection-classifier=\ both-addresses:2/0 

add action=mark-routing chain=prerouting connection-mark=connections-FirstISP dst-address-type=!local new-routing-mark=route-FirstISP passthrough=no 

add action=mark-connection chain=prerouting dst-address-type=!local in-interface=LAN new-connection-mark=connections-SecondISP per-connection-classifier=\ both-addresses:2/1


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

Первая PDF 23 страница.

 

Сравни два этих правила, они сделаны просто по разному.  

add action=mark-connection chain=prerouting connection-mark=no-mark \ in-interface=ether1-WAN1 new-connection-mark=con-WAN1 
add action=mark-connection chain=prerouting connection-mark=no-mark \ in-interface=ether2-WAN2 new-connection-mark=con-WAN2 
add action=mark-routing chain=prerouting connection-mark=con-WAN1 \ in-interface-list=!lst-WAN new-routing-mark=WAN1 
add action=mark-routing chain=prerouting connection-mark=con-WAN2 \ in-interface-list=!lst-WAN new-routing-mark=WAN2 
add action=mark-routing chain=output connection-mark=con-WAN1 new-routing-mark=WAN1 
add action=mark-routing chain=output connection-mark=con-WAN2 new-routing-mark=WAN2

add action=mark-connection chain=input in-interface=FirstISP new-connection-mark=connections-FirstISP 
add action=mark-connection chain=input in-interface=SecondISP new-connection-mark=connections-SecondISP 
add action=mark-routing chain=prerouting connection-mark=connections-SecondISP dst-address-type=!local new-routing-mark=route-SecondISP passthrough=no 
add action=mark-routing chain=output connection-mark=connections-FirstISP new-routing-mark=route-FirstISP passthrough=no 
add action=mark-routing chain=output connection-mark=connections-SecondISP new-routing-mark=route-SecondISP passthrough=no


 

 

 

З.Ы. Про wan и lan я вас не понял сразу, вам нужно было в первой pdf прочесть еще 24 страницу там разные правила маркировки одни для внутренней сети другие для внешней. 

 

 

З.З.Ы. один и тот же функционал можно реализовать по разному 

Яркий пример с фаерволом можно запретить трафик до 0.0.0.0/0, а потом разрешающими правилами нужные подсети, а можно наоборот разрешить трафик до 0.0.0.0/0 и запрещающими правила запретить нужные подсети.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Теперь понятно почему у некоторых микротик загибается на 1гбит трафика=)

 

Там по сути вики это на домашнем микротике 2 провайдера соединить в одно соединение.

 

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

 

Все же правила типа new-connection сильно загружают оборудование, по сути их надо все как-то маркировать, а самым первым делать правило, которое откидывает уже все установленные соединения.

 

И отсюда самый верный вариант, это поставить несколько микротиков и разбить задачи по ним, первые 2 интернет соединения поднимают с провайдером, третий микротик все объединяет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

51 минуту назад, Saab95 сказал:

а самым первым делать правило, которое откидывает уже все установленные соединения.

/ip firewall filter
add action=accept chain=input connection-state=established,related,untracked

 

об этом правиле идёт речь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

3 часа назад, pingz сказал:

add action=mark-routing chain=prerouting connection-mark=con-WAN3 in-interface-list=!lst-WAN new-routing-mark=WAN3 passthrough=yes

in-interface-list=!lst-WAN - т.е. всё кроме списка lst-WAN ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

5 часов назад, Saab95 сказал:

Теперь понятно почему у некоторых микротик загибается на 1гбит трафика=)

 

Там по сути вики это на домашнем микротике 2 провайдера соединить в одно соединение.

 

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

 

Все же правила типа new-connection сильно загружают оборудование, по сути их надо все как-то маркировать, а самым первым делать правило, которое откидывает уже все установленные соединения.

 

И отсюда самый верный вариант, это поставить несколько микротиков и разбить задачи по ним, первые 2 интернет соединения поднимают с провайдером, третий микротик все объединяет.

рука лицо.... микрот мне в голову, загибается он потому что это железка одной задачи, чем Вы все подтверждаете, вообще самый верный вариант помочь человеку в теме разобраться, а не писать что больше микротов единственный выход, может он задачу делает для офиса из 20ти человек

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 25.03.2020 в 20:54, RN3DCX сказал:

задача корпоративная, офис+склад, за сем надеюсь что CCR хватит за глаза.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@RN3DCX ! в Mikrotik означает кроме.

 

В одном из вариантов используется маркировка с использованием исключения  "!" в другом сперва маркируется трафик, а потом делается исключение в маркированом трафике. 

 

З.Ы. еще раз повторю, сам не настраивал, я так прочитал конфиг.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

5 часов назад, pingz сказал:

! в Mikrotik означает кроме.

вот кстати вопрос.

 

Инфа с хабра: Отступление про dst-address-type=!local (ссылка)
Дополнительное условие dst-address-type=!local необходимо чтобы трафик от пользователей доходил до локальных процессов роутера (dns, winbox, ssh, ...)

 

Хотя на других ресурсах пишут (ссылка)

dst-address-type=!local не имеющим адрес назначения адреса интерфейсов самого роутера.

 

И вот кому в итоге верить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Верить своему списку локальных адресов. Все начинается с определения задачи что и как балансировать. А тут все в кашу намешали.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@feeman вы перепутали wan с lan

 

По первой ссылке маркировка приходит lan интерфейсов за которыми находятся пользователи.

 

Во второй ссылке маркировка происходит wan это исходящие интерфейсы в интернет. 

 

З.Ы. путаете холодное с горячим, выше примерно такая же проблема была. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

При использовании PPPoE-клиента и Load Balance, на просторах интернета нашел два варианта.

 

1-й вариант: (ТыЦ на ссылку)

/ ip route
add check-gateway=ping distance=1 gateway=WAN1 routing-mark=to_WAN1
add check-gateway=ping distance=1 gateway=WAN2 routing-mark=to_WAN2
add check-gateway=ping distance=1 gateway=WAN1
add check-gateway=ping distance=2 gateway=WAN2

 

2-й вариант: (ТыЦ на ссылку) Тоже правило, но тут зачем-то добавляют dst-address.

/ ip route
add check-gateway=ping distance=1 dst-address=0.0.0.0/0 gateway=WAN1 routing-mark=to_WAN1
add check-gateway=ping distance=1 dst-address=0.0.0.0/0 gateway=WAN2 routing-mark=to_WAN2
add check-gateway=ping distance=1 dst-address=0.0.0.0/0 gateway=WAN1
add check-gateway=ping distance=2 dst-address=0.0.0.0/0 gateway=WAN2

И вот вопрос, какое правило всё же правильнее?

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@RN3DCX  друг кто как хочет, тот так и настраивает вариантов масса.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

20 hours ago, RN3DCX said:

Тоже правило, но тут зачем-то добавляют dst-address.

Это буквально одно и то же, так как если dst-address не указывается, будет использовано значение по дефолту, которое равно 0.0.0.0/0.

https://wiki.mikrotik.com/wiki/Manual:IP/Route#General_properties

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пробую различные способы балансировки из вики микротик. Работаю с RB962UiGS-5HacT2HnT
 

Подскажите какой вариант балансировки предпочтительнее использовать для офиса в 100 пользователей и 2 канала по 100мбит? потянет ли мой микротик такую нагрузку?

 

посмотрел как работает PCC, всё ок но как-то не всегда работает, т.е. бывают моменты, когда странички перестают открываться, либо открываются долго. да и вообще не комфортно работать стало. Но "всё ок" это значит, что проброс портов работает и интернет тоже кое-как но работает.

 

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

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

 

подскажите как правильнее решить такую задачу, если вас не затруднит ?

и сразу скажу: у меня нет mtcna и подобного...

Изменено пользователем vfiuchcikicshuusrch

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вам надо начать с того, что определить что там за каналы. Это должны быть IP интерфейсы. Одному интерфейсу заводите вручную маршрут на 0.0.0.0/0 с метрикой 1 и меткой inet1, второму то же самое, только метка inet2.

Делаете 2 правила НАТ, в каждом указываете src-address-list соответственно inet1 и inet2, и действие src-nat = внешнему IP одного и другого провайдера.

В манглах делаете так же 2 правила, где src-address-list так же inet1 и inet2, там действие марк роутинг на inet1 и inet2.

 

Дальше те IP пользователей, которые добавите в адрес листы inet1 пойдут через 1 канал, из inet2 через второй канал.

 

Тут надо как-то пользователей распределить, например через PCC, разбить на 2 группы, каждую на свой адрес лист.

 

Что бы один пользователь не забрал весь канал, делаете 2 ограничения скорости, в которых указываете максимальную скорость 95М (от канала 100М), далее идете в типы шейперов и создаете там правило типа PCQ с указанием всех классификаторов и буфера ставите побольше, в ранее созданных ограничениях скорости меняете типы шейпера на созданные вами. После этого если кто-то один начнет качать на все, то ему скорость подрежут при наличии трафика от других клиентов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Saab95 очень похоже на пример настройки nth в вики микротик.

попробую понять и сделать как вы написали.

 

на данном этапе с конфигом ниже, получается так, что очень редко, кто попадает в другой список, большинство залетают в список odd. подскажите как это исправить ?

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

 

Скрытый текст

/ ip address
add address=192.168.0.1/24 network=192.168.0.0 broadcast=192.168.0.255 interface=Local 
add address=10.111.0.2/24 network=10.111.0.0 broadcast=10.111.0.255 interface=wlan2
add address=10.112.0.2/24 network=10.112.0.0 broadcast=10.112.0.255 interface=wlan1

/ ip firewall mangle
add chain=prerouting src-address-list=odd in-interface=Local action=mark-connection \
  new-connection-mark=odd passthrough=yes 
add chain=prerouting src-address-list=odd in-interface=Local action=mark-routing \
  new-routing-mark=odd passthrough=no
add chain=prerouting src-address-list=even in-interface=Local action=mark-connection \
  new-connection-mark=even passthrough=yes 
add chain=prerouting src-address-list=even in-interface=Local action=mark-routing \
  new-routing-mark=even passthrough=no
add chain=prerouting in-interface=Local connection-state=new nth=2,1 \ 
    action=mark-connection new-connection-mark=odd passthrough=yes
add chain=prerouting in-interface=Local action=add-src-to-address-list \
  address-list=odd address-list-timeout=1d connection-mark=odd passthrough=yes 
add chain=prerouting in-interface=Local connection-mark=odd action=mark-routing \ 
    new-routing-mark=odd passthrough=no
add chain=prerouting in-interface=Local connection-state=new nth=2,2 \ 
    action=mark-connection new-connection-mark=even passthrough=yes
add chain=prerouting in-interface=Local action=add-src-to-address-list \
  address-list=even address-list-timeout=1d connection-mark=even passthrough=yes 
add chain=prerouting in-interface=Local connection-mark=even action=mark-routing \ 
    new-routing-mark=even passthrough=no

/ ip firewall nat 
add chain=srcnat out-interface=wlan1 action=masquerade
add chain=srcnat out-interface=wlan2 action=masquerade

/ ip route 
add dst-address=0.0.0.0/0 gateway=10.111.0.1 scope=255 target-scope=10 routing-mark=odd
add dst-address=0.0.0.0/0 gateway=10.112.0.1 scope=255 target-scope=10 routing-mark=even 
add dst-address=0.0.0.0/0 gateway=10.112.0.1 scope=255 target-scope=10 

 

Изменено пользователем vfiuchcikicshuusrch

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а вообще раньше рекомендовали ECMP, но с выходом 6.х версии ROS, что-то сломалось и его использование просто так стало не возможно. подскажите как исправить это ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

/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=10.100.10.0-10.200.255.255 list=Local-ABON

/ip firewall mangle
add action=add-src-to-address-list address-list=NAT_1 address-list-timeout=1h chain=prerouting comment=NAT1 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_2 address-list-timeout=1h chain=prerouting comment=NAT2 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=NAT1 dst-address-list=!Local-IP src-address-list=NAT_1 to-addresses=91.33.21.3
add action=src-nat chain=srcnat comment=NAT2 dst-address-list=!Local-IP src-address-list=NAT_2 to-addresses=91.33.21.4

Вот как-то так (маршруты тут не указаны).

Вместо адресов на ether1 и 2 указываете свои, ну и в НАТ так же указываете ваши IP на интерфейсах. В списке Local-ABON указываете подсеть внутренних абонентов. Ну и Local-IP так же ваша внутренняя сетка, что бы при запросах между абонентами они в правила не попадали.

 

Смысл работы прост, сначала правила в манглах разбивают все запросы поровну на 2 группы. Разбивает по IP адресам внутренних абонентов. То есть первый абонент попадет в 1 группу, второй абонент во 2, третий в 1, четвертый во 2. Далее в зависимости от нахождения абонента в свой группе, его запросы в интернет будут через НАТ отправлены через первого или второго провайдера в интернет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.