Простой способ опубликовать базу 1C из дома в интернет, когда Ваш провайдер этого не обеспечивает (3G, 4G модем и т.п.)

Если у Вас возникла потребность опубликовать из дома во всемирную паутину базу 1С (например, для тестирования), в т.ч. интерфейс OData, HTTP или Web-сервисы, а интернет-провайдер (например, 3G Мегафон) не предоставляет возможности инициировать соединения извне, то в конце статьи Вы найдете простой, быстрый и условно-бесплатный способ это сделать.

Простое решение в конце статьи, а для сравнения — начну с описания более длинного пути через VPS. Я проделал его с помощью Amazon Web Services (AWS) ввиду его символической цены (1 евро) на целый год после регистрации. Что-то подобное нужно будет сделать для любого VPS, если выбрать этот путь решения. Перед началом нижеописанных шагов база 1С уже опубликована на http-сервере домашнего ПК и доступна по локальной сети. Список моих шагов по AWS:

  1. Зарегистрировал QIWI — кошелек.
  2. Дождался проверки моих данных. На это у QIWI ушло примерно 20 минут. Проверка нужна, чтобы бесплатно выпустить виртуальную карту. Если хотите остаться анонимным — не идентифицированному пользователю карту выпустят за 99 рублей.
  3. Запросил и получил бесплатную виртуальную QIWI — карту.
  4. Закинул на виртуальную карту 100 рублей.
  5. Завел учетную запись на AWS, указал виртуальную карту QIWI и телефон.
  6. Дождался проверки моих данных Amazon-ом и подключения возможностей пользоваться их сервисами. Ушло минут 40. При проверке платежеспособности виртуальной карты — Амазон списывает с нее 70 рублей (1 евро)
  7. На AWS создал в EC2 виртуальную машину (далее ВМ) t2.micro c ОС Ubuntu 14. Такой конфигурацией Амазон дает пользоваться бесплатно целый год после регистрации.
  8. Настроил ВМ для подключения через ssh, в т.ч. создал приватный PEM-ключ для него.
  9. Скачал на домашний ПК (далее ПК) putty для Windows
  10. Скачал на ПК PEM-ключ, созданный на шаге-8, сконвертировал его в формат для putty.
  11. Запустил ВМ, подключился к ней с ПК через ssh putty с использованием ключа из шага 10.
  12. Поставил на ВМ OpenVPN — сервер, создал файл конфигурации и приватный ключ для VPN
  13. Загрузил на ПК OpenVPN — клиент, создал файл конфигурации для него, скачал на ПК приватный ключ из 11-го шага.
  14. На ВМ установил iptables-persistent, разрешил IP forvard и сделал проброс 80 порта.
  15. Запустил OpenVPN на ВМ и подключился к нему с ПК. Опубликованная на ПК база стала доступна из всемирной сети.

Вот такой трудоемкий путь для любителя практических квестов.

Теперь обещанный короткий путь. 

  1. Зашел на сайт birevia, нашел кнопку "получить статический адрес". Правда, я не успел нажать эту кнопку, т.к. через несколько секунд пребывания на сайте появилось всплывающее окно, в которое я ввел свой емейл и получил письмо с инструкциями. Думаю, кнопка "получить статический адрес" предназначена тоже для этого. 
  2. По полученной инструкции вошел в личный кабинет birevia, выбрал нужный мне вариант подключения. 
  3. На ПК, создал новое VPN-подключение к birevia, выбрал опции по инструкции и подключился к VPN. Я выбрал вариант PPTP-VPNа.
    Все, ПК доступен входящим вызовам из интернета по указанному в инструкции IP-адресу. 
  4. Порт будет не 80, а в бесплатном варианте — из указанного в инструкции диапазона портов. Поэтому, в апаче или IIS нужно указать, чтобы помимо 80 порта, веб-сервер слушал еще порт из этого диапазона. Например, у меня на домашнем ПК в файле httpd.conf добавлена строчка "Listen 19555".

Способ с  Amazon Web Services занял несколько часов, на способ через BiREVIA ушел десяток-другой минут.

Первый месяц birevia дает бесплатно, дальше для отладочных тестов 1С подойдет тариф с неправдоподобной ценой — 30 (тридцать) руб. в месяц. Мне для целей тестирования пока не понадобилось больше месяца.

Если знаете другие способы решения обозначенной задачи, или условно-бесплатные VPS, или условно-бесплатные VPN, позволяющие инициировать входящий трафик на домашний http сервер (в условиях когда сам интернет-провайдер этого не позволяет)  — делитесь в комментариях.
 

25 Comments

  1. asved.ru

    1С:Линк

    Не нужно настраивать SSL, доменное имя — все работает из коробки. Автоматизирована даже операция публикации.

    И бесплатно.

    По договору сопровождения 1С:ИТС ПРОФ лицензионный продукт «Агент 1С:Линк 2» предоставляется пользователям без дополнительной оплаты

    И еще серьезный плюс: ничего не меняется в таблице маршрутизации.

    Reply
  2. capitan

    (1)Нечего добавить )

    На самом деле если не хочется Линк — хамачи дает доступ за серые IP без танцев с бубнами

    Reply
  3. user1115854

    (1)

    Единственная проблема — подписку ИТС необходимо иметь.

    Reply
  4. uno-c

    (2)

    хамачи дает доступ за серые IP без танцев с бубнами

    Хамачи, насколько понял прочитав пару абзацев, нужно ставить на оба компьютера — туда где опубликована 1С, и туда, откуда вызов идет. Думаю, найдутся случаи, для которых это тоже подходящее решение.

    Reply
  5. user1281302

    Про другие роутеры не знаю, но можно бесплатно настроить доступ, если дома роутер Keenetic (сервис KeenDNS через keenetic.pro)

    Reply
  6. PerlAmutor

    SoftEther.org — бесплатен и позволяет сделать многое в умелых руках. Мне удавалось настраивать resverse-connection вариант, когда сам сервер инициирует подключение к клиентской точке (или множеству точек) для создания приватной сети. Все это дело настраивал по протоколу https (443). Из минусов — на одной из сторон необходимо иметь полные права на машине, иначе виртуальный адаптер не установится.

    Reply
  7. EVKash

    (5) с серым IP? ну-ну…

    Reply
  8. user1281302

    (7) Да, с серым. Роутер показывает IP 10.254.хх.хх доступ из интернета через 4-уровневый адрес http://ххх.уууу.keenetic.pro/ где xxx это мой веб сервер на NAS, а yyyy это мой логин в сети кенетик

    Reply
  9. uno-c

    (8)Надо будет прикупить такую штуковину ). Вроде есть keenetic, в который 3G модем можно вставить…

    Reply
  10. EVKash

    (8) zyxel прям поднялся в моих глазах… действительно пускают через свое облако. интересно как обстоят дела со скоростью через облако?

    Reply
  11. agentz

    https://ngrok.com/ прекрасно работает. настраивается как служба за 15 минут

    Reply
  12. anosin

    (10) нормально всё со скоростью

    Reply
  13. uno-c

    (11)Очень простой и быстрый вариант: скачал и запустил, работает.

    Reply
  14. capitan

    (11)

    (13)

    Через него тонкий клиент можно пробросить ?

    Reply
  15. uno-c

    (14)да

    Reply
  16. Cmapnep

    https://www.noip.com/remote-access

    Поддерживается в большинстве роутеров

    Бесплатный

    Вообще в роутере нужно смотреть — для ASUS есть свой бесплатный сервис DDNS

    OpenVPN можно и на домашней машине поднять, если нужно

    Reply
  17. MCV

    (3) это действительно единственная проблема?

    Я вот читаю мануал к линку и см:

    4.7. Заказ лицензионных продуктов «1С: Линк»

    Сервис «1С: Линк» предоставляется, только если программа находится на

    официальной поддержке: https://portal.1c.ru/support

    А если это самописная конфа , то не опубликуется или ей пофиг, лиж бы был ИТС действующий?

    Reply
  18. uno-c

    (16)

    OpenVPN можно и на домашней машине поднять

    Я говорил об инициировании соединения снаружи. Например, мне нужно вебхук принять от Битрикс-24. OpenVPN, поднятый на локалке с недоступным серым адресом — не поможет в этом вопросе.

    Reply
  19. uno-c

    (16)

    Не поможет. Этот сервис просто привязывает динамический IP к имени хоста. Я же вел речь о случае, когда у нас серый IP адрес за непроходимым извне NAT-ом.

    Reply
  20. Cmapnep

    (19) да, действительно, DDNS сам по себе с серым IP не поможет — нужен роутер с облаком, как у Zyxel

    Reply
  21. nvv1970

    (11) круто, действительно удобно

    единственный минус, что путь динамический

    Конечно при наличии статики таким способом пользоваться не будешь

    А при наличии удаленной машинки в облаке(или со статикой) удобнее пробросить порт на свою железку через vpn или ssh

    Reply
  22. agentz

    (21) если зарегистрироваться, то можно прописывать статическое имя для сервиса

    Reply
  23. Feelthis
    тариф с неправдоподобной ценой — 30 (тридцать) руб. в месяц

    стоит упомянуть, что там получается ограничен трафик за эту цену в 100мб в мес.

    На мой взгляд лучше взять российский VPS минимальный ~240 руб/мес (1Гб ОЗУ) настроить OpenVPN, подключаться к нему сервером с базой 1С и клиентами (если не хотим чтобы база наружу торчала) или проброс настроить если клиентам нет желания open vpn ставить. По сравнению с AWS вероятно скорость будет быстрее..

    Reply
  24. uno-c

    извините, повтор.

    Reply
  25. uno-c

    (23)Думаю, если нужен нормальный трафик, то нужно искать другое решение, не 3G модем. Мне для тестирования/отладки в домашних условиях и 100 мб заглаза.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *