Видео ролики бесплатно онлайн

Смотреть аниме видео

Официальный сайт mkad14 24/7/365

Смотреть видео бесплатно

DarkMan 31.03.2009 15:05

How-to`sСоздание ssh-туннелей

Наверное многие попадали в ситуацию, когда доступ к необходимым ресурсам в интернете был ограничен. Например вы сидите на работе и у вас ограниченный доступ к интернету, запрещено все что не разрешено.

Вы не можете поговить с друзьями по IRC, ограниченный доступ к сайтам, пароли летают в plain-text, или вы хотите поиграть в игрушки ;).



Сегодня я расскажу вам как быстро и просто соорудить туннель пробрасывающий необходимый вам траффик через ssh.





Описывать все действия я буду исключительно для Linux, под Windows можно использовать putty, но за этим в гугл.



Что же нам необходимо для данного финта ушами?

Поверьте совсем не много, всего-лишь удаленная машина на которую у нас есть доступ по ssh. Я использую свою домашнюю машину, но существуют сервисы, где нахалявую дают шелл пусть и с кучей ограничений, но для туннеля достаточно.



Теория





Для начала, чтобы вы не походили на обезьянок-космонавтов немного теории, вы же должны понимать как это все работает.



То что мы делаем это, так называемый, SOCKS-прокси в который мы будем заворачивать весь интересующий нас траффик. Сразу оговорюсь, что сокс поддерживают далеко не все программы, но и тут есть выход из положения, существуют так назваемые "соксификаторы" например tsocks, которые весь траффик генерируемый некоторыми приложениями заворачивает в сокс.



Ну ладно хватит теории, если вам будет интересно, на что я очень сильно надеюсь, то вы все узнаете в гугле.



Практика



В зависимости от того чего вы хотите добиться, я могу предложить вам два способа решения проблемы.



Способ первый



Если вы хотите получить доступ к какому-то определенному ресурсу через туннель, то принцип такой:

1
ssh -f -N -L <local_port>:<host>:<host_port> <ssh_user>@<ssh_server>



Давайте рассмотрим ключи которые я описал выше:

-N — этим ключем мы говорим, что мы не хотим получить интерактивную оболочку, то есть банально не хотим иметь возможности печатать комманты в этой сессии
-f — сворачивает сессию в бекграунд
-L — собственно сам туннель этим ключем мы говорим, что хотим чтобы соединения с <host>:<host_port> форвардились (передавались) на <local_port>



Пример 1:

1
ssh -f -N -L 8080:welinux.ru:80 user@server



Запустив эту сессию, мы можем в фаерфоксе прописать SOCKS прокси, с параметрами localhost и портом 8080, и принимать все данные передающиеся с 80 порта welinux.ru через организованный нами ssh-туннель.



Пример 2:

1
ssh -f -N -L 8080:welinux.ru:80 -L 110:mail.welinux.ru:110 -L 25:mail.welinux.ru:25 user@server



Таким образом мы пробрасываем еще POP3 и SMTP протоколы через наш туннель. Но тут есть одна проблемма, на привелигированные порты (<=1024) может форвардить только root, но на самом деле это не так и фатально, просто нужно форвардить на непривелигированные.



Способ второй



Второй способ будет вам наверное проще и понятнее, и именно поэтому я решил написать его вторым, используя его, через туннель вы можете передавать весь тарффик и принимать тоже.



1
ssh -N -f -D 5555 user@ssh_server



Ключ -D фактически организует на вашей машине SOCKS-прокси.

Таким образом, весь интересующий вас траффик будет заворачиваться на 5555 порт в системе и передаваться через туннель (если вы соответсвующим образом настроили программы умеющие использовать SOCKS).



Вот и все, за большим советую лезть в гугл и маны, в частности man ssh

Удачного использования.


Тэги: socks ssh новичкам туннель
+ 12 -
Похожие Поделиться

l1feh4ck3r 31.03.2009 16:20 #
+ 0 -
Полезная это штука - туннели.
Laz 31.03.2009 18:11 #
+ 0 -
Хорошая статья. Но, имхо, для полноты картины стоит написать про -R, для проброса удалённого порта в локальный (тоже очень полезная штука), и, наверное, добавить, что можно биндить порт не только на localhost, но и на другие адреса, тоже иногда может пригодиться. Хотя, само собой, в мане это всё есть :)
yuretsz 31.03.2009 18:37 #
+ 0 -
Надо наоборот самое простое вверх писать. Если статья на новичков рассчитана.
DarkMan 31.03.2009 20:41 #
+ 0 -
Если самое простое, то есть вероятность не дочитать до конца. По поводу -R я бы отдельную статейку написал, по поводу ковыряния дырок в фаерволе. Ну а насчет биндинга на другие хосты это конечно хорошо и полезно, но новичкам нафиг не нужно, а если будет интересно и будет необходимость, то в гугле найдут =)
maestro 02.10.2009 13:32 #
+ 0 -
Есть рабочая машина, на которой доступ в интернет ограничен только 80 портом. И есть домашная машина без ограничений. Рабочая имеет внешний адрес и я могу подключаться к ней с домашней по SSH.
Как настроить туннель, чтобы с рабочей можно было бы обойти ограничение файрвола и подключатся на другие порты, например для CVS?
Perpetuum_Mobile 22.01.2011 02:56 #
+ 0 -
нужно забиндить домашний ссш-сервер на 80й порт и на него целиться своим туннелем ;)
Perpetuum_Mobile 22.01.2011 02:58 #
+ 0 -
з.ы. если не хочется трогать домашний вебсервер, можно попытать счастья на 443м порту (https), который также пропускается большинством корпоративных прокси.

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн