Некоторое время назад у нас в компании стали блокировать Skype. Это стало, как говорится, последней каплей и я стал искать способы это дело обойти. В общем, как я прочел на каком-то сайте во время моих поисков, бессмысленно закручивать гайки внутри сети, всегда найдется способ это дело обойти. И я предлагаю своё доказательство данного тезиса {wink}
В общем, вкратце схема выглядит так: на домашнем компе ставится прокси сервер, через который все «нежелательные» запросы будет перенаправляться в интернет. В принципе, этого уже достаточно. Но дабы совсем обезопасить себя от любопытных админов, можно запросики шифровать при помощи специального протокола SSH. Для этого надо поставить на домашнем компе SSH сервер, а на работе использовать SSH клиент.
Ну а ниже приведен пошаговый алгоритм.
- 1. Нужен домашний комп с публичным IP адресом, который, собственно, и станет прокси-сервером.
- 2. На нем устанавливается OpenSSH for windows отсюда http://sshwindows.sourceforge.net/
- A. Надо также завести нового пользователя (не админа), под которым вы будете логиниться к домашнему компу. Это делается через Control Panel -> Users. Пусть это будет test_user с каким-нибудь хитрым паролем.
- B. После этого его надо добавить в число разрешенных пользователей openssh. Идете в каталог с:\Program Files\OpenSSH\bin и выполняете следующие команды:
mkgroup -l >> ..\etc\group
mkpasswd -l -u test_user >> ..\etc\passwd
- C. Затем надо задать порт, по которому будет лазить в инет. По умолчанию это 22, но лучше поменять. В идеале это должен быть http - 80 (но может быть закрыт провайдером домашнего инета). Еще хорошо SSL – 443. А можно любой понравившийся, не суть важно. Для этого идем в c:\program files\openssh\etc\sshd_config, расскоментируем строку #Port и ставим желаемую циферку.
- D. И самое главное, стоившее мне 2 дней жесткого секса с компом и гуглом! В Windows Firewall надо добавить этот порт в список разрешенных! Я совсем про это забыл, блин.
- E. Все, openssl готов к работе. Запускаем его: net start opensshd
- 3. Что бы его проверить, можно использовать широко известный в узких кругах клиент PuTTY (http://www.chiark.greenend.org.uk/~sgta ... nload.html). Запускаете его (дома ли, на работе ли, не суть важно), вводите IP домашнего компа и заданный в пункте 2.С порт – должно появится приглашение на ввод логина/пароля. Если это отработало – отлично, защищенный туннель между 2 копьютерами установлен.
- 4. Потом надо настроить proxy server на домашнем компе. Я нашел 3proxy (http://www.security.nnov.ru/soft/3proxy/) и доволен. Мелкий и делает всё, что надо. После того, как вы его скачаете и разархивируете в желаемую папку, надо в подпапке bin создать файл 3proxy.cfg со следующим содержимым:
- # DNS servers
nserver ВАШ_ДНС_1
nserver ВАШ_ДНС_2
nscache 65536
# interfaces
external ВАШ_IP_ОТ_ПРОВАЙДЕРА
internal 127.0.0.1
# разрешаем прокси и SOCKS сервера.
# аутентификация не нужна, т.к. ходят ТОЛЬКО localhost
auth none
proxy
socks
- # DNS servers
- 5. Что тепепрь происходит – 3proxy будет слушать порты 3128 и 1080 на localhost и перенаправлять их на external IP. Что бы на эти порты попасть, надо создать SSH туннель между рабочим компом и домашним сервером openssh. Для этого запускаем PuTTY, вводим порт и IP из пункта 3, потом идем на вкладку SSH->Tunnels. И там добавляем 3 туннеля:
- Source port 5555; Destination 127.0.0.1:3128 - это для http-прокси
Source port 4444; Destination 127.0.0.1:1080 – это для SOCKS-прокси
Source port 3333; Destination 127.0.0.2:3389 – это для Windows Remote Desktop :)
- Source port 5555; Destination 127.0.0.1:3128 - это для http-прокси
- 6. Что бы запустить Remote Desktop (и лазить по домашнему компу), в Remote Desktop Connection на рабочем компе надо коннектиться к 127.0.0.1:3333
Алексей.