O encaminhamento de porta do NSG do Azure RM não funciona

1

Eu tenho uma caixa 6.x do Debian que eu precisava mover para o Azure. Antes de subir, verifiquei se o SSH está escutando em qualquer porta, assim como o Apache. Meu NSG tem todas as portas certas abertas (22, 443 por enquanto). Carreguei o VHD e usei os seguintes comandos do PowerShell para criar a VM com base no VHD:

$vnet = get-AzureRmVirtualNetwork -Name $VnetName -ResourceGroupName $VnetRG
$subnet = Get-AzureRmVirtualNetworkSubnetConfig -Name "$SubnetName" -VirtualNetwork $vnet
$pip = Get-AzureRmPublicIpAddress -Name "$pipName" -ResourceGroupName $resourceGroupName
$NSG = Get-AzureRmNetworkSecurityGroup -Name "$NSGName" -ResourceGroupName $resourceGroupName
$nic = New-AzureRmNetworkInterface -ResourceGroupName $resourceGroupName -Name $nicName -Subnet $subnet -Location $location -PrivateIpAddress $newVMIP -DnsServer $dnsServer1,$dnsServer2 -PublicIpAddress $pip -NetworkSecurityGroup $NSG
$newVM = New-AzureRmVMConfig -VMName $newVMName -VMSize $newVMSize | Add-AzureRmVMNetworkInterface -Id $nic.Id | Set-AzureRmVMOSDisk -VhdUri $vhdPath -Name $diskname -CreateOption attach -Linux -Caching ReadWrite
New-AzureRMVM -ResourceGroupName $resourceGroupName -Location $location -VM $newVM -DisableBginfoExtension

Posso ver que a máquina está funcionando, pois posso ver a área de trabalho de login automático no diagnóstico de inicialização. No entanto, quando tento SSH ou quando tento acessar o site com mais de 22 e 443, ele não está retornando nenhuma resposta. O Telnet expira e está agindo como se a porta não estivesse sendo encaminhada.

Eu entendo que porque é o Debian 6.x, o waagent não é suportado. Mas eu não precisaria de waagent para encaminhamento de porta, deveria? Pelo que entendi sobre rede e pelo que vejo nos fóruns do MSDN, "O encaminhamento de porta deve ser invisível para sua máquina final. À medida que o público atinge a porta pública e sua VM recebe na porta interna." (https: //social.msdn.microsoft.com/Forums/en-US/bd93f5cb-a674-4b9c-aa5a-9f6e7b364f2c/port-forwarding-still-broken?forum=WAVirtualMachinesforWindows)

Identifiquei errado ou perdi algo no meu script do PowerShell? Alguma ideia?

Eu tentei excluir e recriar a VM e tentei fazer o upload novamente do arquivo VHD. Eu tive que convertê-lo de VHDX para VHD, mas isso não deve importar, já que ele está realmente inicializando e vejo a tela em diags de inicialização.

O NSG que eu usei funciona para qualquer outra máquina recém-criada via portal ou PowerShell, mas não essa máquina carregada, o que me faz pensar que eu anulei algo no script. Tudo mostra que ele está aberto para as portas 22 e 443. Aqui está uma captura de tela do blade Effective Security Rules: captura de tela das regras

Os iptables na máquina local estão vazios, como mostrado em esta captura de tela .

O que é estranho é que não consigo SSH para ele de outra máquina na mesma rede virtual também. Eu tentei passar pelas etapas em https: //docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-linux-debian-create-upload-vhd?toc=%2Fazure%2Fvirtual-machines% 2Flinux% 2Ftoc.json, mas como é o Debian 6, o waagent não será instalado. Mas, novamente, não precisaria de um agente na máquina para o encaminhamento de portas para o trabalho. Nenhuma outra tecnologia de virtualização requer um agente para o NAT funcionar.

Editar - isso foi sugerido como uma duplicata do StackOverflow. Eu originalmente fiz a pergunta lá, mas todos sugeriram que eu postasse minha pergunta aqui. Então fiz isso, marcando a resposta do StackOverflow como resposta.

    
por suprphrk 09.01.2017 / 04:45

2 respostas

2

O Debian 6 não funciona no Azure. Você precisa usar o "Adaptador de rede herdado" no Hyper-V e isso não funciona no Azure. Ou, você teria que recompilar o kernel para suportar os drivers do Hyper-V para o NIC, e isso também não é recomendado. Parece que tenho que tentar migrar os dados para um novo servidor.

    
por 14.01.2017 / 18:40
1

De acordo com sua descrição, certifique-se de que não haja firewall no bloqueio da VM para acessar sua VM. Além disso, você pode verificar se tem regras de NGS associadas à sub-rede da Vnet.

Notas: o NSG pode associar-se a VM e sub-rede.

Mais informações sobre como gerenciar o NSG, consulte este artigo .

Além disso, você pode verificar seu VHD preparado como link .

    
por 09.01.2017 / 02:27