普段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 |
|
デフォルトのままだとmake linux
でこけるので、ここのpatchも適用してます。patchの内容は下記のような感じで-D_GNU_SOURCE
を追加している感じ
stoneの起動
5910ポートで待ち受けて、WindowsPC(172.16.100.10)の5900ポートに中継させます
1 2 3 4 |
|
常用するなら、supervisordとかで起動を管理するのがいいと思いますが、一時的に利用するだけなので、フォアグランドで起動。
MacbookAirからVNC接続
Macの画面共有だとうまく接続できないので、Chicken of the VNCを利用。
うまくVNC接続出来ました。