Туннелирование трафика

Материал из Wiki семьи Белых
Перейти к: навигация, поиск

Туннелирование (от англ. tunnelling — «прокладка туннеля») в компьютерных сетях — процесс, в ходе которого создается защищенное логическое соединение между двумя конечными точками посредством инкапсуляции различных протоколов. Туннелирование представляет собой метод построения сетей, при котором один сетевой протокол инкапсулируется в другой. От обычных многоуровневых сетевых моделей (таких как OSI или TCP/IP) туннелирование отличается тем, что инкапсулируемый протокол относится к тому же или более низкому уровню, чем используемый в качестве тоннеля.

SSH-Туннлирование

SOCKS-Proxy

SOCKS — сетевой протокол, который позволяет клиент-серверным приложениям прозрачно использовать сервисы за межсетевыми экранами (фаерволами). SOCKS — это сокращение от «SOCKet Secure».

Code: SOCKS
ssh -D <SOCKS_Port> user@server

Так же можно ограничить адреса, с которых SSH-клиент будет слушать запросы.

Code: SOCKS
ssh -D <LOCAL_IP>:<SOCKS_Port> user@server

Для работы с SOCKS-Proxy нужно настроить приложения на использование SOCKS.

Проброс портов

Перенаправлять с удалённого сервера порт на свой (локальный).

Code: Проброс с удаленного порта на локальный ПК

ssh -R <Local-IP>:<Local_Port>:<Remote-IP>:<Remote_Port> user@server

Если server - это шлюз для серой сети, то для доступа к порту из серой сети нужно, что бы на server был настроен или NatLoopback или GatewayPorts

Локальные обращения направлять перенаправить на удалённый сервер.

Code: Проброс запросов с локального порта на удаленный сервер
ssh -L <Local-IP>:<Local_Port>:<Remote-IP>:<Remote_Port> user@server 

Реверс-сокс-прокси

Code: Реверс-сокс-прокси
ssh -D <Local_PORT> -R <Local_IP>:<Local_PORT>:<Local_Rempte_IP>:<Local_Remote_PORT> user@server \
ssh -R <Local_Remote_IP_2>:<Local_Remote_PORT>:<Remote_IP>:<Remote_PORT> user@server2 

HTTP-Туннлирование