Mikrotik udp to http proxy

Mikrotik udp to http proxy

о том, чего нет в мануалах

UDP-to-HTTP прокси на Mikrotik

Возникла необходимость использования UDP-to-HTTP прокси для стабильной работы IPTV провайдера в приложениях на домашнем SMART TV. Как известно, Микротик кроме IGMP Proxy для возможности просмотра мультикаста в своем распоряжении не имеет такого функционала, как UDP-to-HTTP proxy, который бы преобразовывал мультикаст в юникаст, а держать этот сервис запущенным на домашнем компе неудобно по причине необходимости его круглосуточной активности.
По данной теме предлагается развернуть для этих целей в MetaROUTER-е Микротика связку openwrt + udpxy, у кого-то даже это реально заработало, но информации и мануалов, описывающих процесс, я не встречал, чтобы самому попробовать реализовать подобное.

Был бы признателен во возможную информацию по вопросу, примеры реализации.

Для личного использования может и пошло бы, во всяком случае, попробовать можно было бы, тем более положительные отзывы имеются, но на hAP AC, hAP AC lite и не поставить ничего, в них HDD по 16Мб стоят, из которых 3-4Мб свободного пространства. Ни один образ не разворачивается по причине нехватки дискового пространства.

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

Источник

19dx.ru — R0WBH

Личный блог Гладышева Дмитрия

Mikrotik + IPTV через Udpxy

Микротиком я обзавёлся примерно год назад, сложностей в его настройке у меня почти не возникло. Кроме одной: я не смог настроить IPTV. Все форумы упоминали два возможных варианта:

  1. Использование IGMP Proxy.
  2. Установка OpenWRT и использование udpxy.

Первый вариант у меня не заработал. Вообще никак. Пакеты просто не шли.

Все статьи по второму варианту ограничивались лишь фразой, что нужно использовать MetaROUTER. Каких-либо внятных инструкций я не нашёл (либо плохо искал). На тот момент это не было большой проблемой для меня, так как я уже использовал udpxy на домашнем сервере. И вот я решил попробовать всё-таки сделать проброс IPTV на роутере.

У меня Mikrotik RB951Ui-2Hnd. Он содержит 128 Мбайт оперативной памяти и 128 Мбайт флэш-памяти.

Будем считать, что всё основное уже настроено и Интернет работает. Вводные данные по интерфейсам:

  • Порт 1 — WAN;
  • Порты 2-5 — LAN;
  • Мост WAN-brigde содержит в себе WAN;
  • Мост LAN-bridge содержит в себе LAN2…LAN5 и WLAN;
  • Подключение к Интернету через PPPoE.

Для начала необходимо скачать образ OpenWRT. Сделать это можно, например, отсюда: http://openwrt.wk.cz/trunk/mr-mips/ . Либо с моего сайта: тыц. Также нам понадобится пакет udpxy, который можно будет взять там же.

Скачанный образ необходимо загрузить в Микротик (Files):

Создаём виртуальную машину. Для этого выбираем пункт меню MetaROUTER. Там нажимаем кнопку «Import Image«. Выбираем образ и выставляем 32 MB оперативной памяти, галочку Enabled убираем:

После успешного импорта у нас появилась новая виртуальная машина. Необходимо дважды щёлкнуть по ней для редактирования настроек. Добавляем диск на 12000 Кбайт:

Жмём OK. Теперь в окне MetaROUTERs переходим на вкладку Interfaces. Здесь надо добавить два интерфейса. Для LAN и WAN:

Теперь нашу виртуальную машину можно запустить. Выбираем Enable. Она автоматически перейдёт в состояние «running». Чтобы подключиться к ней — щёлкаем правой кнопкой мыши и выбираем Console. Увидим загрузку операционной системы. Затем для её активации — жмём Enter:

В списке интерфейсов теперь мы можем наблюдать два новых интерфейса — vif1 и vif2:

Необходимо настроить сеть. Для начала убедимся, что eth0 соответствует локальному интерфейсу. Вводим команду ifconfig и смотрим MAC-адрес. Он должен совпадать с MAC-адресом, который указан в интерфейсе подключенном к LAN-bridge:

Выполняем в консоли команду:

Нажимаем клавишу i и редактируем файл. После редактирования нажмаем Esc и вводим :wq для сохранения. Приводим файл к такому виду:

192.168.1.3 — это IP-адрес, который получит виртуальная машина. Смените, при необходимости.

Удаляем встроенный DHCP/DNS сервер:

Вручную поднимаем WAN интерфейс:

Почему бы не поднимать WAN интерфейс автоматически? Дело в том, что у моего провайдера привязка по MAC-адресу. И если виртуальная машина подключится раньше, чем произойдёт установление PPPoE сессии, то доступ в Интернет будет заблокирован. Поэтому будем пускать виртулку в сеть чуть позже.

Теперь, при вводе команды ifconfig увидим что-то подобное:

Убедимся в том, что Интернет в виртуальной машине доступен. Для этого достаточно пропинговать любой сайт по его доменному имени.

Установим пакет udpxy:

Убедимся, что он запускается. Запустим его вручную со следующими параметрами:

Теперь введём в браузере следующий URL и убедимся, что видим страницу статистики udpxy:

Уже хорошо. Но для работы IPTV пока недостаточно. Нужно добавить маршруты:

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

Теперь необходимо изменить плейлист. Все ссылки вида udp://@x.x.x.x:1234 заменить на http://192.168.1.3:1234/udp/x.x.x.x:1234 . Это легко делается с помощью поиска и замены в любом текстовом редакторе.

Запускаем IPTV плеер и проверяем работу:

Всё отлично! Осталось только сделать так, чтобы маршруты и udpxy стартовали автоматически. Создаём файлик:

Со следующим содержимым:

И редактируем файл автозагрузки:

В него надо добавить только одну строку:

Осталось сделать файл исполняемым:

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

Все действия проводились на микротике с прошивкой 6.44.6. На последней версии 6.46.1 (на момент публикации) возникала проблема с импортом образов.

Иногда, во время настройки, а особенно при перезагрузке MetaROUTERа — перезагружался полностью Микротик. Судя по всему, это нормальная его реакция. Срабатывает watchdog.

Источник

IP-TV и UDP Proxy, UDP-to-HTTP

Следует отметить, что не все устройства такие как смартфоны, планшеты, IPTV-приставки, телевизоры Smart TV и Android TV, а также игровые консоли и различные онлайн ТВ-плееры способны воспроизводить мультикаст трафик (multicast) напрямую. В таких случаях необходимо указывать в настройках самих устройств, или в установленных на них приложениях и программах для просмотра IPTV непосредственно IP-адрес и порт прокси (proxy), указанные в настройках Wi-Fi роутера (маршрутизатора), или прокси-сервера (proxy-server) в локальной (домашней) сети. В роли такого сервера может выступать не только роутер, но и один из ваших персональных компьютеров, подключенных к такой малой сети. Например этот адрес может выглядеть так: 192.168.1.1:1234 .

Глубоко в терминологию, схемы и принципы работы прокси-сервера мы погружаться не будем. Об этом можно прочесть на безграничных просторах интернета. Единственное, что нужно отметить, так это то, что для устройств, не способных воспроизводить IPTV по протоколу UDP , multicast поток преобразуется таким сервером в unicast поток , или UDP в TCP, а точнее — UDP-to-HTTP . Рассмотрим с вами в общих чертах несколько примеров данных настроек.

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

Поддержка UDP Proxy имеется в таких моделях роутеров как ASUS, Zyxel Keenetic, Mikrotik, Eltex и др. Также UdpxyLinux-прокси существует как отдельный компонент, доступный для загрузки и установки на альтернативные прошивки маршрутизаторов: OpenWRT, DD-WRT, Gargoyle и прочих им подобных. Можно попробовать найти и установить такую прошивку, подходящую для модели и аппаратной версии вашего роутера, и произвести необходимые настройки.

Настройка Proxy на Wi-Fi роутере (маршрутизаторе)

В некоторых моделях маршрутизаторов (далеко не во всех), поддерживающих передачу мультикаст-потоков, имеется возможность включить встроенный программный прокси-сервер. Обычно такой пункт в веб-интерфейсе роутера находится во вкладке или на странице «Настройка локальной сети» , «Домашняя сеть» , или «LAN» , возможно «IPTV» , «IP-телевидение» и называется соответственно «UDP Proxy» , «Udpxy» , «Proxy» , «UDP-to-HTTP» , «HTTP Proxy» , «Включить Прокси» , или что-то наподобие.

Имейте в виду, что при наличии и возможности включения IGMP Proxy , как в роутерах Zyxel Keenetic, его нужно обязательно включить.

Следует дополнительно включить UDP Proxy и назначить (прописать) порт, если его значение установлено как 0 . Например: 1234 , или любой другой. Что касается IP-адреса, то он по-умолчанию на различных моделях маршрутизаторов может быть 192.168.0.1 , или 192.168.1.1 , иногда, но редко — 192.168.10.1 . Смотрите инструкцию по настройке вашего роутера. Чаще всего данные об IP напечатаны на нижней крышке или на задней части корпуса маршрутизатора.

Пример настройки HTTP-прокси на маршрутизаторе Eltex WB-2

  • Выбираем вкладку IP-телевидение, затем IPTV.
  • В открывшихся настройках включаем IPTV (ставим галочку в чекбоксе).
  • Выбираем версию IGMP (здесь 3 варианта: Автоматически, V2 или V3, если сомневаемся, то оставляем как есть).
  • Включаем HTTP-прокси (также ставим галочку в чекбоксе).
  • Указываем порт прокси (в нашем случае это — 1234).
  • Применяем настройки нажатием соответствующей кнопки.

  • Выбираем пункт настроек Дополнительно, затем Разное.
  • Выбираем версию IGMP (по-умолчанию V3).
  • Включаем сервис UDPXY (ставим галочку в чекбоксе).
  • Вписываем порт (в нашем случае номер порта — 1234).
  • Нажимаем кнопку Применить.
  • Сохраняем введённые данные (конфигурацию устройства).

Пример настройки UDPXY на роутере SNR-CPE-W4N

  • В настройках нужно выбрать пункт Сервисы, потом Разное.
  • Отключить Режим обработки NAT.
  • Включить IGMP прокси.
  • Преобразование мультикаста в http установить для LAN.
  • Ввести номер порта UDPXY — 1234.
  • Применить введённые настройки.

Пример настройки UDP-прокси на интернет-центре Keenetic Ultra

  • Выбираем в настройках пункт Управление, а затем Общие настройки.

  • Нажимаем кнопку Изменить набор компонентов.

  • Ищем в списке компонентов Прокси-сервер UDP-HTTP (udpxy).
  • Отмечаем его для установки (ставим галочку в чекбоксе).
  • Нажимаем кнопку Установить обновления.

  • После установки компонента и перезагрузки устройства открываем пункт настроек Управление, затем Приложения.

  • Ищем установленный компонент UDP-прокси.
  • Включаем прокси-сервер (переводим ползунок в правое положение).
  • Переходим в настройки компонента, нажав на ссылку UDP-прокси.

  • Вписываем номер порта (в нашем случае — 1234, по умолчанию — 4022).
  • В пункте настроек подключения (Подключаться через) нужно выбрать локальную сеть Провайдера (IPoE).

  • Сохраняем внесённые данные нажатием соответствующей кнопки.

После всех соответствующих настроек интернет-центра нужно указать (прописать) вручную IP-адрес и номер порта в настройках ваших устройств (виджетов, приложений, или программ), через которые вы хотите смотреть IPTV посредством прокси-сервера домашнего роутера. Если все данные указаны и введены вами верно, то телеканалы будут доступны для просмотра уже не по протоколу UDP, а по TCP.

Настройка Proxy на компьютере (прокси-сервер в домашней локальной сети)

Если ваш роутер поддерживает приём и передачу мультикастового трафика IPTV (например TP-Link, или D-Link с официальной заводской прошивкой), но в нём нет настроек UDP Proxy, то в качестве прокси-сервера можно использовать небольшую утилиту, установленную на один из персональных компьютеров, подключенных к этому Wi-Fi роутеру, то есть к малой локальной сети. При этом не важно какое подключение используется — проводное, или беспроводное.

Для этого нужно скачать специальную утилиту: UDP-to-HTTP Proxy для компьютеров под управлением ОС Windows.

Запускаем UDP-to-HTTP Proxy.exe и переходим к настройкам:

  1. Устанавливаем интерфейс UDP-мультикаста: 192.168.1.2
  2. Устанавливаем интерфейс HTTP-сервера: 192.168.1.2
  3. Указываем порт: 1234 или какой-то другой.
  4. Сохраняем введённые данные.
  5. Запускаем программу вручную нажатием соответствующей кнопки, или настраиваем её запуск в качестве сервисной службы. Во втором случае утилита будет запускаться автоматически при включении компьютера.

Далее указываем вручную IP-адрес и номер порта (в нашем конкретном случае это — 192.168.1.2:1234 ) в настройках ваших устройств, виджетов, приложений, или программ, через которые вы желаете смотреть IP-телевидение, используя прокси-сервер на компьютере. Если данные указаны и введены верно, то начнётся воспроизведение телеканалов.

Примечание: Иногда в некоторых приложениях, как например, в настройках виджета OTT-Player для Smart TV, нужно указывать IP-адрес и номер порта следующим образом: http://192.168.1.1:1234

Очень большим плюсом использования UDP Proxy в небольшой домашней сети как на Wi-Fi роутерах, так и на компьютерах является надёжность доставки пакетов трафика IPTV по Wi-Fi и возможность воспроизведения его практически на любых устройствах, а также значительно стабильнее транслируются телеканалы в HD качестве — без подвисаний и различных визуальных, звуковых артефактов.

Помочь в выборе подходящего Wi-Fi маршрутизатора вам помогут статьи на нашем сайте:

Источник