Jump to content

Michael Khaskelberg

Forum Members
  • Posts

    12
  • Joined

Posts posted by Michael Khaskelberg

  1. Разобрался, все заработало. 

    Дело в том, что я не настраивал пробросы портов вручную через веб-интерфейс. Это делал за меня Synology NAS - он "особо умный", и умеет сам настраивать их на роутере через UPnP на основании списка запущенных веб-приложений. Оказалось, что правила NAT Lookup не создатся при генерации пробросов портов через UPnP. Отключил авто-проброс и сделал все вручную через веб-интерфейс - и все заработало.

  2. 58 минут назад, Mikesk сказал:

    только что проверил - все работает. Дома веб-сервер на порту 8080, доступен по keendns-имени:8080 откуда угодно. Попробуйте постучаться по внешнему IP, доступен ваш NAS?

    Тоже только что еще раз проверил.

    Чисто веб-сервис на NAS, доступен в браузере. Захожу по http://myname.keenetic.link:7000/ - работает идеально, если ноутбук в интернете через 4G. Перехожу на wifi, нажимаю ctrl+F5 - получаю "Не удается получить доступ к сайту. Сайт myname.keenetic.link не позволяет установить соединение.". Если вводить http://192.168.5.110:7000/ - то опять работает. 

    Т.е. я не выдумал проблему, поверьте. 

    PS Гуглил, нашел что NAT Loopback может быть отключен на уровне CLI-интерфейса. Разобрался, зашел, "interface Home ip nat loopback" - включил, конфигурацию сохранил. Ничего не изменилось. 

  3. 15 минут назад, MDP сказал:

    (config)> ip host ‹domain› ‹address›

    Как потом "откатить" эти изменения, если что-то пойдет не так? Очень не хочется сбрасывать роутер "до заводских", я его 2 недели настраивал.

    И если я правильно понимаю смысл работы hosts, то этот метод сработает с 2 ограничениями:

    1. Можно будет обращаться по имени хоста только к одному серверу сети. Но у меня серверов несколько (2 разных NAS-а + локальный сервер для разработки)
    2. Если при пробросе портов наружу использовался механизм подмены номера порта (например, к локальному 80 порту разработческого сервера я сейчас стучусь через MyName.keenetic.link:11080), то метод работать не будет.

    Верно?

  4. 28 минут назад, MDP сказал:

    Первое что в голову приходит подправить hosts ...и привязать доменное имя к локальному адресу.

    Эээээ... где править hosts? На ноутбуке? Боюсь, не поможет, т.к. при работе из внешней сети я буду слать пакеты "в никуда". Или придется иметь 2 файла hosts, "подкладывая" нужный в зависимости от того, в какой сети зарегистрирован сейчас ноутбук. Это неудобно, и к тому же сложнореализуемо на мобильных устройствах.

  5. 43 минуты назад, Mikesk сказал:

    это называется nat loopback и вроде всегда работало.

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

    По факту что имею сейчас: есть NAS Synology, на нем поднят (к примеру) NoteStation. Он работает по порту 9351. Соответственно, на Кинетике стоит проброс внешнего TCP-порта 9351 на такой же номер порта по внутреннему IP NAS-a. На ноутбуке настроен NoteStation-клиент, который стучится по адресу MyName.keenetic.link, и успешно попадает на мой NAS. Но это работает только если ноутбук во внешней сети (с работы, или через 4G). Как только ноут попадает во внутреннюю сеть роутера (LAN или wifi), клиентское приложение перестает коннектиться к серверу. 

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

    Подскажите, как/что проверить?

  6. 13 минуты назад, zyxmon сказал:

    What is too complicated in "Attension" remark? Just open it.

    Already saw the "Attention". But I see no reason to restore broken dependencies. Either "clean install" or "use NAS".

    Considering the fact that NextCloud works on my Extra too slowly, I will not even try the first option.

     

  7. Ситуация. Есть Кинетик Экстра, за ним живет достаточно большая домашняя сеть. Внешний IP - белый, динамический. В сети подняты некоторые веб-сервисы, в том числе файловое хранилище, аудио/видео стриминг и облако NextCloud (все на NAS). Понятно, что когда мои устройства (Win и Андроид) находятся внутри сети, то доступ к сервисам я получаю по адресу вида "192.168.x.y:port". Когда уезжаю на работу с ноутбуком и телефоном,доступ к локальным сервисам могу получить только 2 способами:

    1. через проброс портов на Кинетике. Но в этом случае приходится каждый раз перенастраивать клиентские приложения на компе и телефоне, заменяя адрес вида 192.168.x.y:port на xxx.keenetic.link:port (который резолвится в мой внешний белый IP и благополучно обрабатывается проброшенными портами)
    2. поднимая на Кинетике vpn-сервер и подключаясь к нему со своих мобильных устройств. В этом случае не приходится перенастраивать приложения, но держать постоянно поднятый vpn до дома не очень удобно. 

    Второй метод конечно универсальный, но по разным причинам подходит не всегда. В идеале хотелось бы настроить работу по 1 методу, указывая во всех приложениях адрес подключения xxx.keenetic.link:port. Но проблема в том, что когда я нахожусь в домашней сети и делаю запрос по адресу внешнего IP, пакеты попадают на внешний интерфейс роутера, где благополучно и теряются. 

    Собственно вопрос: можно ли каким-то образом настроить Кинетик так, что если в локальной сети находится устройство, которое стучится на адрес xxx.keenetic.link:port, то роутер понимал бы, что эти запросы следует адресовать на внутренние сервисы по соответствующим портам, вместо того, чтобы пытаться футболить их в Интернет?

    • остановил веб-сервер
    • удалил php 7.4 (ipkg remove ...)
    • скопировал из ссылки все модули PHP версии 7.2.17 в /opt/home
    • opkg install /opt/home/php*
    • сервер старт
    • интерфейс OwnClowd начинает загружаться, но обламывается с ошибкой: "Не установлен PHP-модуль intl."
    • при этом opkg info php7-mod-intl выдает вот что:
    Package: php7-mod-intl
    Version: 7.4.1-2
    Depends: libc, libssp, librt, libpthread, php7, icu
    Status: unknown ok not-installed
    Section: lang
    Architecture: mipsel-3.4
    Size: 142429
    Filename: php7-mod-intl_7.4.1-2_mipsel-3.4.ipk
    Description: Note that this package depends in ICU library which is built without data
     by default. This is to satisfy programs build and run dependencies but to
     keep the installed footprint small on the target system(s).
     However, the data is required to make the ICU library useful - and thus
     directly affects PHPs ICU extension, too - so consider to also
     select/install package 'icu-full-data'.
    
    Package: php7-mod-intl
    Version: 7.2.17-2
    Depends: libc, libssp, librt, libpthread, php7, icu
    Status: install user installed
    Architecture: mipsel-3.4
    Installed-Time: 1580746741

    С какого фига он продолжает писать про 7.4.1 - не понимаю. Команда ниже не помогает:

    • opkg install /opt/home/php7-mod-intl_7.2.17-2_mipsel-3.4.ipk --force-reinstall --force-overwrite --force-downgrade

    Чё-то как то грустно.
    Попробую NextCloud, может он посговорчивее окажется. 
     

  8. I tried to use this instruction, but did not succeed. I can install only the php 7.4.1 from OPKG, while the OwnCloud is only compatible with version 7.3 (look at the official website). Upgrading the OwnCloud to version 10.3.2 did not solve the problem, because php 7.4 is still not supported, therefore I take error "This version of ownCloud is not compatible with PHP 7.4". In addition, Google says that there is no way to install an older version of the php packages through the OPKG.

    Any ideas what can be done?

×
×
  • Create New...