Перейти к содержимому


WoT, Mikrotik и PBR


  • Пожалуйста, авторизируйтесь для того, чтобы ответить
Сообщений в теме: 7

Igor_Pilot #1 Отправлено 05 Фев 2018 - 12:06

    Старший сержант

  • Игроки
  • 27116 боев
  • 369
  • Регистрация:
    24.01.2013

Дано: 2 канала в Интернет через 2 различных провайдеров. Один из каналов безлимитный, шлюз в сети этого провайдера является на микротике шлюзом по умолчанию, но этот канал несколько перегружен, имеют место потери пакетов, иногда довольно существенные, и поскольку почти все данные в игре передаются по UDP, не предоставляющем информации о доставке пакетов, играть дискомфортно - частые лаги, зависоны и прочее. Очевидным решением является пускать все соединения с серверами Wargaming через второго провайдера, где нет потерь пакетов и довольно комфортное значение пинга до серверов.

Все сделано следующим образом: все новые соединения с серверами Wargaming маркируются файрволом и затем эти соединения маршрутизируются через шлюз второго провайдера (Policy Based Routing - PBR):

/ip address
add address=198.51.100.22/24 comment="Му 2nd ISP" interface=ether2 network=198.51.100.0

/ip firewall address-list
add address=64.94.253.0/24 list=Wargaming
add address=74.201.99.0/24 list=Wargaming
add address=92.223.0.0/17 list=Wargaming
add address=185.12.240.0/22 list=Wargaming

/ip firewall mangle
add action=mark-connection chain=prerouting connection-state=new dst-address-list=Wargaming new-connection-mark=WoT passthrough=yes
add action=mark-routing chain=prerouting connection-mark=WoT dst-address-list=Wargaming new-routing-mark=My2ndISP passthrough=yes

/ip firewall nat
add action=src-nat chain=srcnat out-interface=ether2 to-addresses=198.51.100.22

/ip route
add distance=1 gateway=198.51.100.1 routing-mark=My2ndISP

При этом все работает, но любое действие в игре происходит с большими задержками. Например, снятие/установка оборудования или пересадка членов экипажа длится секунд 10. В бою танк часто просто не реагирует на нажимаемые клавиши или реагирует с очень большой задержкой - можно начать двигаться вперед и так и продолжать двигаться, пока куда-нибудь не упрешься, несмотря ни на что. Если же все 4 подсети из списка Wargaming маршрутизировать самым обычным образом через /ip route, то все работает без нареканий, но это решение мне неудобно, т.к. не хватает гибкости - на самом деле провайдеров не 2, а 3 и я хочу выходить через любого из них, оперативно включая/отключая только 1 строку в конфиге, вместо минимум восьми. Очевидно, что проблема в моих настройках PBR на микротике, либо в самом микротике, либо в фазе Меркурия, т.к. я уверен, что в обоих случаях пакеты идут только в нужный интерфейс и mikrotik имеет свободные ресурсы (нагрузка ниже 10% и масса свободной памяти).

Имею данную проблему в 2 разных местах с разными провайдерами дополнительного канала Интернет на разном оборудовании Mikrotik: hAP (RB951Ui-2nD) и RB2011UiAS-RM, оба с MikrotikOS v6.41.

 

Есть тут специалисты по микротику, которые могли бы пролить свет на то, в чем же проблема?



Alexandr_oskolkov #2 Отправлено 05 Фев 2018 - 12:12

    Лейтенант

  • Игроки
  • 16313 боев
  • 1 696
  • [AMRI] AMRI
  • Регистрация:
    24.01.2016

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

не?

 


2B||!2B=?

_X_o_p_y_c_ #3 Отправлено 05 Фев 2018 - 12:12

    Старший лейтенант

  • Игроки
  • 22433 боя
  • 3 138
  • [F0X_R] F0X_R
  • Регистрация:
    20.04.2013
Слишком сложно, подключись к одному нормальному и не парь себе мозги.

Loadrunner #4 Отправлено 06 Фев 2018 - 05:36

    Лейтенант

  • Игроки
  • 18248 боев
  • 1 862
  • [JIUC] JIUC
  • Регистрация:
    19.02.2011
Ты реально считаешь, что здесь есть специалисты по RouterOS? :) Задай свой вопрос на форуме Микротика.

"Можно я посоветую Вам поменьше играть, а побольше учиться? Даже если финансовый отдел этого не одобрит?" © SerB

"Почему-то некоторые граждане, купив день према, считают, что они купили 100% акций Варгейминга." © SerB
"Мы настолько ленивы, что считаем Ctrl-C-Ctrl-V величайшим изобретением человечества" © SerB


Polosatoe #5 Отправлено 06 Фев 2018 - 17:53

    Новобранец

  • Игроки
  • 15739 боев
  • 0
  • [WAR_A] WAR_A
  • Регистрация:
    13.10.2011

Просмотр сообщенияIgor_Pilot (05 фев 2018 - 11:06) писал:

Дано: 2 канала в Интернет через 2 различных провайдеров. Один из каналов безлимитный, шлюз в сети этого провайдера является на микротике шлюзом по умолчанию, но этот канал несколько перегружен, имеют место потери пакетов, иногда довольно существенные, и поскольку почти все данные в игре передаются по UDP, не предоставляющем информации о доставке пакетов, играть дискомфортно - частые лаги, зависоны и прочее. Очевидным решением является пускать все соединения с серверами Wargaming через второго провайдера, где нет потерь пакетов и довольно комфортное значение пинга до серверов.

Все сделано следующим образом: все новые соединения с серверами Wargaming маркируются файрволом и затем эти соединения маршрутизируются через шлюз второго провайдера (Policy Based Routing - PBR):

/ip address
add address=198.51.100.22/24 comment="Му 2nd ISP" interface=ether2 network=198.51.100.0

/ip firewall address-list
add address=64.94.253.0/24 list=Wargaming
add address=74.201.99.0/24 list=Wargaming
add address=92.223.0.0/17 list=Wargaming
add address=185.12.240.0/22 list=Wargaming

/ip firewall mangle
add action=mark-connection chain=prerouting connection-state=new dst-address-list=Wargaming new-connection-mark=WoT passthrough=yes
add action=mark-routing chain=prerouting connection-mark=WoT dst-address-list=Wargaming new-routing-mark=My2ndISP passthrough=yes

/ip firewall nat
add action=src-nat chain=srcnat out-interface=ether2 to-addresses=198.51.100.22

/ip route
add distance=1 gateway=198.51.100.1 routing-mark=My2ndISP

При этом все работает, но любое действие в игре происходит с большими задержками. Например, снятие/установка оборудования или пересадка членов экипажа длится секунд 10. В бою танк часто просто не реагирует на нажимаемые клавиши или реагирует с очень большой задержкой - можно начать двигаться вперед и так и продолжать двигаться, пока куда-нибудь не упрешься, несмотря ни на что. Если же все 4 подсети из списка Wargaming маршрутизировать самым обычным образом через /ip route, то все работает без нареканий, но это решение мне неудобно, т.к. не хватает гибкости - на самом деле провайдеров не 2, а 3 и я хочу выходить через любого из них, оперативно включая/отключая только 1 строку в конфиге, вместо минимум восьми. Очевидно, что проблема в моих настройках PBR на микротике, либо в самом микротике, либо в фазе Меркурия, т.к. я уверен, что в обоих случаях пакеты идут только в нужный интерфейс и mikrotik имеет свободные ресурсы (нагрузка ниже 10% и масса свободной памяти).

Имею данную проблему в 2 разных местах с разными провайдерами дополнительного канала Интернет на разном оборудовании Mikrotik: hAP (RB951Ui-2nD) и RB2011UiAS-RM, оба с MikrotikOS v6.41.

 

Есть тут специалисты по микротику, которые могли бы пролить свет на то, в чем же проблема?

 

все реально, для начала надо правильно описать правила маркировки ВХОДЯЩЕГО трафа на обоих ( и более) провайдерах
/ip fire man add chain=prerouting in-interface=ISP1 action=mark-connection connection-mark=ISP1-mark pass=yes

/ip fire man add chain=prerouting in-interface=ISP2 action=mark-connection connection-mark=ISP2-mark pass=yes

далее по желанию...

ответы на вход соединения отправляем в ПРАВИЛЬНЫЙ интерфейс

/ip fire man add chain=output  connection-mark=ISP1-mark action=mark-routing new-routing-mark=ISP1-route pass=no

/ip fire man add chain=output  connection-mark=ISP2-mark action=mark-routing new-routing-mark=ISP2-route pass=no

далее по желанию !!! в соответсвии с выше пожелаемому!!! желанию...

в таблице маршрутизадницы указываем основные маршруты

/ ip route add dst-address=0.0.0.0/0 routing-mark=ISP1-route gateway={IP gateway ISP1}

/ ip route add dst-address=0.0.0.0/0 routing-mark=ISP2-route gateway={IP gateway ISP2}

 

/ip firewall nat

add action=masquerade chain=srcnat out-interface=ether1 comment="ISP1"

add action=masquerade chain=srcnat out-interface=ether2 comment="ISP2"

 

Это только часть описывающая !!!вход соединения от провайдеров!!!, подразумевается, что внутр сети прописаны и для них есть все правила....

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

а вот теперь уже можно заворачивать address-list в желаемый роутинг-марк и как в следствии желаемый/ого канал/провайдер

/ip firewall address-list
add address=64.94.253.0/24 list=Wargaming
add address=74.201.99.0/24 list=Wargaming
add address=92.223.0.0/17 list=Wargaming
add address=185.12.240.0/22 list=Wargaming

add action=mark-routing chain=output dst-address-list=Wargaming new-routing-mark=ISP2-route passthrough=no

 

PS: настройка Mikrotik интереснее чем Таньки :)) за нее еще и платят и спасибо говорят :))

 

если будешь делать - отпиши результат, плз.... писал по памяти


Сообщение отредактировал Polosatoe: 06 Фев 2018 - 17:56


Igor_Pilot #6 Отправлено 02 Мар 2018 - 07:26

    Старший сержант

  • Игроки
  • 27116 боев
  • 369
  • Регистрация:
    24.01.2013

Просмотр сообщенияPolosatoe (06 Фев 2018 - 19:53) писал:

 

все реально, для начала надо правильно описать правила маркировки ВХОДЯЩЕГО трафа на обоих ( и более) провайдерах
/ip fire man add chain=prerouting in-interface=ISP1 action=mark-connection connection-mark=ISP1-mark pass=yes

/ip fire man add chain=prerouting in-interface=ISP2 action=mark-connection connection-mark=ISP2-mark pass=yes

далее по желанию...

 

Не нужно маркировать входящий трафик, т.к. инициатором соединения с серверами Wargaming является клиент, находящийся внутри сети, а не сервер. Все остальные соединения тут не при чем.

Все дело в было в fasttrack - его нужно было отключить, чтобы все заработало, как задумано и описано в конфиге из стартового сообщения темы.



Polosatoe #7 Отправлено 06 Мар 2018 - 17:06

    Новобранец

  • Игроки
  • 15739 боев
  • 0
  • [WAR_A] WAR_A
  • Регистрация:
    13.10.2011
фасттрек действует на connectred/established....
хорошо что получилось, маркировка для того чтобы пакеты/ответы для ISP2  не попададали в ISP1, сервер или клиент тут не принципиально

Igor_Pilot #8 Отправлено 09 Мар 2018 - 10:41

    Старший сержант

  • Игроки
  • 27116 боев
  • 369
  • Регистрация:
    24.01.2013

Просмотр сообщенияPolosatoe (06 мар 2018 - 19:06) писал:

фасттрек действует на connectred/established....

 

Именно поэтому он и мешал. Поскольку mark routing работает на уровне пакетов, а не соединений, то им необходимо помечать каждый пакет внутри соединения и эта операция выполняется файрволом, а fasttrack посылает пакеты мимо файрвола, соответственно пакеты не помечались и не шли по нужному маршруту.

 

Просмотр сообщенияPolosatoe (06 мар 2018 - 19:06) писал:

маркировка для того чтобы пакеты/ответы для ISP2  не попададали в ISP1, сервер или клиент тут не принципиально

 

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




Количество пользователей, просматривающих этот форум: 1

0 пользователей, 0 гостей, 0 анонимных