Лазерная переадресация портов не работает [дубликат]

У меня есть блок Debian 6.x, который мне нужно было переместить в Azure. Перед его перемещением я убедился, что SSH прослушивает любой порт, как и Apache. В моей сети безопасности сети открыты все нужные порты (на данный момент 22, 443). Я загрузил виртуальный жесткий диск, а затем использовал следующие команды PowerShell для создания виртуальной машины на основе виртуального жесткого диска:

$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

Я могу я вижу, что машина работает, так как я могу просматривать рабочий стол с автоматическим входом в систему в диагностике загрузки. Однако, когда я пытаюсь использовать SSH или когда я пытаюсь получить доступ к веб-сайту через 22 и 443, он не возвращает никакого ответа. Время Telnet out, и он действует так, как будто порт вообще не пересылается.

Я понимаю, что поскольку это Debian 6.x, waagent не поддерживается. Но мне не нужен waagent для переадресации портов, не так ли? понимаете, что такое сеть, и из того, что я вижу на форумах MSDN: «Переадресация портов должна быть невидимой для вашего конечного компьютера. Когда публика обращается к общедоступному порту, а ваша виртуальная машина получает на внутреннем порт "(https: //social.msdn.microsoft.com/Forums/en-US/bd93f5cb-a674-4b9c-aa5a-9f6e7b364f2c/port-forwarding-still-broken?forum=WAVirtualMachinesforWindows)

Я неправильно -key или что-то пропустили в моем сценарии PowerShell? Любые идеи?

Я попытался удалить и воссоздать виртуальную машину, а также повторно загрузить файл VHD.Мне действительно пришлось преобразовать его из VHDX в VHD, но это не имеет значения, так как он действительно загружается, и я вижу экран в диагностике загрузки.

NSG, которую я использовал, действительно работает на любой другой недавно созданной машине через портал или PowerShell, но не на этой загруженной машине, что заставляет меня думать, что я что-то допустил в скрипте. Однако все показывает, что он открыт для портов 22 и 443. Вот снимок экрана колонки «Действующие правила безопасности»: снимок экрана правил

iptables на локальном компьютере пустые, как показано на этом снимке экрана .

Что странно, так это то, что я тоже не могу подключиться к нему по SSH с другой машины в той же виртуальной сети. Я попытался выполнить шаги по адресу https: //docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-linux-debian-create-upload-vhd?toc=%2Fazure%2Fvirtual-machines%. 2Flinux% 2Ftoc.json, но поскольку это Debian 6, waagent не устанавливается. Но опять же, мне не нужен агент на машине для работы переадресации портов. Никакая другая технология виртуализации не требует наличия агента для работы NAT.

Изменить - это было предложено как дубликат StackOverflow. Первоначально я задавал этот вопрос там, но все предложили мне разместить свой вопрос здесь. Я сделал это, отметив ответ StackOverflow как ответ.

1
задан 14 January 2017 в 02:03
2 ответа

Debian 6 не будет работать в Azure. Вы должны использовать «Устаревший сетевой адаптер» в Hyper-V, а это не работает в Azure. Или вам придется перекомпилировать ядро ​​для поддержки драйверов Hyper-V для сетевой карты, что тоже не рекомендуется. Похоже, мне нужно попытаться перенести данные на новый сервер.

2
ответ дан 4 January 2021 в 09:06

В соответствии с вашим описанием убедитесь, что на виртуальной машине нет брандмауэра, который блокирует вам доступ к виртуальной машине. Кроме того, вы можете проверить, связаны ли правила NGS с подсетью Vnet.

Примечания: NSG может связываться с виртуальной машиной и подсетью.

Дополнительные сведения о том, как управлять NSG, см. В этой статье .

Кроме того, вы можете проверить подготовленный VHD по ссылке .

1
ответ дан 4 January 2021 в 09:06

Теги

Похожие вопросы