Linux/Unix处于内网的桌面控制

网络介绍:
A      ----> B ------->        internet <-------    C <-------- D

A为一台FreeBSD,D是XP系统。
B和C都是有独立ip的,A为一台服务器,C为一个路由。

实验环境:
A:FreeBSD -6.2-release-p8+x11vnc+锐捷认证
D:XP SP2+vnc 4.1.2+pppoe
实现目标:让D可以控制A的桌面,或者A控制D的桌面。
分析:要实现连接必须要有一个能直接连接的通道,要实现这个通道
由于B上游是一个不可接触的服务器,所以只能在C上进行端口映射。

1、D控制A,我们可以把C上的10000端口映射到D的5500端口(被动连接模式)
然后A在被动模式连到C的10000端口,这样在D就出现了一个可操作的屏幕了。

实现步骤:
1) A安装x11vnc,#cd usr/ports/net/x11vnc&&make install clean
2) D安装vnc,到http://www.realvnc.com/download.html下载然后安装,最好和A安装的是一个版本的,不然有可能出现错误
3)把C上的tcp连接的10000端口转到D的5500端口
4)D运行Run Listen vncviewer
5) A运行:x11vnc -connect xxx.xxx.xxx.xxx:10000

2、A控制D,将C上的10001端口映射到D的5900,D运行vnc server端程序,然后A在连接C的10001端口进行控制,具体步骤不多说了。