解决无法连接hyper-v server的问题,艰难的Hyper-V Server 2008 R2 初上手

自己的经验:1,组策略里开启everyone给匿名权限启用。2,用户名必须是默认的Administrator,hyper-v server的用户名也一样。3,密码也要一样。4,c:\windows\system32\drivers\etc\hosts文件里添加ip和hyper-v server服务器名称的对应关系。这4个都做到才能连上。

以下为原文:

最近因为某些原因,要在短时间内研究出能够充分发挥硬件资源的办法,结果呢。机器的网卡不兼容,没跑成ESXi,于是只好用Hyper-V Server 2008 R2 来玩,可惜,虽然官方发了个有模有样的文档,但是实际上手起来那叫个恶心啊。

 

装好系统以后,设好密码,然后开启PowerShell,远程管理,以为这样就可以好好玩了,往上一连。。hoho,结果不成功,原来,你得设置防火墙规则,而Hyper-V Server是要求用户在域环境下的,所以由于我用的不是域环境,结果就死活连不上。最后发现,解决办法是把服务器和客户机的用户名密码都设置成一样的就可以了。配置防火墙和打开远程管理看下面:

[vb] view plaincopyprint?

  1. netsh advfirewall set currentprofile settings remotemanagement enable  
  2.   
  3. netsh advfirewall firewall set rule group=“Windows Management Instrumentation (WMI)” new enable=yes  
  4.   
  5. netsh advfirewall firewall set rule  name=“Remote Administration (RPC-EPMAP)” new enable=yes profile=domain   
  6.   
  7. netsh advfirewall firewall set rule name=“Remote Administration (NP-In)” new enable=yes profile=domain   
  8.   
  9. netsh advfirewall firewall set rule name=“Remote Administration (RPC)” new enable=yes profile=domain   
  10.   
  11. netsh advfirewall firewall set rule name=“remote desktop (tcp-in)” new enable=Yes  
  12.   
  13. winrm quickconfig -q  

netsh advfirewall firewall set rule group=”Windows Management Instrumentation (WMI)” new enable=yes

netsh advfirewall firewall set rule name=”Remote Administration (RPC-EPMAP)” new enable=yes profile=domain

netsh advfirewall firewall set rule name=”Remote Administration (NP-In)” new enable=yes profile=domain

netsh advfirewall firewall set rule name=”Remote Administration (RPC)” new enable=yes profile=domain

netsh advfirewall firewall set rule name=”remote desktop (tcp-in)” new enable=Yes

winrm quickconfig -q

跑一遍以上几个脚本,说明一下,前几个是开防火墙的规则的。后面那个winrm的是把winrm设置为接收请求的状态,这样从客户机及可以远程连接过来管理了。

 

以为这样就完了?呵呵,文档如此,实际情况未必。客户机方面,我用的是Windows Server 2008R2来管理。一连,提示什么乱七八糟的认证失败。access is denied。

找了一下,发现需要把这台机器添加到自己的TrustedHosts里面。

[vb] view plaincopyprint?

  1. winrm set winrm/config/client @{TrustedHosts=“192.168.*.*”}  

结果居然给我access denied。。我可是本地管理员权限跑的命令啊。。

整了半天结果发现只有用administrator才可以正常执行上面的命令。

 

总算执行成功了,往服务器一连,结果报错:

cannot connect to the RPC service on computer 192.168.×。× make sure your RPC service is running

找了半天,才知道,原来这东西要本地防火墙也要开启一下。我火了,直接禁用防火墙。但是实际上,还是需要适当的设定的。

某人给的参考列表是:

 

  • 开135端口

 

 

  • 开/windows/System32/wbem/unsecapp.exe

 

 

  • 开/program files/hyper-v/vmconnect.exe

 

 

  • 开/windows/system32/WUDPhost.exe

 

不过可惜的是,这样也还是没有解决问题,虽然连接是可以了。所以怀疑上面的防火墙设置不是问题关键,之前应该已经成功的通过了防火墙了。

最后才发现关键的问题,造成无法连接RPC服务的原因其实很弱智:没有dns,也就是说。实际上hyperv manager的管理不能使用ip地址直接连,必须使用主机名,而在我这个工作组环境下,因为没有dns所以主机名是不行用的。办法就是修改host表,直接把对应的主机名解析成ip就可以成功的连接上了。这样问题终于解决了。

 

据说,VMWare等不少以来RPC的服务都会有这样的问题存在。

来源URL:http://blog.csdn.net/cecilulysess/article/details/5021500