1

У меня есть устройство, назовем его d1, работающее на облегченном Linux. Это устройство NAT от моего интернет-бокса / маршрутизатора, поэтому недоступно из Интернета. Это устройство запускает на нем демон telnet, и у него есть только пользователь root (без pwd). Его IP-адрес - 192.168.0.126 в частной сети.

Из частной сети (скажем, 192.168.0.x) я могу сделать:

telnet 192.168.0.126

Где 192.168.0.126 - это IP-адрес в частной сети. Это работает правильно.

Однако, чтобы разрешить администрирование, мне нужно было бы получить доступ к этому устройству за пределами этой частной сети. Следовательно, я создал SSH-туннель, например, на d1:

ssh -R 4455:localhost:23 ussh@s1

s1 - это сервер где-то в частной сети (но это только для целей тестирования, он будет где-то в Интернете), на котором работает стандартный дистрибутив Linux и на котором я создал пользователя с именем «ussh». s1 IP-адрес: 192.168.0.48.

Когда я 'telnet' со следующим, скажем, из c1, 192.168.0.19:

telnet -l root s1 4455

Я получил :

Trying 192.168.0.48...
Connected to 192.168.0.48.
Escape character is '^]'.
Connection closed by foreign host

,

Соединение закрывается примерно через 30 секунд, и я не вошел в систему. Я пытался без ключа -l, но безуспешно. Я попытался «telnet» с IP-адресами вместо имен, чтобы избежать проблем с обратным DNS (хотя я добавил на d1 /etc /hosts строку, ссылающуюся на s1 IP / имя, на всякий случай), но безуспешно. Я пробовал на другом порту, чем 4455, безуспешно.

Я собрал логи Wireshark от s1. Я могу видеть :

s1 отправляет данные SSH на c1, c1 ACK
s1 выполняет DNS-запрос AAAA для c1, получает только серверы имен Authoritave.
s1 выполняет запрос DNS A, затем получает IP-адрес c1
s1 отправляет пакет SYN на c1, c1 отвечает RST/ACK
s1 отправляет SYN на c1, C1 RST/ACK (?)
Через 0,8 секунды c1 отправляет SYN на s1, s1 SYN/ACK и затем c1 ACK
s1 отправляет содержимое SSH на d1, d1 отправляет ACK обратно на s1
s1 повторяет запросы AAAA и A DNS
Через 5 секунд s1 повторяет SYN к c1, еще раз он RST/ACKed c1. Это повторяется еще 3 раза.
Последние пять пакетов: d1 отправляет содержимое SSH на s1, s1 отправляет ACK и FIN/ACK на c1, c1 отвечает FIN/ACK, s1 отправляет ACK на c1.

Кажется, что соединение закрывается демоном telnet через 22 секунды.

AFAIK, нет никакого способа декодировать поток SSH, поэтому я действительно застрял здесь ...

Есть идеи ?

Спасибо !

1 ответ1

0

Я разработал это!

На самом деле интерфейс обратной связи не был на d1, следовательно, туннель не работал. Я заметил, что «ping localhost» не работает, как и «telnet localhost».

Я создал файл /etc /network /interfaces с интерфейсом lo и сделал ifup lo.

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