1

Находясь дома, я знаю, как установить ssh-туннели между рабочим шлюзом. Главное, чтобы шлюз мог устанавливать ssh-соединение с моей машиной дома. Я делаю эту настройку параметров NAT маршрутизатора Wi-Fi.

Но иногда я в аэропорту. Здесь соединение Wi-Fi не позволяет установить этот вид соединений.

Вы знаете другой способ сделать это?

Спасибо

4 ответа4

1

Находясь в аэропорту, вы обычно должны платить за подключение к интернету. Когда вы откроете браузер, вы попадете на страницу, где вы можете купить соединение, или введите имя пользователя / пароль, если у вас есть подписка. Если вы не сделаете это сначала, любая сетевая связь будет отключена.

Если это не поможет, попробуйте изменить номер порта SSH. к тому, который используется для вещей, которые обычно разрешены, например порт SMTP или POP3. Порт 81 часто также является хорошим кандидатом.

1

Вы пытаетесь создать исходящий туннель с вашего компьютера на работу или входящий туннель с работы на ваш компьютер?

Если первое, то вы, вероятно, столкнулись с ситуацией, когда брандмауэр провайдера блокирует все, кроме HTTP/HTTPS, через определенные порты. Это необычно: я не могу вспомнить, когда в последний раз у меня блокировался произвольный исходящий трафик, и обычно у меня нет проблем с использованием SSH, чтобы добраться до моей домашней машины. Если вас блокируют, то какой-то вид туннелирования HTTP (как предлагалось другими авторами) был бы единственным вариантом - хотя я не могу представить, какие это могут быть издержки.

Если проблема в том, что вы не можете открыть соединение с работы с ноутбуком, расположенным в аэропорту (и я предполагаю, что это то, что вы хотите, так как вы говорили о настройках NAT), то вам не повезет для прямого подключения. У вас почти наверняка есть личный IP-адрес за брандмауэром аэропорта, поэтому у вас не будет возможности направлять вам пакеты.

Альтернатива состоит в том, чтобы установить два туннеля с доверенным хостом (вашей домашней машиной) в середине. Вам нужно будет открыть два порта в брандмауэре: обычный порт SSH (22, но см. Ниже) и другой порт, скажем, 2201. С работы откройте обратный туннель к домашней машине, используя аргумент, например 2201:localhost:22 - все соединения с портом 2201 на домашней машине будут туннелироваться на порт 22 на вашей рабочей машине. Затем откройте прямой туннель от вашего ноутбука до вашего домашнего компьютера, используя аргумент, такой как 22:localhost:2201 - все подключения к порту 22 на вашем ноутбуке будут перенаправлены на 2201 на домашнем компьютере.

Это, конечно, не оптимальная настройка. Мало того, что у вас есть передача обслуживания в середине, но если у вас есть ADSL (как у меня), вы будете поражены медленной скоростью загрузки. В целом, традиционный VPN, вероятно, является лучшим выбором (опять-таки предположение: вы используете SSH, потому что ваш традиционный VPN слишком медленный).


Напомним, что открытие порта 22 на домашнем брандмауэре не очень хорошая идея: рано или поздно вы будете атакованы. Даже если это не приведет к взлому, злоумышленники будут проверять пропускную способность и дисковое пространство (в первый и единственный раз, когда это случилось со мной, журнал аутентификации вырос до многих мегабайт в течение часа - затем я ударил пощечину) я за глупость и закрыл порт - не важно, что мои пароли не подвергаются атаке по словарю, все равно плохая идея оставлять двери незапертыми).

Изменить: чтобы заставить sshd прослушивать дополнительные порты, отредактируйте файл /etc/ssh/sshd_config (пользователи Windows, вы по своему усмотрению) и добавьте дополнительные директивы Port (ищите существующую запись "Порт 22"):

# What ports, IPs and protocols we listen for
Port 22
Port 2201
1

Если я не понимаю ваш вопрос, брандмауэры аэропорта блокируют ваши исходящие соединения через порт 22. Чтобы обойти это, туннелируйте ваши ssh-соединения через DNS: http://www.boingboing.net/2004/06/21/tunneling-ssh-over-d.html

Обратите внимание, что при этом вы почти наверняка сможете обойти их системы «платной сети» - просто установите это соединение, а затем проложите через него ваши HTTP-соединения.

Если ваша цель - обойти их схему оплаты, вы получите гораздо лучшее соединение, если будете сидеть в зоне, где другие платят, и запускаете airodump-ng или тому подобное, чтобы найти mac-адрес того, кто отправляет / получает много пакетов с одной из этих платных сетей. Просто подделайте его MAC-адрес, и вы получите доступ к Интернету.


<morals>

Обе вышеперечисленные техники в значительной степени находятся в моральной серой зоне. Я не уверен, что совмещение чужого соединения может быть даже незаконным, но в любом случае вы замедлите его обслуживание, фактически украдя у него пропускную способность. Хотя получение бесплатного интернета через ssh-over-dns не оказывает негативного влияния на платные услуги других, вы все еще используете ресурсы, за которые компания должна платить, и получаете платные услуги бесплатно, поэтому я бы посоветовал сначала оплатить их услуги, даже если они Не надо и ТО, создающего туннель. Также учтите, что аэропорт может блокировать исходящие 22 по уважительной причине (хотя бог знает, что это может быть).

Это все, что вы должны рассмотреть, прежде чем пытаться приобрести платную услугу бесплатно или пытаться расширить свою услугу за пределы того, что предлагает провайдер.

</morals>

0

Я рекомендую проект ' soht ' для создания туннелей через HTTP.
Вы должны знать имя хоста и порт прокси.
Дома вам нужен работающий сервер tomcat с развернутым «soht», возможно, в сочетании с обратным прокси-сервером apache.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .