从Azure VM访问Internet无法正常工作

时间:2013-02-27 04:53:34

标签: azure azure-virtual-machine azure-virtual-network

我创建了一个地址为192.168.0.4的Azure DNS服务器 我创建了一个地址空间为192.168的虚拟网络。 我将Subnet-1更改为

 starting IP 192.168.10.0
 Address Count 64  
 Address Range 192.168.10.0 - 192.168.10.63  

我使用PowerShell在单个云服务中创建了3个虚拟机映像。

$ADVM = New-AzureVMConfig -Name $ADVMName -InstanceSize Small -ImageName $ADVMImageName.ImageName |
            Add-AzureProvisioningConfig -Windows -Password $AdminPassword |
            Add-AzureDataDisk -CreateNew -DiskSizeInGB 10 -DiskLabel 'datadisk2' -LUN 0  |
            Add-AzureEndpoint -Protocol tcp -LocalPort 80 -PublicPort 80 -Name 'web' -LBSetName 'lbweb' -ProbePort 80 -ProbeProtocol http -ProbePath '/'

$SQLVM = New-AzureVMConfig -Name $SQLVMName -InstanceSize Medium -ImageName $SQLImageName.ImageName |
            Add-AzureProvisioningConfig -Windows -Password $AdminPassword |
            Add-AzureDataDisk -CreateNew -DiskSizeInGB 50 -DiskLabel 'datadisk2' -LUN 0 |
            Add-AzureEndpoint -Protocol tcp -LocalPort 80 -PublicPort 80 -Name 'web' -LBSetName 'lbweb' -ProbePort 80 -ProbeProtocol http -ProbePath '/'

$APPVM = New-AzureVMConfig -Name $APPVMName -InstanceSize Large -ImageName $AppImageName.ImageName |
            Add-AzureProvisioningConfig -Windows -Password $AdminPassword |
            Add-AzureDataDisk -CreateNew -DiskSizeInGB 50 -DiskLabel 'datadisk2' -LUN 0 |
            Add-AzureEndpoint -Protocol tcp -LocalPort 80 -PublicPort 80 -Name 'web' -LBSetName 'lbweb' -ProbePort 80 -ProbeProtocol http -ProbePath '/'

#CreateService                   
New-AzureVM -ServiceName $CloudServiceName -VMs $ADVM,$SQLVM,$APPVM -AffinityGroup $AffinityGroup -VNetName $VirtualNetworkName

按预期创建所有VM和云服务。 (尽管新VM的IP地址不是连续的)

我得到这3个IP地址

$ ADVMName的

192.168.0.4
$ SQLVMName的192.168.0.12 $ APPVMName的192.168.0.20

当我RDP到$ ADVMName并尝试访问http://www.google.com时,它不成功,点击Fix connection problemsThe DNS Server isn't responding

为什么我无法从这台机器访问谷歌?当我在那台机器上时,DNS服务器(设置为192.168.0.4)如何不可用?

3 个答案:

答案 0 :(得分:15)

在构建Azure虚拟网络后,我遇到了同样的问题,其中一个虚拟机是域控制器,另外两个虚拟机是服务器。当我登录到在Azure上运行的任何虚拟机Windows服务器时,我无法使用任何浏览器(经过测试的Chrome和Internet Explorer)打开网站。令人困惑的是,像BING和GOOGLE这样的网站会打开,但包括MSDN和live.com在内的所有其他网站都存在问题,如没有CSS或无法打开。

事实证明,此问题的根本原因是我创建的虚拟网络只配置了一个DNS IP地址:IP地址我的AD域控制器MY-DC(10.0.0.4)。之所以发生这种情况,是因为我创建了自己的独立AD森林(mydomain.com),由我的AD域控制器MY-DC控制,这是我的虚拟机之一。

在我将MY-DC配置为mydomain.com域的域控制器之前,Azure虚拟网络的DNS IP地址为168.63.129.16。 168.63.129.16是Microsoft DNS服务器的IP地址。将我的虚拟机MY-DC配置为我的域控制器后,Azure虚拟网络的DNS IP地址仅为10.0.0.4。对DNS IP地址的此更改似乎导致浏览器无法在Internet上打开网站。修复程序是编辑Azure虚拟网络的配置,并将Microsoft DNS服务器的原始IP地址(168.63.129.16)作为附加DNS服务器添加回来。

所以吸取的教训如下。 将VM配置为Azure虚拟网络的DNS服务器之前,请仔细记录Windows Azure在进行任何网络或域配置之前为Azure虚拟网络提供的DNS IP地址。然后,在将VM配置为DNS服务器后,切换回Azure管理门户并导航到“网络”部分。在本节中,单击虚拟网络名称。这应该深入到网络的配置。在此屏幕中,单击“配置”选项卡。将Microsoft DNS服务器的原始DNS IP地址与您自己的DNS服务器的IP地址一起添加到列表中,以便您的网络现在知道两个DNS服务器。单击保存。门户网站将提示您确认,单击是。从门户网站重新启动虚拟机,您现在可以远程桌面访问虚拟机,登录Windows,打开浏览器,并像在客户端PC上一样轻松上网。

答案 1 :(得分:7)

让我再向Martin Cox提供一个细节 - 答案是正确的 - 您在虚拟网络上拥有自己的AD / DNS服务器的问题实际上是您的onw DNS通常没有完全配置为提供完整DNS服务,因此浏览互联网无法找到所有“网络内容”。

因此,如上所述,您必须转到您的azure虚拟网络配置选项卡,并将真实(外部)DNS服务器的IP添加到DNS列表中。

我使用的是实际Azure的DHCP服务器的IP,它实际上与DNS服务器地址相同(您可以随时在虚拟网络中运行的任何VM中运行ipconfig -all,搜索DHCP)< / p>

当我将此IP添加到虚拟网络的DNS列表中时,我可以像在冰上一样从VM浏览互联网; - )

答案 2 :(得分:0)

在安装活动目录并升级到域控制器之前,我似乎已经在尝试访问互联网方面领先于自己。完成以下两个步骤后,我现在可以访问谷歌了。

# Install AD Role
    Install-WindowsFeature -Name AD-Domain-Services
    Install-WindowsFeature -Name RSAT-ADDS


# promote to DC (http://www.falconitservices.com/support/KB/Lists/Posts/Post.aspx?ID=90)
# this command will restart machine
    Import-Module ADDSDeployment
    Install-ADDSForest -CreateDnsDelegation:$false -DatabasePath "F:\NTDS" -DomainMode "Win2012" -DomainName "x2013xxxx.com" -DomainNetbiosName "X2013xxxx" -ForestMode "Win2012" -InstallDns:$true -LogPath "F:\NTDS"         -NoRebootOnCompletion:$false -SysvolPath "F:\SYSVOL" -Force:$true