2014-09-21 2 views
1

Целью является подключение к домашнему компьютеру извне. ISP блокирует все порты (и требует $$$ для бизнес-пакета со статическим IP-адресом), поэтому простая переадресация портов на домашний маршрутизатор не работает.Прослушивание порта туннеля шлейфа не работает

Я использовал шпатлевку для туннеля прослушивающего порта на удаленный сервер: R2221: ###. ###. ###. ###: 2221 (чтобы упростить работу, тестовый сервер представляет собой простой ftp сервер, запущенный на моем домашнем компьютере Windows) (весь IP-адрес должен быть указан - с OpenSSH 1.0, запущенным на подстановочном адресе linux box, происходит отказ от подключения) (GatewayPorts установлен в on).

Netstat -a подтверждает, что порт 2221 на панели Linux открыт и прослушивается. Однако, когда я пытаюсь подключиться к этому порту, он просто зависает. Командная строка ftp client говорит «подключен к ###. ###. ###. ###» и все. Запуск netstat снова показывает десятки открытых подключений к порту 2221, все из моего окна (я пытался использовать браузер, а также FTP-клиент командной строки).

Какой шаг мне не хватает?

Пробовал с RDP, VNC и FTP - все они зависают, все они подключаются при подключении через домашнюю сеть (или мой домашний маршрутизатор).

EDIT Установка выглядит следующим образом:

PC 1 (окна) имеет службу FTP, работающий на порту 2221. Он использует PuTTY туннель ожидающий порт на ПК 2 (Linux). PC 2 показывает порт прослушивания при запуске netstat. Подключение к порту 2221 на ПК 2 либо с ПК 2, либо с ПК 3 приводит к зависанию.

EDIT 2 Aaaand это сработало. Использование 127.0.0.1 вместо IP-адреса удаленной машины было исправлено. Большое спасибо.

ответ

1

Вы уверены, что ваша команда -R верна? Из того, что вы говорите, я полагаю, что команда должна быть R2221:127.0.0.1:2221. Опция -R SSH в виде port:host:hostport делает следующее: он открывает порт port на стороне дистанционного и передает соединение к этому порту на местном адрес host:hostport, и эта связь производятся с локальной машины.

Чтобы ваш локальный компьютер (тот, на котором запущен клиент ssh, например PuTTY), подключился к локальному FTP-серверу, работающему на том же компьютере, используйте 127.0.0.1 в качестве адреса.

Это также объясняет, почему вы видите странное поведение: когда вы действительно подключаетесь к xxx.xxx.xxx.xxx:2221, он пересылает соединение с тем же адресом xxx.xxx.xxx.xxx:2221, и вы получаете некоторые вид петли.

+0

Да, я уверен, что это удаленный порт (и я использую PuTTY, а не командную строку для его создания). Но позвольте мне попробовать 127.0.0.1 ... – user2971878

+0

Позвольте мне попытаться понять ваши сетевые настройки. У вас есть домашний компьютер с Windows и вы хотите получить доступ к его порту с любого удаленного адреса. Вы используете ssh (используя PuTTY) для удаленного сервера с помощью 'R2221: 127.0.0.1: 2221'. После этого порт 2221 на * удаленном * сервере будет перенаправлен на порт 2221 вашего локального окна Windows, который, как мне кажется, вам нужен. – afenster

+0

Что касается не использования командной строки, параметры переадресации портов PuTTY просто имитируют соответствующие параметры ssh ('-R' в вашем случае), поэтому чтение' ssh (1) 'manual о опции' -R' даст гораздо больше информации о предмет, который может дать документация PuTTY: – afenster