Показаны сообщения с ярлыком серый ip. Показать все сообщения
Показаны сообщения с ярлыком серый ip. Показать все сообщения

пятница, 19 марта 2010 г.

Серые IP и ssh туннели.

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

В общем задача стояла такая:

Есть удаленная рабочая точка с серым ip на которой установлена ubuntu, соединяется по rdp через интернет с w2k3 сервером при помощи ssh туннеля. Там же стоит принтер HP LJ 1000. Народ в 1с робит. Локально печатает все нормально. Но при настройке принтера через rdesktop замучался, печатает только со снятой галочкой "Двусторонний обмен". Снимаешь, перезагружаешься и все...
Юзеру открывать доступ к свойствам принтера тоже не охота. Да и незачем. Работают бесшовном рещиме с seamlessrdp.

Путем гугления по ssh тунелям пришел к такому варианту:
На клиенте пробрасываем cups, rdp и до кучи, раз разобрались, vnc.

Для этого пришлось поднять такие туннели:

1. Клиент:

#!/bin/sh
plink -v -x -a -N -ssh -2 -4 -C -P 222 -l -pw password -L 127.0.0.1:3390:192.168.135.200:3389 -R 1234:127.0.0.1:5900 -R 1235:127.0.0.1:631 user@server.net

потом соответственно еще один для запуска 1с:

#!/bin/sh
rdesktop 127.0.0.1:3390 -kcommon -u"user" -p password -a8 -xm -N -P -z -g1273x745 -A -s"c:\seamlessrdp\seamlessrdpshell.exe c:\1cv77\bin\1cv7s.exe"

2. На w2k3 сервере поднимаем второй туннель до шлюза:
plink -ssh -N -v user@192.168.135.254 -P 222 -pw password -L 632:127.0.0.1:1235 -L 5902:127.0.0.1:1234

где:
192.168.135.200 - сам сервер w2k3
192.168.135.254 - шлюз на linux на стороне сервера.
user@server.net - внешний адрес нашего шлюза. У меня динамический пользую no-ip.com

для автоподнятия ssh на стононе w2k3 использовал myentunnel, небольшая надстройка над plink, которая позволяет запускать его как службу и следит за разрывами.

Как ее настраивать писать не буду... Там итак все просто...

после поднятия туннелей подключаем принтер как http://<127.0.0.1:632>...
И все работает. Даже удаленная помогалка VNC.