Jump to content
  • 1

http reverse proxy


Cha-Cha

Question

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

Edited by Cha-Cha
  • Thanks 1
Link to comment
Share on other sites

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 4
Link to comment
Share on other sites

  • 0

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

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

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

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

  • Thanks 1
Link to comment
Share on other sites

  • 0
17 часов назад, ndm сказал:

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

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

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

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

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

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

  • Thanks 1
Link to comment
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
Link to comment
Share on other sites

  • 0
3 часа назад, Cha-Cha сказал:

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

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

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

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

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

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

  • Thanks 1
Link to comment
Share on other sites

  • 0
19 минут назад, Leksey118 сказал:

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

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

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

Link to comment
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?

Link to comment
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), подскажите, что не так. Часть модулей не установлены, не хватает места в памяти.

Link to comment
Share on other sites

  • 0

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

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

Edited by r13
  • Thanks 2
Link to comment
Share on other sites

  • 0

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

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

Edited by AlexSm
Link to comment
Share on other sites

  • 0

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

Edited by The_Immortal
Link to comment
Share on other sites

  • 0
2 часа назад, The_Immortal сказал:

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

show running-config

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

> no ip http proxy <name>

> system configuration save

  • Thanks 1
Link to comment
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
Link to comment
Share on other sites

  • 0

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

Link to comment
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

Link to comment
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?

Link to comment
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 :(
Link to comment
Share on other sites

  • 0

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

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

Link to comment
Share on other sites

  • 0

Помогите пожалуйста разобраться. С регистрацией домена через KeenDNS командой domain ndns, все понятно, все работает.

Как сделать доступ к ресурсу без туннеля KeenDNS???  IP - белый. В команде domain static надо указать доменное имя. Но что это должно быть за имя? Как его за регистрировать ? Где? 

Можно ли таким образом организовать доступ к ресурсу не по ip:port, а по доменному имени, в рамках одной локальной сети (когда wan-ip серый)?

P.S. не ругайтесь сильно, я только учусь )) Помогите разобраться.

Link to comment
Share on other sites

  • 0
В 24.02.2021 в 11:47, ajs сказал:

Для 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

Подскажите, пожалуйста, это работает только, если upstream в домашней сети?
Возможно ли сделать upstream в сегмент отличный от домашней сети?

Прокси создаётся, но при подключении chrome выдаёт err_timed_out. (если удалить прокси, то перебрасывает на WEB-интерфейс keenetic).

При этом у меня не создано ни одного прокси ndns (у меня domain static)

Edited by sashaqwert
Link to comment
Share on other sites

  • 0
В 04.02.2022 в 03:17, Sano сказал:

Помогите пожалуйста разобраться. С регистрацией домена через KeenDNS командой domain ndns, все понятно, все работает.

Как сделать доступ к ресурсу без туннеля KeenDNS???  IP - белый. В команде domain static надо указать доменное имя. Но что это должно быть за имя? Как его за регистрировать ? Где? 

Можно ли таким образом организовать доступ к ресурсу не по ip:port, а по доменному имени, в рамках одной локальной сети (когда wan-ip серый)?

P.S. не ругайтесь сильно, я только учусь )) Помогите разобраться.

Присоединюсь - хочется послушать как правильно.

Есть domain1.ru и domain2.ru

Сейчас они работают через проброс порта и их разделяет nginx на сервере за NAT. При этом оба веб-приложения крутятся на 1 сервере. А надо бы сделать так чтобы и веб-морда работала на 80 порту и domain1.ru редиректил на 192.168.1.10 а domain2.ru на 192.168.1.11 например

IP белый

У хостера редиректы на белый IP как вы понимаете настроены

Link to comment
Share on other sites

  • 0

Разобрался, но это скорее костыль чем полноценный инструмент.

ip http proxy domain
    upstream http 192.168.1.100 80
    domain static com
    security-level public
!

Приведет нас к редиректу с сайта domain.com на 192.168.1.100:80

При этом если дальше в running-config запихнуть попытку прокси 443 порта c тем же прокси-итемомом

ip http proxy domain
    upstream https 192.168.1.100 443
    domain static com
    security-level public
!

То предыдущая инструкция будет затерта

Тоже самое касается попытки пробросить два домена 2 уровня с префиксом www

ip http proxy www
    upstream https 192.168.1.100 443
    domain static domain1.com
    security-level public
!

ip http proxy www
    upstream https 192.168.1.101 443
    domain static domain2.com
    security-level public
!

работать будет только вторая инструкция, первая затрется.

Ну и в раздел пожелания/улучшения хочется пожелать улучшения в области логики добавления виртуальных хвостов и улучшения работы инструмента reverse-proxy :)

  • Upvote 2
Link to comment
Share on other sites

  • 0
6 минут назад, Максим Дианов сказал:

Ну и в раздел пожелания/улучшения хочется пожелать улучшения в области логики добавления виртуальных хвостов и улучшения работы инструмента reverse-proxy :)

Можно здесь создать тему: https://forum.keenetic.com/forum/9-развитие/

Может разрабы заинтересуются...

Link to comment
Share on other sites

  • 0
1 час назад, ANDYBOND сказал:

startup-config редактируют.

Отредактировал в запросе на разработку. У меня как-то так повелось что я running-config скачиваю а потом его startup-config скармливаю. Видимо сам себе не верю, что ничего не поизменял через web морду )))

Link to comment
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...