110 646 просмотров нашего канала на YouTube!

ћерион Ќетворкс

6 минут чтени€

ѕроксирование 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 через терминал происходит через команду:

/ip proxy set

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

  • 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, дл€ этого через терминал вводим команду:

ip proxy> set enabled=yes port=8080 src-address=192.168.11.1

ƒл€ настройки через Winbox открываем IPWeb Proxy ставим галочку напротив Enabled, указываем IP адрес и порт, на котором будет работать наш proxy-сервер, кстати, тут же настраиваетс€ родительский прокси в разделе Parent proxy.

Ќастройка web-proxy в WinBox

ѕри настройке обычного функционала web-proxy, должна быть также выполнена настройка на стороне клиента (браузера) и указан сервер, который выступает в качестве proxy. ƒл€ настройки в Google Chrome нужно открыть SettingsAdvancedConfidentiality and Security, крутим в самый низ до пункта System и выбираем Proxy settings. ¬ по€вившемс€ окне выбираем LAN settings → ставим галку напротив Use a proxy server for your LAN и заходим в Advanced. ¬ по€вившемс€ окне вбиваем параметры нашего proxy-сервера в строку HTTP (в нашем случае 192.168.11.1 и порт 8080) и примен€ем настройки:

Ќастройка web-proxy в Google Chrome

Ќастройка прозрачного проксировани€

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

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

ip firewall nat> add chain=dstnat protocol=tcp src-address=192.168.11.0/24 \
dst-port=80 action=redirect to-ports=8080

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

ѕожалуй, этот функционал понравитс€ вам больше всего :)

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

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

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

ip firewall nat> add chain=dstnat protocol=tcp src-address=192.168.11.0/24 \
dst-port=80 action=redirect to-ports=8080

„то если мы теперь хотим запретить пользовател€м в данной подсети сидеть во всеми любимом вконтактике? ќчень просто Ц настроим список доступа. ƒл€ этого:

/ip proxy access add src-address=192.168.1.0/24 dst-host=www.vk.com action=deny

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

/ip proxy access add src-address=192.168.1.0/24 dst-host=:er action=deny

» гуд-бай - Tinder.com, Twitter.com, Viber.com, ну вы пон€ли :)

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

/ip proxy access add src-address=192.168.1.0/24
 add path=*.pdf action=deny
 add path=*.png action=deny
 add path=*.docx action=deny
 add path=*.mp3 action=deny
 add path=*.zip action=deny
 add path=*.rar action=deny

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

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

≈сли поставить маску ?, то поиск будет осуществл€тьс€ по количеству символов. Ќапример маска ??ings.docx найдЄт файл wnings.docx, но не найдЄт paintings.docx, потому что маска задана на 2 символа.

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


ѕолезна ли ¬ам эта стать€?


Ёти статьи могут быть вам интересны: