Настройка pppoe на микротик

Преимущества «Tcp connection established from mikrotik ppp info»

Одним из ключевых преимуществ «Tcp connection established from mikrotik ppp info» является возможность установки надежного и безопасного соединения между MikroTik роутером и другими устройствами, использующими протокол TCP/IP.

Надежность: Установка соединения по протоколу TCP гарантирует доставку пакетов данных в правильной последовательности и без потерь

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

Безопасность: Протокол TCP/IP предоставляет механизмы шифрования данных, такие как SSL или TLS, что позволяет обеспечить конфиденциальность и защиту передаваемой информации. Это важно при работе с чувствительными данными, такими как банковская информация или персональные данные клиентов.

Масштабируемость: MikroTik роутер с функцией «Tcp connection established from mikrotik ppp info» может поддерживать большое количество одновременных TCP-соединений, что делает его идеальным решением для сетей с высокой нагрузкой или множеством пользователей.

Управление трафиком: С помощью «Tcp connection established from mikrotik ppp info» можно осуществлять контроль и управление трафиком, например, ограничивать пропускную способность для определенных соединений или приложений, определять приоритеты передачи данных и контролировать доступность ресурсов сети.

В целом, использование «Tcp connection established from mikrotik ppp info» позволяет создать стабильное и безопасное сетевое соединение, обеспечивающее надежность передачи данных и эффективное управление сетью.

Configuring the FabrikaM router

The FabrikaM router is an end-point for the VPN access. We need to configure it to accept all PPTP connections.

It’s very easy to setup the server side of this connection. We will finish all tasks in the same dialog window.

We are going to open the window for PPP services from the WinBox tool. Here we’re going to click on the button .

In the opened window, we can configure all details of the PPTP server. As the first step, you should enable it.

Then you should choose the default profile for the PPTP connections. When we’re talking about authentication protocols, then you should use either MSCHAP v2 or CHAP. Other protocols are not recommended.

Click on the button . Congratulations! You just created the PPTP server. Our router is ready to rock.

Выпускаем всех остальных и балансируем нагрузку

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

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

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

Давайте сделаем маршрут ECMP с тем учётом, что шлюз 88.88.88.1 это 10Mbps, а 44.44.44.1 5Mbps.

Пакеты будут отправляться поочередно для каждого шлюза, на каждые 3 пакета, 2 пакету будут отправлены в 88.88.88.1 и оставшийся один пакет на шлюз 44.44.44.1.

Хотя это немного и не правильно, дело в том, что у процесса ECMP есть отдельная таблица кеша, и чтобы каждый раз не выбирать маршрут, маршрутизатор для связки src-address:port dst-address:port создаёт хеш и выберет для данного хеша уже шлюз по схеме Round Robin, тем самым для одного соединения будет выбираться один и тот же шлюз.

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

На ресурсах, которые используют привязку сессии авторизации к IP адресу, вы получите проблему в виде запроса логина и пароля, например mail.ru будет у вас запрашивать пароль при смене ip адреса.

Проблема в том, что ограничение в 10 минут, это ограничение жёсткое и нам его не убрать и не изменить.

Будем решать штатными средствами RouterOS.

Давайте подумаем вместе, что нам известно о пакете, который попал под ECMP маршрут? Конечно, данный пакет находится в таблице main.

Идея данного способа заключается в следующем.Дать маршрутизатору выбрать маршрут с помощью ECMP, промаркировать такие соединения и все последующие пакеты в этом соединение пускать мимо ECMP, тем самым мы убираем проблему 10 минут.

Делаем.

Давайте разберём.

chain=postrouting — Работаем в цепочке по факту того, что уже выбрал ECMP, можно использовать и цепочку forward, но тогда не попадёт трафик который был сгенерирован самим маршрутизатором.

routing-table=main — Маршрут ECMP находиться в main таблице.

out-interface=ether1 — ECMP выбрал шлюз, который лежит через первый интерфейс.

connection-state=new — Мы маркируем соединение, нет смысла работать со всеми пакетами.

action=mark-connection new-connection-mark=ECMP/ether1 — маркируем соединение.

Ещё раз, мы дали возможность ECMP выбрать направление и мы уже по факту промаркировали соединения, основываясь на выборе интерфейса.

А теперь все последующие пакеты в соединениях с такой маркировкой должны быть отправлены в тот же интерфейс, но не в таблицу main, так как там работает ECMP, нам это уже не к чему.

Не забудьте, что трафик смотрится со всех сторон, а нам необходимо только трафик из локальной сети, а так как интерфейсов может быть много, лучше всего отфильтровывать по принципу весь трафик КРОМЕ того который пришёл с интерфейса провайдера.

Почти всё.

Осталось настроить NAT

За сим всё, спасибо за внимание. Поделиться

Поделиться

Теги:
mtcna
mtcre
mtctce
routerosv6
multiwan

Обсуждение

Лицензия

Текст данной статьи распространяется под общедоступной лицензией CC BY-NC-ND 4.0, ознакомиться с тектом лицензии вы можете на данной странице.

Что такое Syn sent?

SYN sent – это одно из состояний, которое может появиться в процессе установки соединения между устройствами в сети. Это сообщение означает, что было отправлено SYN-пакет (пакет синхронизации) нашего устройства, но ответа по данному пакету ещё не было получено.

Если ваш Mikrotik показывает статус SYN sent, то это может означать, что устройство не получило ответ на SYN-пакет. Это может произойти по разным причинам, включая проблемы в сети, сетевых устройствах или отключении одного из устройств.

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

Recreating the VPN connection

OK, I opened the terminal window inside the WinBox GUI and typed the following commands.

First, I enlisted all existing VPN connectons of the type SSTP:

 > interface sstp-client print brief 
Flags: X - disabled, R - running 
# NAME 
0 Midearth

We have only one and it’s on the position 0. Now, just in case that something goes wrong, I exported the configuration script. Bear in mind that the VPN credentials will be shown here in the plain text!

 > interface sstp-client export 
/interface sstp-client
add authentication=chap,mschap2 connect-to=203.0.113.147 disabled=no name=Midearth password=\
"****************" pfs=yes profile=Midearth user=RemoteMtk

And now comes the tricky part. I will first remove that client and then I will restore it with the UNDO command:

 > interface sstp-client remove 0
 > undo

The undo command has the same effect like I ran the config script again. The VPN client is recreated, preserving the credentials and all other settings.

Выдача адресов

Выдача адресов с помощью BGB

В конфигурации модуля:

Пропишите пулы IP адресов:

pools.pool1=172.16.100-172.16.150
pools.pool2=172.16.200-172.16.250

Пропишите атрибуты:

attrset.1.title=Адреса из пула 1
attrset.1.attributes=Framed-Pool=pool1
attrset.2.title=Адреса из пула 2
attrset.2.attributes=Framed-Pool=pool2

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

Одинаковые пулы для всех типов доступа

Простые пулы:

ip pool add name=pool1 ranges=172.16.0.100-172.16.0.150,172.16.0.200-172.16.0.250
РРРоЕ и/или РРТР пользователи будут пользоваться адресами из пула pool1:
ppp profile set default-pppoe remote-address=pool1
ppp profile set default-pptp remote-address=pool1

Пулы с помощью next-pool:

ip pool add name=pool1 ranges=172.16.0.100-172.16.0.150 next-pool=pool2
ip pool add name=pool2 ranges=172.16.0.200-172.16.0.250
РРРоЕ и/или РРТР пользователи будут пользоваться адресами из пула pool1:
ppp profile set default-pppoe remote-address=pool1
ppp profile set default-pptp remote-address=pool1

Различные пулы для различного типа доступа

Создаем пулы адресов:

ip pool add name=pool1 ranges=172.16.0.100-172.16.0.150
ip pool add name=pool2 ranges=172.16.0.200-172.16.0.250

Привязываем пулы адресов к профилям:

РРРоЕ пользователи будут пользоваться адресами из пула pool1:
ppp profile set default-pppoe remote-address=pool1
РРТР пользователи будут пользоваться адресами из пула pool2:
ppp profile set default-pptp remote-address=pool2

Mikrotik devices with RouterOS v5.26 and earlier

Our second Mikrotik device uses RouterOS v5.26. On all RouterOS versions up to 5.26, we can set the PPTP connection, but we need to make a few more steps.

I will reveal the secret to you. We need to make the route to the FabirkaM network manually. But you will see.

The first step is the same. Open the PPP menu. We will see the PPP window, where we can choose the drop-down menu with the list of available PPP interfaces. We will again select the PPTP client.

The newly opened window looks familiar, as it’s a very similar to that in RouterOS v6. The difference is that we don’t have the field for the distance of the default route.

Fill all necessary fields and click on the button . Mikrotik will create the new PPTP VPN interface and in the short while, we will see the connection status update.

Congratulations again! You’ve successfully made the PPTP tunnel. Alas, we don’t have all traffic automatically forwarded to the FabrikaM router.

However, this missing route isn’t any problem for us. We will add it in a minute. Keep in mind that this scenario is more applicable in the real world.

I clicked on the button , then filled the destination network (192.0.2.0/24) and the IP address of gateway (10.29.2.1 – the IP address assigned to the VPN server itself). I also like to add the distance, usually 5.

6.11. Балансировка 2+ каналов.

Балансировка через маршруты. Соединения вперемешку будут идти через WAN1 или  WAN2

Метод хорошо работает при каналах приблизительно равных по скорости.

Разница по скорости каналов не должна отличаться более чем в  2 раза.

В Мангле – эти  правила поднимите наверх.

/ip firewall mangle
add act=mark-connection ch=prerouting connection-state=new new-connection-mark=c1 nth=2,1 passthrough=yes
add act=mark-connection ch=prerouting connection-state=new new-connection-mark=c2 nth=2,2 passthrough=yes

add act=mark-routing ch=prerouting connection-mark=c1 new-routing-mark=r1 passthrough=yes
add act=mark-routing ch=prerouting connection-mark=c2 new-routing-mark=r2 passthrough=yes

 

/ip route
add check-gateway=arp dst-address=0.0.0.0/0 gateway=80.80.80.1 routing-mark=r1 scope=255
add check-gateway=arp dst-address=0.0.0.0/0 gateway=90.90.90.1 routing-mark=r2 scope=255

Можно добавить еще маршрут без маркировки на всякий пожарный:

add disabled=no dst-address=0.0.0.0/0 gateway=80.80.80.1 scope=255

В NAT – Out. Inteface – пустой.

В IP – DHCP Client – Add Default Route – можно отключить

Важно! При каналах сильно отличающихся по скорости он мало эффективен. В таком случае советую использовать резервирование каналов по п

6.10

В таком случае советую использовать резервирование каналов по п. 6.10.

Слабый канал погоды все-равно не сделает. А скоростному мешать будет.

Важные детали реализации

Tcp connection established from mikrotik ppp info — это сообщение, которое появляется при установлении TCP-соединения с маршрутизатором MikroTik через протокол PPP (Point-to-Point Protocol).

В данном контексте, PPP является протоколом, используемым для установки сетевого соединения между маршрутизатором MikroTik и удаленным узлом. Когда соединение установлено, появляется сообщение Tcp connection established, которое указывает, что TCP-соединение прошло успешно. Это сообщение часто используется для отслеживания активных TCP-соединений и контроля за состоянием сетевого устройства.

Важные детали реализации данной функциональности включают:

  1. Протокол PPP: MikroTik поддерживает несколько версий протокола PPP, включая PPPoE (Point-to-Point Protocol over Ethernet), который обеспечивает установку соединения через Ethernet.
  2. Учетные данные пользователя: для установки соединения с удаленным узлом, маршрутизатор MikroTik должен иметь правильные учетные данные пользователя, такие как имя пользователя и пароль. Эти учетные данные используются для аутентификации и авторизации на удаленном узле.
  3. IP-адрес и порт: при установлении TCP-соединения, маршрутизатор MikroTik получает IP-адрес и порт удаленного узла, к которому он подключается. Эти параметры используются для определения конечной точки соединения и маршрутизации сетевого трафика.
  4. Логирование и мониторинг: сообщение «Tcp connection established from mikrotik ppp info» может быть записано в лог-файл или отображено в интерфейсе мониторинга MikroTik. Это помогает системным администраторам отслеживать и контролировать активные TCP-соединения.

В целом, «Tcp connection established from mikrotik ppp info» является важной деталью реализации, которая помогает мониторить и управлять сетевыми соединениями на маршрутизаторе MikroTik

Общий алгоритм работы

TCP соединение — основной протокол передачи данных в сети Интернет. Он обеспечивает надежную и упорядоченную доставку данных между устройствами. TCP используется для установления соединений между клиентами и серверами.

MikroTik — производитель сетевого оборудования и разработчик программного обеспечения для управления сетями. Одной из функций MikroTik является поддержка протокола PPP (Point-to-Point Protocol), который используется для установления соединений между сетевыми устройствами.

TCP Connection Established from MikroTik PPP Info — это сообщение, которое указывает, что было установлено TCP-соединение из MikroTik через протокол PPP. Когда MikroTik устанавливает соединение с другим устройством, оно информирует об этом, чтобы оба устройства могли начать обмен данными.

Общий алгоритм работы включает следующие шаги:

  1. MikroTik и другое устройство устанавливают физическое подключение, например, посредством кабеля Ethernet.
  2. MikroTik и другое устройство запускают протокол PPP для установления логического соединения.
  3. Устройства обмениваются специальными сообщениями, называемыми LCP (Link Control Protocol), для настройки соединения.
  4. После успешной настройки PPP-соединение устанавливается.
  5. Теперь MikroTik и другое устройство могут обмениваться данными с использованием TCP протокола.

В результате Tcp Connection Established from MikroTik PPP Info указывает на успешное установление TCP-соединения с использованием протокола PPP в MikroTik. Это означает, что MikroTik готово к передаче и приему данных.

Оптимизация tx и rx в MikroTik

Для бесперебойной работы сети на основе MikroTik, важно оптимизировать передачу и прием данных (tx и rx). В данной статье мы рассмотрим несколько способов оптимизации tx и rx для повышения эффективности и производительности вашей сети

1. Выбор оптимального канала

Важно выбрать оптимальный канал для вашего беспроводного соединения. Используйте стандартные инструменты MikroTik, такие как «Spectrum Analyzer» или «Wireless Scan», чтобы определить наименее загруженный канал и настроить ваше оборудование на него

Это поможет уменьшить перекрытие с другими беспроводными сетями и повысить производительность вашего соединения.

2. Оптимизация мощности передатчика

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

3. Включение протокола Nstreme

Протокол Nstreme – это оптимизированный протокол передачи данных для беспроводных сетей MikroTik. Включение данного протокола может улучшить скорость передачи и приема данных (tx и rx) в вашей сети. Настройте свои беспроводные точки доступа на работу с протоколом Nstreme и настройте все клиентские устройства также для работы с этим протоколом.

4. Использование статического IP

Если ваша сеть настроена на работу с динамическим IP, переходите на статический IP для маршрутизатора MikroTik. Это поможет устранить некоторые задержки и снизить потери пакетов данных (tx и rx) в сети. Установка статического IP также обеспечит более стабильное соединение и упростит управление сетью.

5. Проверка наличия обновлений

Периодически проверяйте наличие обновлений для вашего маршрутизатора MikroTik. Разработчики MikroTik регулярно выпускают новые версии программного обеспечения, которые включают в себя исправления ошибок и улучшения производительности. Обновление до последней версии поможет оптимизировать передачу и прием данных (tx и rx) в вашей сети.

Способ оптимизации Описание
Выбор оптимального канала Используйте «Spectrum Analyzer» или «Wireless Scan» для выбора наименее загруженного канала.
Оптимизация мощности передатчика Настройте мощность передатчика так, чтобы она была достаточной, но не слишком высокой.
Включение протокола Nstreme Протокол Nstreme может улучшить скорость передачи и приема данных.
Использование статического IP Перейдите на статический IP для устранения задержек и снижения потерь данных.
Проверка наличия обновлений Периодически обновляйте программное обеспечение маршрутизатора MikroTik для улучшения производительности.

Принцип работы TCP-подключения с Mikrotik PPP

Транспортное управление передачей данных в протоколе TCP осуществляется с помощью специальных пакетов, называемых сегментами, которые передаются через надежные каналы связи. Mikrotik PPP (Point-to-Point Protocol) предоставляет возможность создания TCP-подключений, что позволяет обеспечить более надежную передачу данных.

Процесс работы TCP-подключения с Mikrotik PPP состоит из следующих шагов:

  • Установление соединения: клиент и сервер устанавливают соединение, используя механизмы, предоставляемые Mikrotik PPP. Клиент отправляет сегмент с флагом SYN (synchronize) на сервер, который в ответ отправляет сегмент с флагами SYN и ACK (acknowledge).
  • Установление подключения: клиент отправляет сегмент с флагом ACK, подтверждающим получение сегмента от сервера. Теперь TCP-подключение установлено и готово к передаче данных.
  • Передача данных: клиент и сервер обмениваются сегментами данных, устанавливая правильный порядок и обеспечивая доставку без потерь. Для этого используется механизм нумерации сегментов и подтверждений.
  • Завершение соединения: после передачи данных клиент или сервер отправляют сегмент с флагом FIN (finish), обозначающим завершение передачи. Другая сторона подтверждает завершение, отправляя сегмент с флагами FIN и ACK. Таким образом, TCP-подключение закрывается.

Принцип работы TCP-подключения с Mikrotik PPP позволяет обеспечить надежную передачу данных, устраняя потери и обеспечивая контроль целостности.

Настройка портов и моста (bridge)

Сразу оговорюсь что в данном примере я подключение от провайдера буду настраивать на физический пятый порт. Сделано это в целях экономии розетки. У меня роутер установлен далеко от розетки и питание на него я подаю по PoE, PoE-in в моём маршрутизаторе (MikroTik hAP ac²) это первый физический порт (который подписан Internet) и если в него воткнуть шнурок от провайдера то придётся подавать питание через PoE-инжектор – раз розетка, плюс розетка на коммутатор (switch), а раз уж все равно кабель от маршрутизатора тянуть к свитчу, то глупо не задействовать PoE от свитча.

Для тех кто не в курсе – у MikroTik’а нет такого понятия как выделенный WAN-порт как на бытовых маршрутизаторах, тут любой порт может выполнять любую роль. Хоть четырёх провайдеров в него заводите, а пятый порт на свитч ))

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

Но ближе к делу.

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

MikroTik – отключаем порт

Далее идём в меню Bridge и добавляем два моста – bridge1-LAN и bridge2-WAN

  • WinBox – добавляем bridge-LAN
  • WinBox – добавляем bridge-LAN
  • Bridge – что получилось

Далее открываем там же вкладку Ports и добавляем там порты в наши мосты )) Порты ether1-ether4 и wlan1-wlan2 в бридж bridge1-LAN, порт ether5 соответственно в bridge2-WAN

  • Добавляем LAN порты в bridge1-LAN
  • Добавляем WAN порты в bridge1-WAN
  • Bridge – настроеные порты

Затем открываем меню Interfaces и на вкладке Interface List добавляем список ls-LAN-all нажав на кнопку Lists. Затем в данный список добавляем bridge1-LAN

  • Добавляем список интерфейсов
  • Добавляем в список bridge1-LAN

На этом настройка портов и мостов закончена, перейдем к настройке локальной сети ))

Последние необходимые изменения

В принципе у нас уже всё работает, но необходимо внести ещё парочку мелких изменений в настройки нашего MikroTik.

Отключим все неиспользуемые нами сервисы. Для этого перейдём в меню IP – Services и отключим всё, что мы не используем, а для тех что используем ограничим доступ только из локальной сети:

И ограничим обнаружение нашего маршрутизатора только в локальной сети:

Настраиваем Neighbor Discovery

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

На этом часть про базовые настройки маршрутизатора на основе RouterOS можно считать завершённой.

За бортом остались настройки Wi-Fi, настройки DNS и много чего ещё, но это уже тема последующих статей.

Все приведённые примеры использовались и работают на маршрутизаторе MikroTik hAP ac² (RBD52G-5HacD2HnD-TC) с версией RouterOS 6.45.1.

Отдельно хочу сказать огромное человеческое спасибо своему хорошему другу Владу Глазкову, без его подсказок и советов данной статьи просто не было бы.

Обновление от 20.07.2019:В настройках DHCP клиента в parameter_request_list добавил получение Classless Static Route Option, правда в моём регионе (Красноярск) билайн кажется “забил” на это (

Обновление от 17.10.2019: В настройках DHCP клиента удалён параметр parameter_request_list и Add Default Route изменён с yes (по умолчанию) на special-classless, что позволяет получать как classless маршруты так и маршрут по умолчанию в стиле MS.

Освоить MikroTik Вы можете с помощью онлайн-куса «Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

Роль MikroTik PPP Info в установленном соединении

Когда TCP соединение установлено и активно, MikroTik PPP Info предоставляет информацию о текущем статусе соединения, такую как IP-адрес, имя пользователя, пароль и другие параметры, которые были настроены для PPP соединения на MikroTik устройстве. Он также может показывать скорость передачи данных и объем переданных и принятых данных в реальном времени.

Использование MikroTik PPP Info позволяет администраторам сети легко контролировать и мониторить поток данных в установленном соединении. Это необходимо для обеспечения стабильности и безопасности сети, а также для определения проблемных мест и их оперативного устранения.

МикроТик PPP Info также предлагает возможность настройки и управления параметрами PPP соединения. В случае необходимости администратор может изменить IP-адрес, настроить автоматическое подключение, настроить безопасность и шифрование данных и другие параметры, чтобы оптимизировать работу соединения.

В целом, MikroTik PPP Info является полезным инструментом для настройки, мониторинга и управления TCP соединением на устройствах MikroTik. Он предоставляет важную информацию и возможности для обеспечения стабильного и безопасного соединения для сети и ее пользователей.

NAT Loopback / Hairpin NAT

Проблема

С новыми соединениями из интернета разобрались, но что будет, если устройство попытается обратиться на внешний адрес маршрутизатора из локальной сети? В зависимости от условия возможны следующие варианты:

  • Если в условии использовался внешний интерфейс, то правило не сработает и пакет будет отброшен маршрутизатором — соединение не состоится.
  • Если в условии использовался внешний адрес маршрутизатора, то правило сработает, но соединение не установится. Рассмотрим этот сценарий подробнее.

Пакет будет отброшен инициатором соединения

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

Подмена на уровне DNS

Если приложение использует DNS для определения IP адреса сервиса назначения (например, сайт), то самым правильным способом будет использование в локальной сети DNS-сервера, который будет отдавать внутренний IP адрес для домена. В случае использовании MikroTik DNS-сервера, правило будет выглядеть примерно так:

Таким образом настройка NAT Loopback не потребуется в принципе. Клиент будет напрямую обращаться на сервер назначения по локальной сети без использования маршрутизатора, а сервер назначения, в свою очередь, увидит настоящий адрес источника в локальной сети

Данное решение не будет работать в случае использования DNS-over-HTTPS или аналогов на конечных устройствах или в случае, если приложение не использует доменные имена.

Официальный

Многие ресурсы, включая wiki.mikrotik.com, предлагают примерно одни и те же варианты решения:

Этим правилом задаем, что: всем пакетам, которые идут из локальной сети, на адрес 192.168.88.5, на порты 80 и 443 и выходят с интерфейса LAN мы меняем адрес источника на адрес маршрутизатора в локальной сети.

Таким образом, соединение успешно устанавливается, однако есть несколько ограничений:

  • На каждое правило проброса порта потребуется еще одно правило для поддержки NAT Loopback
  • Можно легко попасться на граблю, не указав фильтр источника пакетов (src-address=192.168.88.0/24). Все запросы (включая те, что идут из интернета) на сервер назначения будут идти от адреса маршрутизатора, что в итоге может сломать фильтрацию на базе адресов источника на сервере назначения.
  • Серверу назначения, которому в итоге придет запрос не будет видно IP адрес источника, так как им будет являться маршрутизатор

Дополненный официальный способ

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

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

Первым этапом нужно промаркировать (new-packet-mark=nat-loopback) те пакеты, которые пришли на внешний адрес маршрутизатора (dst-address=203.0.113.5) из локальной сети (in-interface=LAN) и являются новыми соединениями (connection-state=new).

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

Далее можно писать правила проброса в классическом виде. Этой схемой мы избавились от двух из трех недостатков предыдущего способа.

Таким образом, появляется возможность писать правила проброса портов в обычном виде по одному на порт или несколько портов. Они будут работать как и в классическом сценарии (при поступлении извне), так и в случае поступления запросов из локальной сети.

Количество просмотров: 31 277

Понравилась статья? Поделиться с друзьями:
Опытный компьютерщик
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: