普段MacとLinuxを利用しているので、ほとんどがsshしてコマンド操作(CUI)で用が足りるんですが、
たまに遠隔地にあるWindows上でGUI操作をしないといけないことがあるので、stoneとvncで解決させました。
いろいろと方法はあると思いますが、stoneが一番手軽だったので。 
(普段利用しているUT-VPN はWin用とLinux用のクライアントはあるんですが、Mac用クライアントが無いので、こんな面倒なことをしてます。)
現在の状態 
  MacbookAirとServerAは同じネットワーク(192.168.11.0/24) 
  ServerAとWindowsPCはVPN(UT-VPN)環境を構築済みで通信可能(172.16.100.0/24) 
  Macbook AirとWindowsPCは直接通信不可(WindowsPCは遠隔地でNAT配下) 
 
環境(OS、IPアドレス) 
  MacbookAir(Lion) 192.168.11.20 
  ServerA(Fedora16) 192.168.11.30,172.16.100.50 
  WindowsPC(XP) 172.16.100.10 
 
実現したいこと 
  stoneでパケットを中継して、MacBookAirからWindowsPCへのVNC接続を可能にする 
  MacbookAirからServerAの5910ポート(192.168.11.30:5910)にVNC接続すると、stoneで中継されWindowsPCの5900ポート(172.16.100.10:5900)に接続される 
  VPN(UT-VPN)上の通信で既に暗号化されているので、今回stoneでSSL化の必要は無し 
 
stoneの導入 
stoneはServerA(Fedora16)に導入
1 
2 
3 
4 
5 
6 
7 
8 
9 
mkdir ~/src ~/bin
 cd ~/src
 wget http://www.gcd.org/sengoku/stone/stone-2.3e.tar.gz
 tar zxvf stone-2.3e.tar.gz
 cd stone-2.3d-2.3.2.7
 curl -o stone.diff -LO "http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=10;filename=stone.diff;att=1;bug=517574"
 patch < stone.diff
 make linux
 cp stone ~/bin 
 
デフォルトのままだとmake linuxでこけるので、ここのpatch も適用してます。patchの内容は下記のような感じで-D_GNU_SOURCEを追加している感じ
--- Makefile	2008-02-05 08:00:00.000000000 +0900
+++ Makefile	2009-08-19 08:59:00.000000000 +0900
@@ -97,7 +97,7 @@
 	$(MAKE) FLAGS="-DNT_SERVICE $(FLAGS)" LIBS="$(LIBS) $(SVC_LIBS) -ladvapi32 -luser32 -lshell32 -lkernel32" $(TARGET)
 
 linux:
-	$(MAKE) FLAGS="-O -Wall -DCPP='\"/usr/bin/cpp -traditional\"' -DPTHREAD -DUNIX_DAEMON -DPRCTL -DSO_ORIGINAL_DST=80 -DUSE_EPOLL $(FLAGS)" LIBS="-lpthread $(LIBS)" stone
+	$(MAKE) FLAGS="-O -Wall -DCPP='\"/usr/bin/cpp -traditional\"' -DPTHREAD -DUNIX_DAEMON -DPRCTL -DSO_ORIGINAL_DST=80 -DUSE_EPOLL -D_GNU_SOURCE $(FLAGS)" LIBS="-lpthread $(LIBS)" stone
 
 linux-pop:
 	$(MAKE) TARGET=linux pop_stone 
stoneの起動 
5910ポートで待ち受けて、WindowsPC(172.16.100.10)の5900ポートに中継させます
1 
2 
3 
4 
~/bin/stone 172.16.100.10:5900 5910
 
 Jan  7 12:33:43.735910 3078318336 start (2.3e) [11176]
 Jan  7 12:33:43.759207 3078318336 stone 3: colinux:rfb <- 0.0.0.0:cm 
 
常用するなら、supervisordとかで起動を管理するのがいいと思いますが、一時的に利用するだけなので、フォアグランドで起動。
MacbookAirからVNC接続 
Macの画面共有だとうまく接続できないので、Chicken of the VNC を利用。 
うまくVNC接続出来ました。
参考