Этот очень простой прием бывает часто нужен, особенно в целях безопасного доступа во внутренние сети. Для осмысления постараюсь привести частный случай, который, конечно не является единственным. Итак, нужно попась снаружи на компьютер в локальной сети. Компьютер загорожен от мира сервером - ясное дело, с двумя интерфейсами, внутренним (server_local) и внешним (server_global). На сервере открыты только 2 порта - 22 (ssh) и некоторый произвольный - 50000, который пока ничем не занят. На локальном компьютере (workstation_local) я хочу порулить через VNC - порт 5900, но наружу он не открыт совсем никак, и добраться до него я могу только через ssh. Делаю это так. Подразумеваю: * server_global - это внешний адрес сервера. * server_local - это внутренний адрес сервера. * workstation_local - это адрес локального компьютера в локальной сети, к которому я хочу попасть из далекого интернета через порт 50000 Сначала захожу снаружи на сервер, как обычно, по ssh: $ ssh user@server_global Далее, уже находясь в консоли на сервере как user, делаю так: $ ssh user@server_local -L server_global:50000:workstation_local:5900 Ввожу пароль и дальше, с удаленной машины (в другом окне) пишу что-то типа: $ vnc server_global:50000 И попадаю сразу на удаленный компьютер в локальной сети. Таким же образом, я могу пробросить порт 50000 куда угодно и как надо, но только на один сервис в единицу времени. Кажется, очень подробно объяснил, подробнее некуда. Надеюсь, вопросов ни у кого не будет. Кстати, похожими туннелями можно пользоваться и для web-серфинга. К примеру так: $ ssh -f -C -D 9999 server_ip_address -N $ chromium --proxy-server="socks5://localhost:9999"
Linux/Windows Справочник v0.05 © 2007-2024 Igor Salnikov aka SunDoctor