Комментарии 61
Я правильно понял: сижу за натом, поднят сервер на 80-м порту, ввожу «localtunnel 80» и мне сообщают домен (пускай хоть 10-го уровня :) ), на котором к моей машине можно достучаться извне?
Да, так и есть. Достукиваться можно пока программа запущена и соответсвенно открыт туннель.
Замечательно. То что нужно, а то пытался на vps что-то похожее соорудить, но то ли принципа не понял ssh-тоннелей, то ли ещё что.
Спасибо за наводку.
Спасибо за наводку.
Ну в принципе если на VPS откртыт 80-й порт, то достаточно запустить:
чтоб все работало.
ssh -R 80:localhost:80 user@example.com
чтоб все работало.
Попробовал с парой сервров, что-то не работает.
ssh -R 8080:localhost:80 user@servername
Точнее работает, но на удалённом сервере байндится только на localhost, а не на остальные интерфейсы.
Хотя в мане явно указано:
By default, the listening socket on the server will be bound to the loopback interface only. This may be overridden by specifying a bind_address. An empty bind_address, or the address ‘*’, indicates that the remote socket should listen on all interfaces. Specifying a remote bind_address will only succeed if the server's GatewayPorts option is enabled (see sshd_config(5)).
ssh -R 8080:localhost:80 user@servername
Точнее работает, но на удалённом сервере байндится только на localhost, а не на остальные интерфейсы.
Хотя в мане явно указано:
By default, the listening socket on the server will be bound to the loopback interface only. This may be overridden by specifying a bind_address. An empty bind_address, or the address ‘*’, indicates that the remote socket should listen on all interfaces. Specifying a remote bind_address will only succeed if the server's GatewayPorts option is enabled (see sshd_config(5)).
О, из другого мана:
GatewayPorts
Specifies whether remote hosts are allowed to connect to ports forwarded for the client. By default, sshd(8) binds remote port forwardings to the loopback address. This prevents other remote hosts from connecting to forwarded ports. GatewayPorts can be used to specify that sshd should allow remote port forwardings to bind to non-loopback addresses, thus allowing other hosts to connect. The argument may be “no” to force remote port forwardings to be available to the local host only, “yes” to force remote port forwardings to bind to the wildcard address, or “clientspecified” to allow the client to select the address to which the forwarding is bound. The default is “no”.
Итого чтобы работало, нужно в /etc/ssh/sshd_config добавить строчку
GatewayPorts yes
Сам спросил — сам ответил :-))
GatewayPorts
Specifies whether remote hosts are allowed to connect to ports forwarded for the client. By default, sshd(8) binds remote port forwardings to the loopback address. This prevents other remote hosts from connecting to forwarded ports. GatewayPorts can be used to specify that sshd should allow remote port forwardings to bind to non-loopback addresses, thus allowing other hosts to connect. The argument may be “no” to force remote port forwardings to be available to the local host only, “yes” to force remote port forwardings to bind to the wildcard address, or “clientspecified” to allow the client to select the address to which the forwarding is bound. The default is “no”.
Итого чтобы работало, нужно в /etc/ssh/sshd_config добавить строчку
GatewayPorts yes
Сам спросил — сам ответил :-))
большое спасибо, щас прям и опробую)
Меня всегда интересовало на чем зарабатывают такие сервисы, кто-то держит сервера, платит за трафик.
Я думаю что он just for fun. Много ресурсов не надо ведь все равно.
Кстати, насколько я понял инфраструктуру поддежрживает Twilio: www.twilio.com/
Я думаю им это несложно.
Я думаю им это несложно.
а DNAT уже не в моде? О_о
У вас что за дистрибутив? В Ubuntu 10.04 в стандартном репозитории нету такого пакета…
он ставится через rubygems, сначала надо установить зависимости:
«sudo apt-get install ruby ruby1.8-dev rubygems1.8 libopenssl-ruby»
а потом уже:
sudo gem install localtunnel
у меня, правда, написал, что установился, но при запуске всё равно пишет:
«localtunnel: command not found»
«sudo apt-get install ruby ruby1.8-dev rubygems1.8 libopenssl-ruby»
а потом уже:
sudo gem install localtunnel
у меня, правда, написал, что установился, но при запуске всё равно пишет:
«localtunnel: command not found»
Попробуйте так:
ruby /var/lib/gems/1.8/gems/GEM_NAME/bin/GEM_FILE [параметры]
где, 1.8 — зависит от версии руби, может быть 1.9.1 и др
GEM_NAME скорее всего localtunnel
GEM_FILE — так же скорее всего localtunnel
ruby /var/lib/gems/1.8/gems/GEM_NAME/bin/GEM_FILE [параметры]
где, 1.8 — зависит от версии руби, может быть 1.9.1 и др
GEM_NAME скорее всего localtunnel
GEM_FILE — так же скорее всего localtunnel
что только сделают люди, лишь бы ssh -R не пользоваться…
Так тут как бы вообщем-то и есть ssh -R только в обертке и сервер предоставляется публичный.
Почитал сорцы. Почему то вспомнилось Evolution of a Python Programmer. тов. progrium достиг высшего мастерства и является гордым обладателем звания Enterprise Programmer в обоих языках.
Жесть, оно на питоне.
Если у вас нет готовых ключей для SSH, их можно сгенерировать такой командой:
>> Иногда во время тестирования веб-приложений может понадобится доступ к ним снаружи (то есть из публичного Интернета).
Opera Unite Web Proxy?
Opera Unite Web Proxy?
У меня на работе есть сервер на Linux (Ubuntu 10.04.1) с подключенным к нему 3G модемом (Megafon Huawei E1550) и установленным SSH-Server. Подскажите, пожалуйста, можно ли похожим способом сделать так, чтобы я мог подключаться к серверу по SSH извне, так как IP адрес подключения, естественно, не белый?
я решал эту проблему с помощью teredo — будете иметь доступ к своей машине через IPv6
ssh -R. Естественно это приведет к снижению производительности.
Запустить на сервере этот самый localtunnel с указанием порта для sshd (по умолчанию 22), получить домен и коннектиться извне к этому домену. Для вариантов «дома доделаю» или «не хочу из отпуска возвращаться, чтобы пару строк в конфиге поправить» (если есть кому на работе запустить прогу и сказать полученный домен, хотя можно заскриптовать и отсылку его на email, например) должно хватить, как постоянный вариант — не очень надёжно, по-моему.
Только с портами надо быть аккуратней, чтобы конфликта не возникло, лучше, наверное, нестандартные использовать.
Не получится, так как localtunnel работает только с HTTP. Дело в том что он использует обратный HTTP-proxy. Это для того чтоб на 80-м порту можно было много доменов обслуживать используя только один айпи.
Тут есть подробно расписано www.opennet.ru/tips/info/1691.shtml
если доступ к раб. столу — то teamviewer, но если у Вас на работе linux тогда не знаю
Если полноценный TCP-коннект — тогда hamachi(logmein) — больше аналогов не известно.
Если полноценный TCP-коннект — тогда hamachi(logmein) — больше аналогов не известно.
Openvpn
Я так понимаю этот localtunnel нужен в том случае если внешний ip отсутствует как класс?.. Довольно редкая ситуация мне кажется, сколько провайдеров перепробовал у всех был какой то внешний адрес, пусть динамический, но все же.
Попробовал сейчас под виндой, не получилось:
PS C:\Users\Alexandr> localtunnel -k C:\Users\Alexandr\.ssh\id_rsa.pub 3000
[Error] Unable to register tunnel. Perhaps service is down?
Я не думаю что оно работает под чистой виндой, можете попробовать под Cygwin.
Та же ошибка и под ubuntu 10.04
Ну может и правда Perhaps service is down?
Если зайти на open.localtunnel.com/ и передать в параметр key свой ключ то выводит кучу ошибок, но не invalid key. а должен json с данными. invalid key выведет если удалить из ключа что-нибудь или вообще послать фигню в параметре. вот поэтому и ошибка такая в итоге. только что с этим делать не ясно
А чем не устраивает денвер + динднс? привязываете свой айпишник к динднсу, прокидываете порты через модем, если он в режиме роутера и пользуетесь. никаких дополнительных напрягов с другими прогами. Пару строк в htaccess и дело в шляпе.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Расшарьте свой локальный веб-сервер в Интернете с помощью localtunnel