SSH TUNNEL: различия между версиями
Материал из noname.com.ua
Перейти к навигацииПерейти к поискуSirmax (обсуждение | вклад) (Новая: =SSH TUNNEL=) |
Sirmax (обсуждение | вклад) Метка: ручная отмена |
||
| (не показано 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 уже никак не относиться