У меня есть следующая установка,
Машина (Windows 10 и подключенный к ISP (X)) и Машина B (Windows 10 и подключенный к ISP (Y)). Обе из этих машин (A и B) не имеют никаких прямых подключений. Машина A имеет доступ к Машине C (Поле Linux, выполняющее RHEL на облаке), и точно так же Машина B имеет доступ к Машине C.
Теперь сохраняя эту Машину C как туннель, действительно ли возможно получить доступ к машине Linux (Ubuntu), работающая в Машине B (в VirtualBox) от Машины A? Если да, как мы можем сделать это? Я предполагаю, что это может быть достигнуто через реверс ssh туннелирование, но не уверенное в шагах.
Для предоставления большей идеи установка похожа на следующее
PUBLIC IP SSH (Putty) (Machine C)
Machine A Windows 10 (192.168.1.2) --> ISP(49.xxx.xxx.xxx) ---> (34.xxx.xx.xxx)
PUBLIC IP SSH (Putty) (Machine C)
Machine B Windows 10 (192.168.1.15) --> ISP(216.xxx.xxx.xxx) --->(34.xxx.xx.xxx)
Machine B Windows 10 (192.168.1.15) --> Virtual Box (192.168.1.100)
Теперь от Машины A, я хотел получить доступ 192.168.1.100 (ubuntu Machine), как я могу достигнуть этого? Существует только одна машина (Машина C), где Машина A и Машина B имеют доступ к. Существует ли способ сделать некоторое туннелирование и доступ 192.168.1.100 от Машины A?
Примечание: У меня нет доступа к маршрутизатору, чтобы сделать некоторую передачу. Таким образом, я должен так или иначе заставить это произойти путем выполнения некоторого туннелирования.
Это должно быть возможно. Я могу дать команды Linux, у Вас будет к поиску эквивалентная конфигурация для того, какой бы ни клиенты SSH Вы используете в Windows.
От VM до B:
ssh -R localhost:2022:localhost:22 192.168.1.15
Это передаст порт 22 (по-видимому, SSH) на VM Ubuntu для портирования 2022 на 192.168.1.15.
От B до C:
ssh -R localhost:3022:localhost:2022 34.xxx.xx.xxx
Это передаст localhost:2022
(который самостоятельно является от, был передан предыдущей командой, работал в VM) к 3 022 на C.
От до C:
ssh -L 4022:localhost:3022 34.xxx.xx.xxx
Это передаст localhost:3022
на C к A 4022.
Таким образом у нас есть цепочка передачи:
Наконец, на A:
ssh localhost:4022
Это должно соединиться с VM.
-L
LocalForward
в ssh_config
-R
RemoteForward
Эта цепочка может быть укорочена. Например, в зависимости от включенных параметров сети, Вы могли сделать от B до C:
ssh -R :3022:192.168.1.15:22 34.xxx.xx.xxx
B непосредственно передаст 3022 на C к 22 на VM. И на A:
ssh 34.xxx.xx.xxx:3022