SSH TUNNEL: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
(Новая: =SSH TUNNEL=)
 
Метка: ручная отмена
 
(не показано 8 промежуточных версий этого же участника)
Строка 1: Строка 1:
  +
[[Категория:Linux]]
  +
[[Категория:SSH]]
 
=SSH TUNNEL=
 
=SSH TUNNEL=
  +
Задача: <S>Протянуть верблюда через игольное ушко</S> построить тунель. Открыт один порт - SSH.
  +
==Подготовка==
  +
* Тунель строиться между 2 системами соответвенно в случае интернета хотя бы на одной нужен реальный адрес или проброс порта.
  +
* На обоих тунелях нужен рутовый доступ - без него невозможно создание интерфейса
  +
* На стороне "Условного сервера":
  +
** PermitRootLogin yes (можно PermitRootLogin without-password что бы пускать рута только по ключу)
  +
** PermitTunnel yes (Кстати возможны разные типы тунелей! но примеров я что-то не нашел)
  +
* Совершенно не лишним будет наличие модуля tun
  +
==Старт тунеля==
  +
Собственно все предельно просто
  +
на стороне "Клиента"
  +
<PRE>
  +
sudo ssh -NTCf -w 0:0 1.2.3.4
  +
</PRE>
  +
*-w Создать тунель
  +
*-N Не запускать никаких удаленных комманд
  +
*-T Не создавать псевдотерминал
  +
*-C Компрессия (а надо ли?)
  +
*-f Уйти в бекграунд
  +
  +
Авторизация паролем или ключем - по желанию.
  +
  +
  +
После успешной авторизации с обоих сторон есть тунели:
  +
<PRE>
  +
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
  +
POINTOPOINT NOARP MULTICAST MTU:1500 Metric:1
  +
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
  +
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
  +
collisions:0 txqueuelen:500
  +
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
  +
</PRE>
  +
  +
Далее дело техники - назначить адреса, добавить маршруты.
  +
Например так
  +
"Сервер"
  +
<PRE>
  +
ip link set tun0 up
  +
ip addr add 10.0.0.100/32 peer 10.0.0.200 dev tun0
  +
</PRE>
  +
Клиент
  +
<PRE>
  +
ip link set tun0 up
  +
ip addr add 10.0.0.200/32 peer 10.0.0.100 dev tun0
  +
</PRE>
  +
Все, в этот момет тунель поднят и работает, далее - как обычно, маршрутизация.
  +
Все остальное к SSH уже никак не относиться

Текущая версия на 18:54, 24 июля 2024

SSH TUNNEL

Задача: Протянуть верблюда через игольное ушко построить тунель. Открыт один порт - SSH.

Подготовка

  • Тунель строиться между 2 системами соответвенно в случае интернета хотя бы на одной нужен реальный адрес или проброс порта.
  • На обоих тунелях нужен рутовый доступ - без него невозможно создание интерфейса
  • На стороне "Условного сервера":
    • PermitRootLogin yes (можно PermitRootLogin without-password что бы пускать рута только по ключу)
    • PermitTunnel yes (Кстати возможны разные типы тунелей! но примеров я что-то не нашел)
  • Совершенно не лишним будет наличие модуля tun

Старт тунеля

Собственно все предельно просто на стороне "Клиента"

sudo ssh -NTCf -w 0:0 1.2.3.4
  • -w Создать тунель
  • -N Не запускать никаких удаленных комманд
  • -T Не создавать псевдотерминал
  • -C Компрессия (а надо ли?)
  • -f Уйти в бекграунд

Авторизация паролем или ключем - по желанию.


После успешной авторизации с обоих сторон есть тунели:

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          POINTOPOINT NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Далее дело техники - назначить адреса, добавить маршруты. Например так "Сервер"

ip link set tun0 up
ip addr add 10.0.0.100/32 peer 10.0.0.200 dev tun0

Клиент

ip link set tun0 up
ip addr add 10.0.0.200/32 peer 10.0.0.100 dev tun0

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