0)这两台机器: LOCAL运行Windows 7 Pro-64位 REMOTE运行Windows Server 2008-R2 64位
1)我在REMOTE机器上安装了远程调试监视器,并使用了64位版本的msvsmon.exe。虽然我有很多远程调试的经验,但通常都是在更简单的网络环境下进行的。
2)LOCAL机器的Windows防火墙已设置为允许devenv.exe发送任何内容。 入站规则允许TCP 135,UDP 500和4500端口。
3)在LOCAL和互联网之间,我们有: LOCAL路由器 将TCP和UDP端口1-1193和1195-48999转发到LOCAL
LOCAL Ooma盒子 将TCP和UDP端口1-1193和1195-48999转发到“LOCAL Router”
我已使用tcping.exe测试了端口45678的转发,所以我知道路由器和Ooma盒子的转发规则是有效的。
我已经测试了在我的本地网络上远程调试另一台计算机,它可以正确地工作。因此,如果LOCAL的防火墙存在问题,那么它似乎只能是范围(私有/公共/域)的问题。在我看来,我已经检查了所有防火墙规则中的三个框,因此我不认为范围是问题。尽管我对...有疑问。
4)EC2防火墙的安全组设置允许入站,我认为适用于: TCP 135 TCP 139 TCP 445 TCP 4015 UDP 0-65535
5)在REMOTE上,我创建了入站规则以允许: TCP 135、139、445和80 UDP 137、138、500和4500(尽管我不知道是否使用了IPSec)
6)我还允许msvsmon.exe配置防火墙,以允许从任何机器进行连接,这可能是多余的,但现在我正在尝试一切。
7)在msvsmon中,选择“工具”>“选项”,启用“无身份验证(仅本机)”,并选中“允许任何用户调试”。端口为4015。
8)在LOCAL上,将传输方式更改为“远程(仅本机且没有身份验证)”,并在限定符中输入REMOTE主机名。
然后,在REMOTE上,msvsmon显示“Doug已连接”。
太好了!除此之外,我什么都没有得到。等待一段时间后,在LOCAL上会出现“无法连接到[hostname]。远程计算机未响应。”
8) 我无法在远程计算机上关闭msvsmon。我可以单击“文件”>“退出”,但是然后msvsmon会冻结。
REMOTE上的ProcessHacker显示这些连接: msvsmon.exe(7364),[REMOTE Hostname],3893,,,TCP,Listen, msvsmon.exe(7364),[REMOTE Hostname],3894,,,TCP,Listen, msvsmon.exe(4232),[REMOTE Hostname],3901,[REMOTE Hostname],4015,TCP,已连接, msvsmon.exe(7364),[REMOTE Hostname],4015,,,TCP,Listen, msvsmon.exe(7364),[REMOTE Hostname],4015,[LOCAL hostname],58007,TCP,关闭等待, msvsmon.exe(7364),[REMOTE Hostname],4015,[REMOTE Hostname],3901,TCP,已连接,
本地的ProcessHacker如下: devenv.exe(4624),Ducky,58175,[RemoteHost],4015,TCP,FIN Wait 2,
如果等一个足够长的时间,“FIN Wait 2 connection”在本地会消失,但是在REMOTE上的“Close Wait”连接不会,除非我杀死msvsmon进程。
9) 所以似乎是REMOTE试图在不同的端口上联系LOCAL,但这不起作用?还是...?
我真的没有什么好主意了。显然我哪里出了问题。我已经尝试关闭本地和远程的Windows防火墙,但结果相同。