主题:求教方家:关于remote desktop connection和SSH remote port forwarding -- 孤子
距离成功就一步之遥了,却怎么也搞不定,只有求教各路高人了。
俺学校的机子(SchHost)是Windows XP SP2,家里面的机子(HomeHost)是Unix类的系统(Mac OSX和Linux)。HomeHost通过Cable Modem连上互联网。而学校有防火墙,滤掉了所有对校内机子的主动访问,只允许校内机子主动访问外面。学校提供VPN,让校外的机子可以连接和访问校内的资源。但是通过VPN连接的速度比较慢,一直用得很不爽。加之俺在Linux下访问学校VPN Server一直没搞定(以前曾经连上并用过,但学校VPN Server升级后,俺怎么连都是ppp client以信号15退出)。在不爽了很久之后,俺终于决定要想办法绕过学校的防火墙来通过HomeHost控制SchHost的桌面。
方法有两种。一种是用VNC。SchHost装VNC Server,HomeHost装VNC Client。让VNC Server定时发起向VNC Client的主动连接而VNC Client工作在Listen模式。俺试过这种方式,可以连上。但不知什么原因,只看到个黑屏,连登录界面都没出现。并且Mac OSX上没有Native的Client,安全性也不太好,所以基本放弃了这种方式。
另外一种是用SSH的Remote Port Forwarding。俺在SchHost上装了Putty,设置了计划任务,让Putty在指定的时间段内以一分钟一次的频率主动连接HomeHost的SSHD服务端口(俺设的是14671),成功后就将对HomeHost:13389的访问转发到SchHost:13389(俺将Terminal Service的端口改到了13389)。俺在Cable Modem上设置好了对14671端口的转发,然后运行SSHD监听14671端口。很快SchHost和HomeHost间的SSH连接就建立好了,TCP Tunnel也成功建立了。
然后俺就在HomeHost上运行Remote Desktop Connection,访问localhost:13389,SchHost的登录界面顺利出现了,说明Windows的Remote Desktop Protocal正确运行了。这时候如果俺输入错误密码或者点按Cancel,Remote Desktop Connection可以正确退出。但是如果俺输入正确的密码,正常的话就应该出现SchHost的桌面,但是不知道什么原因,结果却是画面停止不动,仿佛连接忽然间中断一样。
俺怀疑是Loopback接口(lo)的MTU的问题。因为在HomeHost这端是访问localhost:13389,在SchHost那端应该也是访问的localhost。在HomeHost这端lo的MTU是16K,SchHost的Windows不太清楚,估计是32K,无论如何,都会比以太网口缺省MTU的1500大。这样如果只是小数据量的传输就不会出问题,比如刚开始的登录界面就顺利出现。而一旦大数据量传输,两个Host就会送出很大的数据包,结果就被网络上的Router给drop掉了,导致连接中断。
Unix类系统中lo的MTU很容易改。但是俺将HomeHost的lo的MTU改到1500以下,甚至1000,仍然出现同样的症状。而在SchHost上,俺只知道如何改以太网口的MTU,lo的MTU却不知道怎么改。
查了MS的各种补丁信息。在SP2中,Terminal Service如果是访问localhost的端口,会有访问拒绝的问题。但这个已经有补丁了,而且俺现在能够连上SchHost的Terminal Service,说明补丁已经打上了,所以应该不是这个问题。
各位有没有谁遇到类似的问题啊?俺在这里手捧鲜花静候各路高人啦!
- 相关回复 上下关系8
求教方家:关于remote desktop connection和SSH remote port forwarding
如果你还没有成功,见内 1 ragtime 字322 2006-03-20 18:14:23
VNC over SSH tunnel是一样的问题 孤子 字342 2006-03-21 00:58:32
我觉得loopback的mtu关系不大 1 烧焦的火凤凰 字525 2006-03-19 15:27:11
不是无线网 孤子 字807 2006-03-19 21:42:33
牛啊。 1 闲看蚂蚁上树 字163 2006-03-19 02:34:18
这个是X11 Forwarding 孤子 字179 2006-03-19 10:28:42
我是想说在windows下 1 闲看蚂蚁上树 字160 2006-03-19 11:20:27