淘客熙熙

主题:求教方家:关于remote desktop connection和SSH remote port forwarding -- 孤子

共:💬9 🌺5 新:
全看分页树展 · 主题
家园 求教方家:关于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,说明补丁已经打上了,所以应该不是这个问题。

各位有没有谁遇到类似的问题啊?俺在这里手捧鲜花静候各路高人啦!

全看分页树展 · 主题


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河