перенаправить весь трафик на другую машину с помощью обратного ssh

перенаправить весь трафик на другую машину с помощью обратного ssh

У меня следующий сценарий

                                                                                                                  
               Local Network                     |                          Global Network                        
                                                 |                                                                
                                                 |                                                                
                                                 |                                                                
                                                 |                                                                
                                                 |                                                                
                                                 |                                                                
                                                 |                                                                
+------------+              +-----------+        |               +----------+                   +----------------+
|   client A | -----------> |  server A | <--------------------> | server B | --------------->  | Global Network |
+------------+              +-----------+        |               +----------+                   +----------------+
                                                 |                                                                
                                                 |                                                                

Задача на будущее:

Перевести весь трафик с server Aна server B. Поскольку все туннельные протоколы закрыты в server A, я подумал, что обратный ssh ​​— хороший вариант.

Для создания обратного ssh я использую следующую команду: ssh -fNT -R 4000:localhost:22 [email protected] -i <private-key>

Теперь server Aя вижу, что порт 4000открыт. Но я не знаю, как перевести весь трафик наserver B

решение1

Моя первая мысль — создать интерфейс tun и настроить маршрутизацию соответствующим образом. Как вы видите ниже из ssh man доступен следующий аргумент командной строки.

-w local_tun[:remote_tun] Запрашивает переадресацию туннельного устройства с указанными устройствами tun(4) между клиентом (local_tun) и сервером (remote_tun). Устройства могут быть указаны числовым идентификатором или ключевым словом «any», которое использует следующее доступное туннельное устройство. Если remote_tun не указан, по умолчанию используется «any». См. также директивы Tunnel и TunnelDevice в ssh_config(5).

Если директива Tunnel не установлена, будет установлен режим туннеля по умолчанию, который является «точка-точка». Если требуется другой режим пересылки Tunnel, то его следует указать перед -w.

Этот ответ содержит более подробную информацию.

https://unix.stackexchange.com/questions/525217/create-network-interface-from-ssh-tunnel

Связанный контент