net/corkscrew: утилита для тунелинга ssh через http прокси.
net/tsocks: Библиотека прозрачных SOCKS прокси.
www/tinyproxy: Легкая http/ssl прокся
Большинство компаний ограничивают своим юзерам доступ в интернет, заставляя
использовать HTTP прокси. Если вам этого не хватает для полноценного
(псевдо) рабочего дня, вы хотите посещать любые сайты, слушать любое
интернет радио, играть в покет онлаин, знайте, решение есть.
- 1) Настройте openSSH сервер на своем домашнем компьютере и поставьте его на 443 порт.
Если на вашем офисном компьютере стоит windows:
2) Вы должны установить HTTP прокси на ваш домашний компьютер, так как вы несможете использовать openssh и все прелести socks proxy -D, например tinyproxy - легко конфигурируется и хорошо работает.
Откройте фаил tinyproxy.conf и убедитесь в наличии строкКод: Выделить всё
# pkgmanager install www/tinyproxy # cp /usr/pkg/share/examples/rc.d/tinyproxy /etc/rc.d/ # echo 'tinyproxy=YES' >> /etc/rc.conf # cp /usr/pkg/share/examples/tinyproxy/tinyproxy.conf.default /usr/pkg/etc/ti nyproxy/tinyproxy.conf # vi /usr/pkg/etc/tinyproxy/tinyproxy.conf
Таким образом наш http proxy будет слушать только localhost на 8888 портуКод: Выделить всё
Port 8888 Bind 127.0.0.1 ConnectPort 443
и позволит заходить на https сайты.
3) Для коннекта будем использовать putty. Откройте меню Connection/Proxy
и введите туда настройки http прокси. Затем откройте меню
Connection/SSH/Tunnels, включите port forwarding для редиректа локального
порта 8888 на localhost:8888 (на удаленной машине, у вас дома).
Затем откройте меню Connection и включите посылание null пакетов каждые
10 секунд для поддержания соединения. Как тольно закончите, перейдите в
меню Session, введите адрес вашего домашнего компьютера, порт 443, SSH
и попробуйте законектиться.
4) Когда вы подключитесь к вашему серверу, необходимо проверить,
работает ли редирект. Запустите cmd.exe, выполните netstat -an и
посмотрите, слушает ли сервер 8888 порт. Запустите веб броузер и настройте
его на работу через http proxy на localhost:8888. Теперь вы можете
заходить на любые сайты, наслаждайтесь.
2) Установите corkscrew. Это позволит вам использовать ssh через http прокси.
Код: Выделить всё
# pkgmanager install net/corkscrew
пароль для коннекта на http прокси, если надо.
Код: Выделить всё
# echo 'login:pass' >> ~/.ssh/auth_proxy
прокси, которую я вынужден использовать)
Код: Выделить всё
# echo 'ProxyCommand /usr/pkg/bin/corkscrew 192.168.3.10 80 %h %p ~/.ssh/auth_proxy' >> ~/.ssh/config_out
Код: Выделить всё
alias ssh_out='ssh -F ~/.ssh/config_out'
Код: Выделить всё
# ssh_out -D 8080 yourcomputer.hostname.org -p 443
8) Все что нам надо, это редирект всех TCP запросов на этот socks proxy.
Для этого мы будем использовать замечательную утилиту tsocks.
Код: Выделить всё
# pkgmanager install net/tsocks
# echo 'local = 192.168.0.0/255.255.255.0' >> /usr/pkg/etc/tsocks.conf
# echo 'server = 127.0.0.1' >> /usr/pkg/etc/tsocks.conf
# echo 'server_port = 8080' >> /usr/pkg/etc/tsocks.conf
9) Для активации tsocks надо определить переменную LD_PRELOAD:
Код: Выделить всё
# export LD_PRELOAD=/usr/pkg/lib/libtsocks.so
прокси, тоесть все будет проходить через ssh тунель в ваш домашний
компьютер, который в свою очередь будет перенаправлять все это в нужные
места. Все будет обсолютно так, как-будто вы сидите дома.
Заметьте, suid программы и программы, запущенные через sudo не будут
использовать tsocks, для этого вам придется логиниться рутом.
ССЫЛКА НА ОРИГИНАЛ: http://diwp.blogspot.com/