Микротик как настроить прокси

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

  • Главная
  • Настройка Proxy ARP для VPN-подключений на роутерах Mikrotik

Настройка Proxy ARP для VPN-подключений на роутерах Mikrotik

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

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

Существует два основных сценария построения VPN: обеспечение доступа удаленных клиентских устройств и соединение между собой удаленных сетей. В последнем случае проще, администратор настраивает устройства с обоих сторон туннеля именно так, как считает нужным, а вот клиентские устройства, тут может быть самый разнообразный зоопарк. Установка стороннего ПО, добавление собственных маршрутов, все это может быть достаточно затруднительно, особенно если это личное устройство клиента. Поэтому удаленное подключение желательно выполнять стандартными средствами, с минимальным вмешательством в клиентскую систему.

Читайте также:  Дверная ручка провисает как починить

Описываемый нами способ применим именно для подключения клиентских устройств, применять для объединения сетей его не следует. Его отличительной особенностью является выдача VPN-клиентам адресов из диапазона локальной сети. Давайте рассмотрим следующую схему:

В нашем случае имеется локальная сеть с диапазоном адресов 192.168.111.0/24, в которой находятся сервер 192.168.111.101 и роутер 192.168.111.1, для доступа удаленных клиентов мы подняли на роутере VPN-сервер с локальным адресом 192.168.111.140 и пулом адресов для клиентов 192.168.111.141-149. Нам требуется организовать прозрачный доступ в локальную сеть для подключающихся клиентов (зеленая пунктирная линия).

При этом важно соблюдать ряд правил. Во-первых, диапазон локальной сети клиентов не должен пересекаться с диапазоном сети офиса, поэтому мы настоятельно не рекомендуем использовать в корпоративных сетях диапазоны 192.168.0.0/24, 192.168.1.0/24 и т.д. из-за их широкого применения в устройствах бытового класса. Во-вторых, выделенный для удаленных клиентов диапазон следует исключить для выдачи и назначения устройствам локальной сети. И наконец, локальный адрес VPN-сервера должен быть выделен из локального диапазона и не должен использоваться иными устройствами или интерфейсами роутера.

Сам тип VPN не имеет принципиального значения, но рекомендуется использовать те варианты подключения, стандартные клиенты для которых имеются на целевых клиентских устройствах, это может быть PPTP или L2TP/IPsec.

В нашем примере это будет L2TP-клиент, который успешно подключился к нашему роутеру и получил адрес 192.168.111.148:

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

Почему так? Давайте разбираться. Взаимодействие между собой для устройств, находящихся в одной IP-сети (уровень L3 модели OSI) происходит на канальном (L2) уровне. В Ethernet сетях для отправки фрейма (кадра) отправитель должен знать MAC-адрес получателя. Для определения MAC-адреса на основе IP-адреса служит протокол ARP (Address Resolution Protocol).

Когда мы хотим соединиться с узлом 192.168.111.101 хост посылает широковещательный ARP-запрос:

Его получают все узлы сети, но отвечает только обладатель адреса:

Причем обмен практически именно так и происходит, ниже реальный пример ARP-запросов и ответов в локальной сети.

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

Но что же пошло не так в нашем случае? VPN-клиент 192.168.111.148 считая себя частью сети 192.168.111.0/24 для доступа к 192.168.111.101 пошлет соответствующий широковещательный ARP-запрос, чтобы выяснить его MAC-адрес. Но VPN-соединение — это не IP-сеть, а структура точка-точка и единственным узлом, который получит ARP-запрос будет VPN-сервер 192.168.111.140, а так как он не является искомым адресом, то «скромно» промолчит. Клиент не получит на свой запрос ответа и с целевым узлом связь установить не удастся.

Чтобы выйти из этой ситуации можно использовать Proxy ARP, эта технология представляет прокси-сервер для ARP-запросов, позволяя связать на канальном уровне разные сети. Теперь, получив от клиента ARP-запрос сервер ответит MAC-адресом, на который клиент может посылать Ethernet-фреймы.

Существуют разные варианты ARP-прокси, в простейшем случае, который реализован в Mikrotik, роутер ответит на ARP-запрос собственным MAC-адресом, а получив Ethernet-фрейм передаст его на интерфейс, на котором включен Proxy ARP. Таким образом удаленный клиент и узлы локальной сети смогут общаться между собой на канальном уровне без привлечения маршрутизатора (как им кажется).

Для того, чтобы включить Proxy ARP в роутере Mikrotik перейдите в настройки интерфейса, обслуживающего вашу локальную сеть, чаще всего это будет мостовой интерфейс bridge, в нашем случае это один из ether-портов, и в поле ARP установите значение proxy-arp.

После чего снова попробуем получить доступ к серверу и на этот раз все получится:

Как видим, все достаточно несложно и мы полностью стандартными средствами со стороны клиента получили полноценный доступ в локальную сеть за VPN-сервером без настройки маршрутизации и прочих «лишних» движений.

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

Дополнительные материалы:

Mikrotik

The Dude

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Или подпишись на наш Телеграм-канал:

Источник

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Настройка web proxy на MikroTik

Проксирование HTTP и FTP запросов от клиента осуществляется proxy-сервером по средствам сохранения копии (кэширования) запрашиваемых клиентом данных из Интернета на системе, которая расположена ближе к получателю и последующей передачи кэшированных данных получателю с более низкой задержкой. Это может быть страничка сайта, которая расположена на определённом URL’e, например — http://shareit.merionet.ru или же какой-нибудь файл, который лежит на FTP сервере.

Онлайн курс по Кибербезопасности

Изучи хакерский майндсет и научись защищать свою инфраструктуру! Самые важные и актуальные знания, которые помогут не только войти в ИБ, но и понять реальное положение дел в индустрии

Введение

Роутеры MikroTik способны выполнять следующие функции в качестве web-proxy сервера:

  • Стандартное проксирование HTTP. Когда пользователь сам указывает кто является для него proxy-сервером и настраивает браузер соответствующим образом;
  • Прозрачное проксирование. Когда пользователь не знает, что его запросы перенаправляются через proxy-сервер;
  • Настройка списка доступа по адресу источника, назначения, URL и методу передачи запросов (GET, POST др.);
  • Список кэшируемых объектов. Определяет какие копии каких ресурсов сохранять, а какие нет;
  • Прямой список доступа. Определяет какие ресурсы доступны без проксирования и для каких нужен proxy-сервер;
  • Логирование событий и операций proxy-сервера
  • Поддержка родительских proxy-серверов. В этом случае указывается дополнительный сервер и запрос направляется к нему, если первый сервер не имеет доступа к запрашиваемому объекту.

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

Web-proxy сервер случает запросы от клиентов и сохраняет ответы у себя в памяти. Если он получит запрос, содержащий тот же URL, то он может просто отправить имеющуюся копию. Если же копии нет, то он запрашивает её у конечного сервера. То же самое с файлами, если есть сохранённая копия файла, он отправит её клиенту, если нет — скачает с FTP сервера.

Есть несколько целей применения proxy-сервера:

  • Ускорение получения доступа к ресурсам, которые физически находятся дальше от получателя (большая задержка при передаче пакетов);
  • Использование в качестве HTTP Firewall’а. Блокирование доступа к нежелательным ресурсам;
  • Фильтрование web-контента по заданным параметрам, например IP-адрес источника, IP-адрес назначения и порт, URL ресурса, метод HTTP запросов;
  • Сканирование передаваемого из внутренней сети контента, например, для предотвращения утечек. При этом совсем не обязательно использовать функции кэширования на web-proxy.

Настройка стандартного web-proxy

В роутерах MikroTik, настрока web-proxy через терминал происходит через команду:

Ниже приведен список параметров доступных для настройки:

  • enabled — активирует функционал web-proxy. (yes — включен, no — выключен);
  • src-address — устанавливает IP-адрес proxy-сервера;
  • port — задаёт порт, на котором будет работать proxy-сервер;
  • parent-proxy — задаёт адрес родительского proxy-сервера;
  • cache-drive — указывает куда складывать кэшируеемых данные.
  • cache-administrator — email администратора, который будет показан на странице с ошибкой;
  • max-cache-size — указывает максимальный объём для хранения кэшируемых данных на диске в килобайтах (в случае использования внешнего диска);
  • max-ram-cache-size — указывает максимальный объём для хранения кэшируемых данных в RAM роутера в килобайтах;
  • cache-only-on-disk — указывает создавать ли внутреннюю базу данных, описывающую кэшируемый на диске контент. Может сократить потребление памяти, но повлиять на скорость;
  • maximal-client-connections — максимальное число подключений к proxy-серверу от клиентов. Подключения сверх указанного здесь количества будут отклоняться;
  • maximal-server-connections — максимальное число подключений к серверам. Подключения от клиентов к другим серверам сверх указанного здесь количества будут находиться в режиме ожидания, пока некоторые текущие подключения не завершатся ;
  • max-fresh-time — максимальный срок хранения кэшируемого контента;

Настроим стандартный proxy-сервер на адресе 192.168.11.1, для этого через терминал вводим команду:

Для настройки через Winbox открываем IP &#x2192 Web Proxy ставим галочку напротив Enabled, указываем IP адрес и порт, на котором будет работать наш proxy-сервер, кстати, тут же настраивается родительский прокси в разделе Parent proxy.

При настройке обычного функционала web-proxy, должна быть также выполнена настройка на стороне клиента (браузера) и указан сервер, который выступает в качестве proxy. Для настройки в Google Chrome нужно открыть Settings &#x2192 Advanced &#x2192 Confidentiality and Security, крутим в самый низ до пункта System и выбираем Proxy settings. В появившемся окне выбираем LAN settings &#x2192 ставим галку напротив Use a proxy server for your LAN и заходим в Advanced. В появившемся окне вбиваем параметры нашего proxy-сервера в строку HTTP (в нашем случае 192.168.11.1 и порт 8080) и применяем настройки:

Настройка прозрачного проксирования

Прозрачное проксирование не требует дополнительных настроек на стороне клиентов. Более того, пользователи даже не будут подозревать, что их запросы направляются через proxy-сервер.

Чтобы настроить прозрачное проксирование, необходимо добавить NAT’ирующее правило в Firewall, которое будет определять какие HTTP запросы будут проходить через локальный proxy. Ниже показан пример того, как можно проксировать все запросы пользователей из сети 192.168.11.0/24

Списки доступа или использование Firewall’а на основе proxy

Пожалуй, этот функционал понравится вам больше всего 🙂

Список доступа работает здесь также, как и в правилах Firewall – сначала читаются самые приоритетные правила, затем, вниз по списку — менее приоритетные. Критерием для применения правил может быть совпадение таких параметров как: адрес источника, порт источника, адрес назначения, порт назначения, запрашиваемый URL или HTTP метод (POST, GET и др.)

В случае совпадения критериев, заданных в правиле и параметров подключения, такое подключение может быть разрешено (allow) или запрещено (deny). Если параметры подключения не подпадают ни под один из критериев правил, то оно по умолчанию разрешается.

Понятно, что использование правил должно применяться вместе с настройками прозрачного проксирования, которые мы рассматривали выше. Итак, допустим мы настроили прозрачное проксирование для сети 192.168.11.0/24 и пустили все HTTP запросы из этой подсети через наш прокси сервер.

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

Мы также можем заблокировать web-сайты, которые содержат какое-либо ключевое слово или часть слова в названии, например:

И гуд-бай — Tinder.com, Twitter.com, Viber.com, ну вы поняли 🙂

Мы даже можем запретить скачивание определённых файлов:

Стоит отдельно рассказать про маски (wildcard), которые позволяют настроить более тонкое соответствие проверяемых URL’лов и других названий.

В dst-host и dst-path можно указывать следующие маски — * — любое количество символов. Например — *ings.docx будет искать .docx файлы, названия которых оканчиваются на ins или же просто файл ings.docx, то есть сюда подходят такие названия файлов – paintings.docx, wings.docx – перед ings может стоять любое количество символов.

Если поставить маску ?, то поиск будет осуществляться по количеству символов. Например маска ??ings.docx найдёт файл wnings.docx, но не найдёт paintings.docx, потому что маска задана на 2 символа.

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

Полный курс по Сетевым Технологиям

В курсе тебя ждет концентрат ТОП 15 навыков, которые обязан знать ведущий инженер или senior Network Operation Engineer

Источник

Оцените статью