Jump to content
  • 0
Cha-Cha

http reverse proxy

Question

Расскажите как использовать? Правильно ли я понимаю, что name domain нужно будет задавать на своём dns сервере? Как-то странно это выглядит...

Edited by Cha-Cha
  • Thanks 1

Share this post


Link to post
Share on other sites

23 answers to this question

Recommended Posts

  • 0

Имя можно задавать и на своём DNS-сервере, но гораздо удобнее пользоваться KeenDNS.

  1. Допустим, морда transmission работает на порту 8090.
  2. Зарегистрируйте имя KeenDNS, например, example.mykeenetic.net
  3. Настройте прокси:
    (config)> ip http proxy transmission
    (config-http-proxy)> domain ndns
    (config-http-proxy)> upstream http 127.0.0.1 8090
    (config-http-proxy)> allow public

KeenDNS устроен таким образом, что даже когда у кинетика серый WAN-адрес, и включен режим Облачный доступ, все запросы на "transmission.example.mykeenetic.net" перенаправляются по туннелю на Ваш кинетик, и затем проксируются в заданный upstream. Таким образом, Вы можете открыть доступ в морду transmission или к своему NAS в домашней сети, не имея белого адреса. Бесплатно!

Если NAS в домашней сети имеет динамический адрес, в качестве upstream можно указать его MAC-адрес, и прокси найдёт его автоматически. Только хост должен быть зарегистрирован.

Вы не ограничены домашней сетью. Настройте upstream на любой хост в интернете, и он тоже будет работать.

  • Thanks 3

Share this post


Link to post
Share on other sites
  • 0

Как-то слишком волшебно с KeenDNS получается (я пессимист и параноик, ага), не получатся ли потенциальные злоупотребления ?

domain - предлагает domain static, это что?

allow public - пока без вариантов?

Не совсем ясно, как реализовать на своем домене с белым IP - есть к примеру myrouter.mydomain.com, его указывать в domain или куда? Нужна ли в этом случае облачная служба, можно ли поменять порт, защитить правилами фаервола доступ с определенных диапазонов?

  • Thanks 1

Share this post


Link to post
Share on other sites
  • 0
17 часов назад, ndm сказал:

Имя можно задавать и на своём DNS-сервере, но гораздо удобнее пользоваться KeenDNS.

Можно зареквестить здесь или вынесу в отдельную тему.

Сейчас при работе через облако(KeenDNS) на upstream сервак передаётся ip в заголовке x-forwarded-for.

Но при работе через облако там всегда получается 127.0.0.1. Хотел у себя настроить фильтрацию на апстриме, но не могу.

Хотелось бы чтобы в заголовок попадал реальный ip клиента, который обращается.

Баг или фича это решать вам.

  • Thanks 1

Share this post


Link to post
Share on other sites
  • 0
15 часов назад, KorDen сказал:

Как-то слишком волшебно с KeenDNS получается (я пессимист и параноик, ага), не получатся ли потенциальные злоупотребления ?

domain - предлагает domain static, это что?

allow public - пока без вариантов?

Не совсем ясно, как реализовать на своем домене с белым IP - есть к примеру myrouter.mydomain.com, его указывать в domain или куда? Нужна ли в этом случае облачная служба, можно ли поменять порт, защитить правилами фаервола доступ с определенных диапазонов?

1. Возможно два варианта. static - это свой домен domain (<name>.<domain>). Например, iptv.test.mykeenetic.ru. name = iptv, domain = test.mykeenetic.ru

При включении KeenDns становится доступным вариант ndns, который сам подставит нужный адрес.

2. Насколько я понял пока да.

3. Указывать myrouter.mydomain.com: domain static myrouter.mydomain.com. Если настраивается iptv, например, то обращение пойдет на iptv.myrouter.mydomain.com

Если нужно именно myrouter, то настраиваем(создаем прокси с именем) myrouter: domain static mydomain.com

Облако в случае своего имени не нужно. Порт слушается только 80, дальше редиректится туда, куда указано в upstream. Фаервол можно для чего угодно настроить, отдельно для этого вроде нет.

Edited by Cha-Cha
  • Thanks 2

Share this post


Link to post
Share on other sites
  • 0
3 часа назад, Cha-Cha сказал:

Можно зареквестить здесь или вынесу в отдельную тему.

Сейчас при работе через облако(KeenDNS) на upstream сервак передаётся ip в заголовке x-forwarded-for.

Но при работе через облако там всегда получается 127.0.0.1. Хотел у себя настроить фильтрацию на апстриме, но не могу.

Хотелось бы чтобы в заголовок попадал реальный ip клиента, который обращается.

Баг или фича это решать вам.

Про X-Forwarded-For подумаем, создайте отдельную тему в "развитие" чтобы не забылось.

  • Thanks 1

Share this post


Link to post
Share on other sites
  • 0

Sep 15 23:01:20ndm Http::Manager: invalid proxy name: "web_keenetic".

Пока в одно слово возможно без специальных символов?

Share this post


Link to post
Share on other sites
  • 0
19 минут назад, Leksey118 сказал:

Sep 15 23:01:20ndm Http::Manager: invalid proxy name: "web_keenetic".

Пока в одно слово возможно без специальных символов?

Нельзя подчеркивание, только дефис можно.

Share this post


Link to post
Share on other sites
  • 0
В 14.09.2016 в 22:35, ndm сказал:

Имя можно задавать и на своём DNS-сервере, но гораздо удобнее пользоваться KeenDNS.

  1. Допустим, морда transmission работает на порту 8090.
  2. Зарегистрируйте имя KeenDNS, например, example.mykeenetic.net
  3. Настройте прокси:
    (config)> ip http proxy transmission
    (config-http-proxy)> domain ndns
    (config-http-proxy)> upstream http 127.0.0.1 8090
    (config-http-proxy)> allow public

KeenDNS устроен таким образом, что даже когда у кинетика серый WAN-адрес, и включен режим Облачный доступ, все запросы на "transmission.example.mykeenetic.net" перенаправляются по туннелю на Ваш кинетик, и затем проксируются в заданный upstream. Таким образом, Вы можете открыть доступ в морду transmission или к своему NAS в домашней сети, не имея белого адреса. Бесплатно!

Если NAS в домашней сети имеет динамический адрес, в качестве upstream можно указать его MAC-адрес, и прокси найдёт его автоматически. Только хост должен быть зарегистрирован.

Вы не ограничены домашней сетью. Настройте upstream на любой хост в интернете, и он тоже будет работать.

день добрый! а настройка прокси только через cli?

Share this post


Link to post
Share on other sites
  • 0
1 час назад, alex10 сказал:

день добрый! а настройка прокси только через cli?

Пока да, но скоро должна появиться поддержка в Web-интерфейсе.

  • Thanks 2

Share this post


Link to post
Share on other sites
  • 0
59 минут назад, Le ecureuil сказал:

Пока да, но скоро должна появиться поддержка в Web-интерфейсе.

спасибо!

Share this post


Link to post
Share on other sites
  • 0
В 14.09.2016 в 22:35, ndm сказал:

(config)> ip http proxy transmission
(config-http-proxy)> domain ndns
(config-http-proxy)> upstream http 127.0.0.1 8090
(config-http-proxy)> allow public

Выдает следующую ошибку:

(config)> ip http proxy transmission
Command::Base error[7405600]: no such command: proxy.

(Keenetic Omni v2.07(AAKU.2)C1), подскажите, что не так. Часть модулей не установлены, не хватает места в памяти.

Share this post


Link to post
Share on other sites
  • 0

@AlexSm Переходите на 2.08 этой функции нет в 2.07

И поставьте Модуль управления маршрутизатором через облачную службу.

Edited by r13
  • Thanks 2

Share this post


Link to post
Share on other sites
  • 0

Спасибо, просто Супер! 

На версии 2.08 никаких дополнительных настроек через командную строку не требуется, за серым IP веб-интерфейс Transmission сразу доступен  по http:// *******.mykeenetic.**:8090

Edited by AlexSm

Share this post


Link to post
Share on other sites
  • 0

Подскажите, пожалуйста, какой командой можно посмотреть список всех созданных http proxy (с информацией об upstream) и удалить ненужные?

Edited by The_Immortal

Share this post


Link to post
Share on other sites
  • 0
2 часа назад, The_Immortal сказал:

Подскажите, пожалуйста, какой командой можно посмотреть список всех созданных http proxy (с информацией об upstream) и удалить ненужные?

show running-config

Удалить через

> no ip http proxy <name>

> system configuration save

  • Thanks 1

Share this post


Link to post
Share on other sites
  • 0
В 14.09.2016 в 22:35, ndm сказал:

Имя можно задавать и на своём DNS-сервере, но гораздо удобнее пользоваться KeenDNS.

  1. Допустим, морда transmission работает на порту 8090.
  2. Зарегистрируйте имя KeenDNS, например, example.mykeenetic.net
  3. Настройте прокси:
    (config)> ip http proxy transmission
    (config-http-proxy)> domain ndns
    (config-http-proxy)> upstream http 127.0.0.1 8090
    (config-http-proxy)> allow public

KeenDNS устроен таким образом, что даже когда у кинетика серый WAN-адрес, и включен режим Облачный доступ, все запросы на "transmission.example.mykeenetic.net" перенаправляются по туннелю на Ваш кинетик, и затем проксируются в заданный upstream. Таким образом, Вы можете открыть доступ в морду transmission или к своему NAS в домашней сети, не имея белого адреса. Бесплатно!

Если NAS в домашней сети имеет динамический адрес, в качестве upstream можно указать его MAC-адрес, и прокси найдёт его автоматически. Только хост должен быть зарегистрирован.

Вы не ограничены домашней сетью. Настройте upstream на любой хост в интернете, и он тоже будет работать.

Вы реализовали в последней сборке возможность задавать эти настройки в web, но там нельзя задать адрес локалхоста самого роутера 127.0.0.1. Пробовал хаком в устройствах зарегистрировать роутер по его адресу в локалке, но так не работает. Добавьте пожалуйста выбор в качестве upstream локалхоста роутера 127.0.0.1 в веб, потому что на entware может крутиться что угодно. О статике(static, НЕ ndns) не прошу, но было бы круто, если бы можно было и самому настраивать, как хочется.

  • Thanks 1

Share this post


Link to post
Share on other sites
  • 0

И еще бы фаервол туда, а то сейчас я даже не знаю как настроить правило, чтобы блочились внутри роутера соединения на 127.0.0.1:8888, например.

Share this post


Link to post
Share on other sites
  • 0

Рыл поиск, и нашел эту тему, как раз вроде возникла такая же задача.

В локальной сети есть 2 сервиса, один использует 80 и 443 порт, второй допустим только 80.

Есть белый IP, есть домен, и в текущий момент настроена переадресация с 80 на сервис1:80 и так же по 443, но надо добавить переадресацию на второй сервис или по домену 4 уровня, или по другому доменному имени (тоже как бы есть).

Мне надо отключить переадресацию, включить KeenDNS, создать домен 4-го уровня в KeenDNS - надо ли?

И прописать примерно вот такое в cli:

Для service2.domen.keendns.pro

(config)> ip http proxy service2
(config-http-proxy)> domain ndns
(config-http-proxy)> upstream http 192.168.10.X 80
(config-http-proxy)> allow public

Для subdomen.domen.com

(config)> ip http proxy subdomen
(config-http-proxy)> domain static domen.com
(config-http-proxy)> upstream http 192.168.11.X 80
(config-http-proxy)> allow public

А вот как быть с HTTPS(443) оставить переадресацию, или добавить нечто типа

(config-http-proxy)> upstream https 192.168.11.X 443

Share this post


Link to post
Share on other sites
  • 0
22 минуты назад, Le ecureuil сказал:

а, upstream https / 443 полноценно работает с 3.5.

Т.е. вот так будет верно:

(config)> ip http proxy service2
(config-http-proxy)> domain ndns
(config-http-proxy)> upstream http 192.168.10.X 80
(config-http-proxy)> allow public

Для subdomen.domen.com

(config)> ip http proxy subdomen
(config-http-proxy)> domain static domen.com
(config-http-proxy)> upstream http 192.168.11.X 80
(config-http-proxy)> upstream https 192.168.11.X 443

(config-http-proxy)> allow public

 

А можно сделать допустим чтобы при заходе со всех имен доменов или по белому IP была переадресация 80 и 443 порта на сервис 1, а если по домену 4-го уровня то переадресация на сервис 2?

Share this post


Link to post
Share on other sites
  • 0
12 часа назад, Le ecureuil сказал:

Да, upstream https / 443 полноценно работает с 3.5.

Как то не вышло, попробовал но получил только:

        "ip http proxy service2",
        "    upstream http 192.168.10.X 80",
        "    domain ndns",
        "    security-level public",
        "!",
        "ip http proxy subdomen",
        "    upstream https 192.168.11.X 443",
        "    domain static domen.com",
        "    security-level public",
        "!",
Т.е. можно добавить или http или https :(

Share this post


Link to post
Share on other sites
  • 0

Приветствую, не подскажете можно ли проксировать  UDP порт. Пробую 5060 авторизация не проходит. для проверки все ли правильно, поменял на порт веб морды 80. работает но (он же TCP). 

P.S если открыть порт 5060 во внешку, тут же начинается брут. Менял на нестандартный порт 5002. хватило на пару дней тишины, потом опять

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...