Много всего уже написано про TOR и про то как с помощью Tor Browser облегчить себе жизнь, но сказ не за это.
Возникла у меня потребность получить доступ к RDP серверу за двумя NAT`ами, к одному из которых доступа нет совсем.
Задача несложная, если можно потратиться на самый дешевый VDS и поднять там OpenVRT+VPN. К тому же одним из роутеров в моём случае являлся Asus RTN-серии, который умеет держать VPN поверх WAN.
Но это было бы не так интересно, да и не было бы бесплатно, а мы же все любим “халяву”.
В итоге выбор пал на Hidden Service, дешево и сердито – наш выбор.
Для начала, если нужен разовый доступ к серверу, то достаточно Tor Browser т.к он может поднять Socks прокси и HiddenService, но работать все это счастье будет только пока запущен сам браузер.
А вот если мы хотим пользоваться удаленкой на постоянной основе, то потребуется установить TOR как службу.
Для этого нужен Windows Expert Bundle, дистрибутив которого на официальном сайте спрятали на страничке с исходным кодом TOR.
Скачиваем, распаковываем куда удобно, я по привычке использовал папку “Tor” в корне диска “C:”.
Теперь нам нужно создать файл настроек “torrc” в папке C:\Tor и прописать в него строки:HiddenServiceDir "C:/Tor/hidden_service/"
HiddenServicePort 3389 127.0.0.1:3389
Теперь запускаем командную строку от имени администратора и стартуем сам сервис командой:
C:\Tor\tor.exe --service
install
-options -f
"C:\Tor\torrc"
После запуска сервиса автоматически будет сгенерирована папка “hidden_service” и два файла в ней.
В файле C:\Torhidden_service\hostname мы увидим доменное имя для скрытого сервиса.
С исходной машиной закончили.
Теперь для подключения нам надо “на клиентской машине” поднять Socks5 прокси от TOR и тут есть два варианта. Можно повторить шаги по инсталляции TOR сервиса в систему (плюс завернуть трафик с браузеров в сеть TOR и забыть про блокировки сайтов), или просто скачать Tor Browser и посмотреть в настройках, в логе, на какой порт соксифицироваться (9050/9150 etc).
Нативный клиент от Microsoft не умеет Socks, по этому используем прекрасную альтернативу – RDP клиенты от Parallels:
https://www.parallels.com/products/ras/download/client/
UPD: Любителям Ubuntu “посвежее” посвящается (или история про то как в Ubuntu выпилили QT4)
Создаем новое RDP подключение, в поле “основное соединение” используем .onion адрес из файла C:\Torhidden_service\hostname,
“понятное имя” заполняем “понятным” для себя любимого именем, остаётся заполнить учетные данные вашего RDP подключения и завернуть подключение на Socks5 прокси:
вкладка “сеть” — Socks5 — “хост прокси”:127.0.0.1 — “порт”:9050 (если установлен сервис TOR по умолчанию, или тот что вы подсмотрели в логах TorBrowser).
Enjoy.
З.Ы.
1. Искренне рекомендую перейти по первой ссылке и почитать про Tor, крайне познавательно и отлично написано.
2. В моем случае на искомой машинке крутился Windows Server 2008R2 с поднятым IIS, так что веб сервер на Apache или Nginx я не поднимал, но если вам понадобится, все необходимое по ссылке ТУТ.
3. Если вдруг занят 80-й порт, вам сюда, если это окажется IIS то еще и сюда.
4. Если хотите имя .onion попроще и/или более запоминаемое – читайте ТУТ.