Далее следуют несколько возможностей, которые я пока не тестировал
Доступ к внутренним ресурсам, например, по протоколу ftp без их открытия в WAN
Скорее всего должно быть так:
Source port 8021
Destination 127.0.0.1:21
Однако, в этом варианте скорее всего доступ будет только в пассивном режиме. Для активного режима скорее всего надо второй туннель открывать. Я ftp извне никогда не пробовал, т.к. из WAN пользовался scp/sftp для копирования данных по протоколу опять таки SSH (см. http://wl500g.info/showthread.php?t=12357 )
Доступ к SMB шарам
пишут что можно сделать через ssh туннель. Не пробовал.
Доступ к rtorrent через xmlrpc
любопытный вопрос, который пока не тестировал
Печать на удаленном принтере
Как видим, туннели могут использоваться не только в броузере, но и в любой другой программе. Почему бы не сделать следующее:
Source port 9100
Destination 127.0.0.1:9100
Далее создать на удаленном PC TCP порт принтера с адресом 127.0.0.1:9100 и печатать в него с выводом на принтере подключенном к нашему роутеру.
И, наконец, еще два классических примера несомненного удобства использования ssh-туннелей, правда не совсем относящийся к нашему роутеру:
SMTP сервер через ssh туннель
1) есть ноут, который возится с места на место и подключается через разных провайдеров.
2) есть корпоративный/университетский почтовый сервер с ssh аккаунтом
С получением почты, обычно проблемы нет, а с отправкой все не так просто, т.к. придется забивать в каждом месте новый SMTP сервер. В данном случае, идеальным решением является использование ssh туннеля --- назначаем порту 8025 --- localhost:25; в почтовом клиенте настраиваем в качестве SMTP сервера localhost:8025; заходим по ssh на почтовый сервер и отправляем почту хоть с любого конца планеты без лишнего гемора.
Доступ к ресурсам с ограничением по IP
Собственно данный пример аналогичен вышеприведенному способу доступа в LAN с использованием SSH сервера в качестве SOCKS proxy.
1) Есть опять же корпоративный/университетский сервер с ssh аккаунтом.
2) С этого сервера имеется доступ к ресурсам интернета, контроль доступа к которым осуществляется по IP адресу (например, ситуация типична для наличия подписок на организации на определенную литературу).
3) Запускаем
либо в putty ставим галку около Dynamic и задаем порт, например, 1080.PHP Code:
ssh -D 1080 user@router.dyndns.org
Аналогично вышесказанному в firefox указываем SOCKS5 proxy: localhost:1080 и если мы идем на сайт с ограничением доступа по IP, то он определяет наш IP как IP SSH сервера к которому мы подключены!
Я нарыл эту фичу, удобный способ осуществить которую я искал вот уже несколько лет, в процессе написания этой статьи. Чему безмерно счастлив!
На всякий случай привожу скриншоты задания прокси в firefox
В вышеприведенном варианте трафик идет через тунель, но DNS запросы резолвятся через основной DNS. Этого вполне достаточно если ставится задача именно подмены IP адреса, однако, если целью является сокрытие того кто куда ходит (см. следующий пример), то можно и DNS запросы направить через SOCKS. Для этого в firefox в строке адреса набираем:
и в списке параметров включаем следующий:Code:about:config
Еще один пример из википедии, может кого то наведет на полезную мысльCode:network.proxy.socks_remote_dns = true
SSH туннели обеспечивают средство преодоления файрволов, которые запрещают определенные интернет сервисы, при условии, что исходящие соединения на 22-м порту разрешены. Например, многие организации запрещают пользователям доступ к веб-страницам напрямую без предварительного анализа прокси/фильтром. Однако, если юзеры способны подключиться к внешнему ssh серверу, то ssh туннель может быть создан для проброса 80-го порта внешнего веб-сервера на некоторый порт (например 80-й) на локальной машине и, таким образом, иметь доступ к внешнему веб-серверу по адресу http://localhost . В более общем случае, пользователи могут установить собственный прокси сервер (например, squid) дома и создать туннель от рабочего PC до прокси. Далее путем конфигурирования броузера на исползование localhost вместо корпоративного прокси сервера, пользователи могут получить доступ к любой веб странице в обход корпоративного прокси и файрвола.
От себя добавлю, что конторы бывают разные --- иногда админ или идиот, или параноик, а все страдают, но бывают, конечно, конторы из которых лучше не организовывать зашифрованные каналы неизвестно куда.
В заключение, хотелось бы еще раз подчеркнуть следующее. SSH туннели --- это простой, эффективный и в значительной степени безопасный способ организации доступа к внутренним ресурсам LAN из WAN, в отличие от почти всех альтернативных вариантов (пожалуй исключая https сервер, но я пока не встретил популярного изложения как его запустить на роутере, и VPN). По сути это действительно VPN, но не требующий усилий для настройки. Одно слово --- "poor man's VPN", хотя, по моему, "lazy man's VPN" --- ему как то больше к лицу.
ЗЫ Хороший англоязычный тьюториал: http://souptonuts.sourceforge.net/sshtips.htm
ЗЗЫ Спасибо АВАТАРА за дополнение о перенаправлении DNS запросов в SOCKS прокси