Skupinu zabezpečení sítě můžete použít k filtrování příchozího a odchozího síťového provozu do a z prostředků Azure ve virtuální síti Azure.
Skupiny zabezpečení sítě obsahují pravidla zabezpečení, která filtrují síťový provoz podle IP adresy, portu a protokolu. Pokud je skupina zabezpečení sítě přidružená k podsíti, pravidla zabezpečení se použijí na prostředky nasazené v této podsíti.
Azure Cloud Shell
Azure hostí interaktivní prostředí Azure Cloud Shell, které můžete používat v prohlížeči. Pro práci se službami Azure můžete v prostředí Cloud Shell použít buď Bash, nebo PowerShell. Předinstalované příkazy Cloud Shellu můžete použít ke spuštění kódu v tomto článku, aniž byste museli instalovat cokoli do místního prostředí.
Spuštění služby Azure Cloud Shell:
Možnost |
Příklad nebo odkaz |
Vyberte Vyzkoušet v pravém horním rohu bloku kódu nebo příkazu. Výběrem možnosti Vyzkoušet se kód ani příkaz automaticky nekopíruje do Cloud Shellu. |
|
Přejděte na adresu https://shell.azure.com nebo výběrem tlačítka Spustit Cloud Shell otevřete Cloud Shell v prohlížeči. |
|
Zvolte tlačítko Cloud Shell v pruhu nabídky v pravém horním rohu webu Azure Portal. |
|
Použití Azure Cloud Shellu:
Spusťte Cloud Shell.
Výběrem tlačítka Kopírovat v bloku kódu (nebo bloku příkazů) zkopírujte kód nebo příkaz.
Vložte kód nebo příkaz do relace Cloud Shellu tak, že ve Windows a Linuxu vyberete ctrl+Shift+V nebo vyberete Cmd+Shift+V v macOS.
Stisknutím klávesy Enter spusťte kód nebo příkaz.
Pokud se rozhodnete nainstalovat a používat PowerShell místně, tento článek vyžaduje modul Azure PowerShell verze 1.0.0 nebo novější. Nainstalovanou verzi zjistíte spuštěním příkazu Get-Module -ListAvailable Az
. Pokud potřebujete upgrade, přečtěte si téma Instalace modulu Azure PowerShell. Pokud používáte PowerShell místně, musíte také spustit Connect-AzAccount
, abyste vytvořili připojení k Azure.
Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.
- Tento článek vyžaduje verzi 2.0.28 nebo novější azure CLI. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.
Následující postup vytvoří virtuální síť s podsítí prostředků.
Na portálu vyhledejte a vyberte Virtuální sítě.
Na stránce Virtuální sítě vyberte + Vytvořit.
Na kartě Základy vytvoření virtuální sítě zadejte nebo vyberte následující informace:
Nastavení |
Hodnota |
Podrobnosti projektu |
|
Předplatné |
Vyberte své předplatné. |
Skupina prostředků |
Vyberte, že chcete vytvořit novou IP adresu. Do pole Název zadejte test-rg. Vyberte OK. |
Podrobnosti o instanci |
|
Název |
Zadejte vnet-1. |
Oblast |
Vyberte USA – východ 2. |
Výběrem možnosti Další přejděte na kartu Zabezpečení .
Výběrem možnosti Další přejděte na kartu IP adresy.
V poli Adresní prostor v podsítích vyberte výchozí podsíť.
V podokně Upravit podsíť zadejte nebo vyberte následující informace:
Nastavení |
Hodnota |
Podrobnosti o podsíti |
|
Šablona podsítě |
Ponechte výchozí hodnotu výchozí. |
Název |
Zadejte podsíť-1. |
Počáteční adresa |
Ponechte výchozí hodnotu 10.0.0.0. |
Velikost podsítě |
Ponechte výchozí hodnotu /24(256 adres). |
Zvolte Uložit.
V dolní části obrazovky vyberte Zkontrolovat a vytvořit . Po úspěšném ověření vyberte Vytvořit.
Nejprve vytvořte skupinu prostředků pro všechny prostředky vytvořené v tomto článku pomocí rutiny New-AzResourceGroup. Následující příklad vytvoří skupinu prostředků v umístění westus2 :
$rg = @{
ResourceGroupName = "test-rg"
Location = "westus2"
}
New-AzResourceGroup @rg
Vytvořte virtuální síť pomocí rutiny New-AzVirtualNetwork. Následující příklad vytvoří virtuální virtuální síť vnet-1:
$vnet = @{
ResourceGroupName = "test-rg"
Location = "westus2"
Name = "vnet-1"
AddressPrefix = "10.0.0.0/16"
}
$virtualNetwork = New-AzVirtualNetwork @vnet
Vytvořte konfiguraci podsítě pomocí rutiny New-AzVirtualNetworkSubnetConfig a pak zapište konfiguraci podsítě do virtuální sítě pomocí rutiny Set-AzVirtualNetwork. Následující příklad přidá podsíť s názvem subnet-1 do virtuální sítě a přidruží k ní skupinu zabezpečení sítě nsg-1 :
$subnet = @{
Name = "subnet-1"
VirtualNetwork = $virtualNetwork
AddressPrefix = "10.0.0.0/24"
}
Add-AzVirtualNetworkSubnetConfig @subnet
$virtualNetwork | Set-AzVirtualNetwork
Nejprve vytvořte skupinu prostředků pro všechny prostředky vytvořené v tomto článku pomocí příkazu az group create. Následující příklad vytvoří skupinu prostředků v umístění westus2 :
az group create \
--name test-rg \
--location westus2
Vytvořte virtuální síť pomocí příkazu az network vnet create. Následující příklad vytvoří virtuální virtuální síť vnet-1:
az network vnet create \
--name vnet-1 \
--resource-group test-rg \
--address-prefixes 10.0.0.0/16
Přidejte podsíť do virtuální sítě pomocí příkazu az network vnet subnet create. Následující příklad přidá podsíť s názvem subnet-1 do virtuální sítě a přidruží k ní skupinu zabezpečení sítě nsg-1 :
az network vnet subnet create \
--vnet-name vnet-1 \
--resource-group test-rg \
--name subnet-1 \
--address-prefix 10.0.0.0/24
V této části přidružíte skupinu zabezpečení sítě k podsíti virtuální sítě, kterou jste vytvořili dříve.
V části Nastavení nsg-1 vyberte příchozí pravidla zabezpečení.
Na stránce Příchozí pravidla zabezpečení vyberte + Přidat.
Vytvořte pravidlo zabezpečení, které povoluje porty 80 a 443 do skupiny zabezpečení webových aplikací asg. Na stránce Přidat příchozí pravidlo zabezpečení zadejte nebo vyberte následující informace:
Nastavení |
Hodnota |
Source |
Ponechte výchozí hodnotu Any. |
Rozsahy zdrojových portů |
Ponechte výchozí hodnotu (*). |
Cíl |
Vyberte skupinu zabezpečení aplikace. |
Cílové skupiny zabezpečení aplikací |
Vyberte asg-web. |
Služba |
Ponechte výchozí hodnotu Custom (Vlastní). |
Rozsahy cílových portů |
Zadejte 80 443. |
Protokol |
Vyberte TCP. |
Akce |
Ponechte výchozí možnost Povolit. |
Priorita |
Ponechte výchozí hodnotu 100. |
Název |
Zadejte allow-web-all. |
Vyberte Přidat.
Proveďte předchozí kroky s následujícími informacemi:
Nastavení |
Hodnota |
Source |
Ponechte výchozí hodnotu Any. |
Rozsahy zdrojových portů |
Ponechte výchozí hodnotu (*). |
Cíl |
Vyberte skupinu zabezpečení aplikace. |
Cílová skupina zabezpečení aplikace |
Vyberte asg-mgmt. |
Služba |
Vyberte protokol RDP. |
Akce |
Ponechte výchozí možnost Povolit. |
Priorita |
Ponechte výchozí hodnotu 110. |
Název |
Zadejte allow-rdp-all. |
Vyberte Přidat.
Upozornění
V tomto článku je protokol RDP (port 3389) vystavený internetu pro virtuální počítač, který je přiřazen skupině zabezpečení aplikace asg-mgmt .
V produkčních prostředích se místo vystavení portu 3389 na internetu doporučuje připojit se k prostředkům Azure, které chcete spravovat pomocí sítě VPN, privátního síťového připojení nebo služby Azure Bastion.
Další informace o službě Azure Bastion najdete v tématu Co je Azure Bastion?
Vytvořte pravidlo zabezpečení pomocí rutiny New-AzNetworkSecurityRuleConfig. Následující příklad vytvoří pravidlo, které umožňuje příchozí provoz z internetu do skupiny zabezpečení asg-web aplikací přes porty 80 a 443:
$webAsgParams = @{
Name = "asg-web"
ResourceGroupName = "test-rg"
}
$webAsg = Get-AzApplicationSecurityGroup @webAsgParams
$webRuleParams = @{
Name = "Allow-Web-All"
Access = "Allow"
Protocol = "Tcp"
Direction = "Inbound"
Priority = 100
SourceAddressPrefix = "Internet"
SourcePortRange = "*"
DestinationApplicationSecurityGroupId = $webAsg.id
DestinationPortRange = 80,443
}
$webRule = New-AzNetworkSecurityRuleConfig @webRuleParams
Následující příklad vytvoří pravidlo, které umožňuje příchozí provoz z internetu do skupiny zabezpečení aplikace asg-mgmt přes port 3389:
$mgmtAsgParams = @{
Name = "asg-mgmt"
ResourceGroupName = "test-rg"
}
$mgmtAsg = Get-AzApplicationSecurityGroup @mgmtAsgParams
$mgmtRuleParams = @{
Name = "Allow-RDP-All"
Access = "Allow"
Protocol = "Tcp"
Direction = "Inbound"
Priority = 110
SourceAddressPrefix = "Internet"
SourcePortRange = "*"
DestinationApplicationSecurityGroupId = $mgmtAsg.id
DestinationPortRange = 3389
}
$mgmtRule = New-AzNetworkSecurityRuleConfig @mgmtRuleParams
Pomocí rutiny Get-AzNetworkSecurityGroup načtěte existující skupinu zabezpečení sítě a pak přidejte nová pravidla s operátorem +=
. Nakonec aktualizujte skupinu zabezpečení sítě pomocí set-AzNetworkSecurityGroup:
# Retrieve the existing network security group
$nsg = Get-AzNetworkSecurityGroup -Name "nsg-1" -ResourceGroupName "test-rg"
# Add the new rules to the security group
$nsg.SecurityRules += $webRule
$nsg.SecurityRules += $mgmtRule
# Update the network security group with the new rules
Set-AzNetworkSecurityGroup -NetworkSecurityGroup $nsg
Upozornění
V tomto článku je protokol RDP (port 3389) vystavený internetu pro virtuální počítač, který je přiřazen skupině zabezpečení aplikace asg-mgmt .
V produkčních prostředích se místo vystavení portu 3389 na internetu doporučuje připojit se k prostředkům Azure, které chcete spravovat pomocí sítě VPN, privátního síťového připojení nebo služby Azure Bastion.
Další informace o službě Azure Bastion najdete v tématu Co je Azure Bastion?
Vytvořte pravidlo zabezpečení pomocí příkazu az network nsg rule create. Následující příklad vytvoří pravidlo, které umožňuje příchozí provoz z internetu do skupiny zabezpečení asg-web aplikací přes porty 80 a 443:
az network nsg rule create \
--resource-group test-rg \
--nsg-name nsg-1 \
--name Allow-Web-All \
--access Allow \
--protocol Tcp \
--direction Inbound \
--priority 100 \
--source-address-prefix Internet \
--source-port-range "*" \
--destination-asgs "asg-web" \
--destination-port-range 80 443
Následující příklad vytvoří pravidlo, které povoluje příchozí provoz z internetu do skupiny zabezpečení aplikace asg-mgmt přes port 22:
az network nsg rule create \
--resource-group test-rg \
--nsg-name nsg-1 \
--name Allow-SSH-All \
--access Allow \
--protocol Tcp \
--direction Inbound \
--priority 110 \
--source-address-prefix Internet \
--source-port-range "*" \
--destination-asgs "asg-mgmt" \
--destination-port-range 22
Upozornění
V tomto článku je SSH (port 22) vystavený internetu pro virtuální počítač, který je přiřazen skupině zabezpečení aplikace asg-mgmt .
V produkčních prostředích se místo vystavení portu 22 na internetu doporučuje připojit se k prostředkům Azure, které chcete spravovat pomocí sítě VPN, privátního síťového připojení nebo služby Azure Bastion.
Další informace o službě Azure Bastion najdete v tématu Co je Azure Bastion?
Ve virtuální síti vytvořte dva virtuální počítače.
Na portálu vyhledejte a vyberte Virtuální počítače.
Ve virtuálních počítačích vyberte + Vytvořit a pak virtuální počítač Azure.
V části Vytvořit virtuální počítač zadejte nebo vyberte tyto informace na kartě Základy :
Nastavení |
Hodnota |
Podrobnosti projektu |
|
Předplatné |
Vyberte své předplatné. |
Skupina prostředků |
Vyberte test-rg. |
Podrobnosti o instanci |
|
Virtual machine name |
Zadejte vm-web. |
Oblast |
Vyberte USA – východ 2. |
Možnosti dostupnosti |
Ponechte výchozí hodnotu Bez redundance infrastruktury. |
Typ zabezpečení |
Vyberte položku Standardní. |
Image |
Vyberte Windows Server 2022 Datacenter – x64 Gen2. |
Instance Azure Spot |
Ponechte výchozí nezaškrtnutou možnost. |
Velikost |
Vyberte velikost. |
Účet správce |
|
Username |
Zadejte uživatelské jméno. |
Heslo |
Zadejte heslo. |
Potvrdit heslo |
Zadejte znovu heslo. |
Pravidla portů pro příchozí spojení |
|
Vyberte příchozí porty |
Vyberte Žádná. |
Vyberte Další: Disky a další : Sítě.
Na kartě Sítě zadejte nebo vyberte následující informace:
Nastavení |
Hodnota |
Síťové rozhraní |
|
Virtuální síť |
Vyberte vnet-1. |
Podsíť |
Vyberte podsíť 1 (10.0.0.0/24). |
Veřejná IP adresa |
Ponechte výchozí hodnotu nové veřejné IP adresy. |
Skupina zabezpečení sítě síťových adaptérů |
Vyberte Žádná. |
Vyberte kartu Zkontrolovat a vytvořit nebo vyberte modré tlačítko Zkontrolovat a vytvořit v dolní části stránky.
Vyberte Vytvořit. Nasazení virtuálního počítače může trvat několik minut.
Opakováním předchozích kroků vytvořte druhý virtuální počítač s názvem vm-mgmt.
Před vytvořením virtuálních počítačů načtěte objekt virtuální sítě s podsítí pomocí rutiny Get-AzVirtualNetwork:
$virtualNetworkParams = @{
Name = "vnet-1"
ResourceGroupName = "test-rg"
}
$virtualNetwork = Get-AzVirtualNetwork @virtualNetworkParams
Vytvořte veřejnou IP adresu pro každý virtuální počítač pomocí Rutiny New-AzPublicIpAddress:
$publicIpWebParams = @{
AllocationMethod = "Static"
ResourceGroupName = "test-rg"
Location = "westus2"
Name = "public-ip-vm-web"
}
$publicIpWeb = New-AzPublicIpAddress @publicIpWebParams
$publicIpMgmtParams = @{
AllocationMethod = "Static"
ResourceGroupName = "test-rg"
Location = "westus2"
Name = "public-ip-vm-mgmt"
}
$publicIpMgmt = New-AzPublicIpAddress @publicIpMgmtParams
Vytvořte dvě síťová rozhraní pomocí New-AzNetworkInterface a přiřaďte k síťovému rozhraní veřejnou IP adresu. Následující příklad vytvoří síťové rozhraní, přidruží k ní veřejnou IP adresu public-ip-vm-web .
$webNicParams = @{
Location = "westus2"
Name = "vm-web-nic"
ResourceGroupName = "test-rg"
SubnetId = $virtualNetwork.Subnets[0].Id
PublicIpAddressId = $publicIpWeb.Id
}
$webNic = New-AzNetworkInterface @webNicParams
Následující příklad vytvoří síťové rozhraní, přidruží k němu veřejnou IP adresu public-ip-vm-mgmt .
$mgmtNicParams = @{
Location = "westus2"
Name = "vm-mgmt-nic"
ResourceGroupName = "test-rg"
SubnetId = $virtualNetwork.Subnets[0].Id
PublicIpAddressId = $publicIpMgmt.Id
}
$mgmtNic = New-AzNetworkInterface @mgmtNicParams
Vytvořte ve virtuální síti dva virtuální počítače, abyste v pozdějším kroku mohli ověřit filtrování provozu.
Vytvořte konfiguraci virtuálního počítače pomocí rutiny New-AzVMConfig a pak vytvořte virtuální počítač pomocí rutiny New-AzVM. Následující příklad vytvoří virtuální počítač, který slouží jako webový server. Pomocí možnosti -AsJob
se virtuální počítač vytvoří na pozadí, takže můžete pokračovat k dalšímu kroku:
# Create user object
$cred = Get-Credential -Message "Enter a username and password for the virtual machine."
$webVmConfigParams = @{
VMName = "vm-web"
VMSize = "Standard_DS1_V2"
}
$vmOSParams = @{
ComputerName = "vm-web"
Credential = $cred
}
$vmImageParams = @{
PublisherName = "MicrosoftWindowsServer"
Offer = "WindowsServer"
Skus = "2022-Datacenter"
Version = "latest"
}
$webVmConfig = New-AzVMConfig @webVmConfigParams | Set-AzVMOperatingSystem -Windows @vmOSParams | Set-AzVMSourceImage @vmImageParams | Add-AzVMNetworkInterface -Id $webNic.Id
$webVmParams = @{
ResourceGroupName = "test-rg"
Location = "westus2"
VM = $webVmConfig
}
New-AzVM @webVmParams -AsJob
Vytvořte virtuální počítač, který bude sloužit jako server pro správu:
# Create user object
$cred = Get-Credential -Message "Enter a username and password for the virtual machine."
$webVmConfigParams = @{
VMName = "vm-mgmt"
VMSize = "Standard_DS1_V2"
}
$vmOSParams = @{
ComputerName = "vm-mgmt"
Credential = $cred
}
$vmImageParams = @{
PublisherName = "MicrosoftWindowsServer"
Offer = "WindowsServer"
Skus = "2022-Datacenter"
Version = "latest"
}
$mgmtVmConfig = New-AzVMConfig @webVmConfigParams | Set-AzVMOperatingSystem -Windows @vmOSParams | Set-AzVMSourceImage @vmImageParams | Add-AzVMNetworkInterface -Id $mgmtNic.Id
$mgmtVmParams = @{
ResourceGroupName = "test-rg"
Location = "westus2"
VM = $mgmtVmConfig
}
New-AzVM @mgmtVmParams
Vytvoření virtuálního počítače trvá několik minut. Nepokračujte dalším krokem, dokud Azure nedokončí vytváření virtuálního počítače.
Vytvořte ve virtuální síti dva virtuální počítače, abyste v pozdějším kroku mohli ověřit filtrování provozu.
Vytvořte virtuální počítač pomocí příkazu az vm create. Následující příklad vytvoří virtuální počítač, který slouží jako webový server. Tato možnost je zadaná, --nsg ""
aby azure nemohla vytvořit výchozí skupinu zabezpečení sítě pro síťové rozhraní, které Azure vytvoří při vytváření virtuálního počítače. Příkaz vás vyzve k vytvoření hesla pro virtuální počítač. Klíče SSH se v tomto příkladu nepoužívají k usnadnění pozdějších kroků v tomto článku. V produkčním prostředí použijte klíče SSH pro zabezpečení.
az vm create \
--resource-group test-rg \
--name vm-web \
--image Ubuntu2204 \
--vnet-name vnet-1 \
--subnet subnet-1 \
--nsg "" \
--admin-username azureuser \
--authentication-type password \
--assign-identity
Vytvoření virtuálního počítače trvá několik minut. Po vytvoření virtuálního počítače se vrátí výstup podobný následujícímu příkladu:
{
"fqdns": "",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/vm-web",
"location": "westus2",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "203.0.113.24",
"resourceGroup": "test-rg"
}
Vytvořte virtuální počítač pomocí příkazu az vm create. Následující příklad vytvoří virtuální počítač, který slouží jako server pro správu.
Následující příklad vytvoří virtuální počítač a přidá uživatelský účet. Tento --generate-ssh-keys
parametr způsobí, že rozhraní příkazového řádku vyhledá dostupný klíč ssh v ~/.ssh
souboru . Pokud se najde, použije se tento klíč. Pokud ne, jeden se vygeneruje a uloží v ~/.ssh
. Nakonec nasadíme nejnovější Ubuntu 22.04
image.
az vm create \
--resource-group test-rg \
--name vm-mgmt \
--image Ubuntu2204 \
--vnet-name vnet-1 \
--subnet subnet-1 \
--nsg "" \
--admin-username azureuser \
--generate-ssh-keys \
--assign-identity
Vytvoření virtuálního počítače trvá několik minut. Nepokračujte dalším krokem, dokud Azure nedokončí vytváření virtuálního počítače.
Když jste vytvořili virtuální počítače, Azure pro každý virtuální počítač vytvořil síťové rozhraní a připojil ho k virtuálnímu počítači.
Přidejte síťové rozhraní každého virtuálního počítače do jedné ze skupin zabezpečení aplikací, které jste vytvořili dříve:
Do vyhledávacího pole v horní části portálu zadejte virtuální počítač. Ve výsledcích hledání vyberte Virtuální počítače a pak vyberte vm-web.
V části Sítě na webu vm-web vyberte skupiny zabezpečení aplikací.
Vyberte Přidat skupiny zabezpečení aplikace a pak na kartě Přidat skupiny zabezpečení aplikací vyberte asg-web. Nakonec vyberte Přidat.
Opakujte předchozí kroky pro vm-mgmt a vyberte asg-mgmt na kartě Přidat skupiny zabezpečení aplikace.
Pomocí rutiny Get-AzNetworkInterface načtěte síťové rozhraní virtuálního počítače a pak pomocí rutiny Get-AzApplicationSecurityGroup načtěte skupinu zabezpečení aplikace. Nakonec pomocí Set-AzNetworkInterface přidružte skupinu zabezpečení aplikace k síťovému rozhraní. Následující příklad přidruží skupinu zabezpečení aplikace asg-web k síťovému rozhraní vm-web-nic :
$params1 = @{
Name = "vm-web-nic"
ResourceGroupName = "test-rg"
}
$nic = Get-AzNetworkInterface @params1
$params2 = @{
Name = "asg-web"
ResourceGroupName = "test-rg"
}
$asg = Get-AzApplicationSecurityGroup @params2
$nic.IpConfigurations[0].ApplicationSecurityGroups = @($asg)
$params3 = @{
NetworkInterface = $nic
}
Set-AzNetworkInterface @params3
Opakováním příkazu přidružte skupinu zabezpečení aplikace asg-mgmt k síťovému rozhraní vm-mgmt-nic .
$params1 = @{
Name = "vm-mgmt-nic"
ResourceGroupName = "test-rg"
}
$nic = Get-AzNetworkInterface @params1
$params2 = @{
Name = "asg-mgmt"
ResourceGroupName = "test-rg"
}
$asg = Get-AzApplicationSecurityGroup @params2
$nic.IpConfigurations[0].ApplicationSecurityGroups = @($asg)
$params3 = @{
NetworkInterface = $nic
}
Set-AzNetworkInterface @params3
Pomocí příkazu az network nic update přidružte síťové rozhraní ke skupině zabezpečení aplikace. Následující příklad přidruží skupinu zabezpečení aplikace asg-web k síťovému rozhraní vm-web-nic :
# Retrieve the network interface name associated with the virtual machine
nic_name=$(az vm show --resource-group test-rg --name vm-web --query 'networkProfile.networkInterfaces[0].id' -o tsv | xargs basename)
# Associate the application security group with the network interface
az network nic ip-config update \
--name ipconfigvm-web \
--nic-name $nic_name \
--resource-group test-rg \
--application-security-groups asg-web
Opakováním příkazu přidružte skupinu zabezpečení aplikace asg-mgmt k síťovému rozhraní vm-mgmt-nic .
# Retrieve the network interface name associated with the virtual machine
nic_name=$(az vm show --resource-group test-rg --name vm-mgmt --query 'networkProfile.networkInterfaces[0].id' -o tsv | xargs basename)
# Associate the application security group with the network interface
az network nic ip-config update \
--name ipconfigvm-mgmt \
--nic-name $nic_name \
--resource-group test-rg \
--application-security-groups asg-mgmt
Do vyhledávacího pole v horní části portálu zadejte virtuální počítač. Ve výsledcích hledání vyberte virtuální počítače .
Vyberte vm-mgmt.
Na stránce Přehled vyberte tlačítko Připojit a pak vyberte Nativní protokol RDP.
Vyberte Stáhnout soubor RDP.
Otevřete stažený soubor RDP a vyberte Připojit. Zadejte uživatelské jméno a heslo, které jste zadali při vytváření virtuálního počítače.
Vyberte OK.
Během procesu připojení se může zobrazit upozornění na certifikát. Pokud se zobrazí upozornění, vyberte Ano nebo Pokračovat a pokračujte v připojení.
Připojení proběhne úspěšně, protože příchozí provoz z internetu do skupiny zabezpečení aplikace asg-mgmt je povolený přes port 3389.
Síťové rozhraní pro vm-mgmt je přidruženo ke skupině zabezpečení aplikace asg-mgmt a umožňuje připojení.
Otevřete relaci PowerShellu na vm-mgmt. Připojte se k webu virtuálního počítače pomocí následujícího příkazu:
mstsc /v:vm-web
Připojení RDP z vm-mgmt k webu virtuálního počítače proběhne úspěšně, protože virtuální počítače ve stejné síti můžou ve výchozím nastavení komunikovat přes libovolný port.
Nemůžete vytvořit připojení RDP k virtuálnímu počítači na webu virtuálního počítače z internetu. Pravidlo zabezpečení pro asg-web zabraňuje připojení k portu 3389 příchozímu z internetu. Příchozí provoz z internetu je ve výchozím nastavení odepřen všem prostředkům.
Pokud chcete na virtuální počítač virtuálního počítače s virtuálním počítačem nainstalovat službu Microsoft IIS, zadejte následující příkaz z relace PowerShellu na virtuálním počítači vm-web:
Install-WindowsFeature -name Web-Server -IncludeManagementTools
Po dokončení instalace služby IIS se odpojte od virtuálního počítače na webu virtuálního počítače, který vás opustí v připojení ke vzdálené ploše virtuálního počítače vm-mgmt .
Odpojte se od virtuálního počítače vm-mgmt .
Vyhledejte virtuální počítač na webu ve vyhledávacím poli portálu.
Na stránce Přehled webu virtuálního počítače si poznamenejte veřejnou IP adresu vašeho virtuálního počítače. Adresa zobrazená v následujícím příkladu je 203.0.113.103. Vaše adresa se liší:
Pokud chcete ověřit, že máte přístup k webovému serveru virtuálního počítače z internetu, otevřete na počítači internetový prohlížeč a přejděte na http://<public-ip-address-from-previous-step>
.
Zobrazí se výchozí stránka služby IIS, protože příchozí provoz z internetu do skupiny zabezpečení webové aplikace asg je povolený přes port 80.
Síťové rozhraní připojené k webu virtuálního počítače je přidružené ke skupině zabezpečení asg-web aplikací a umožňuje připojení.
Pomocí rutiny Get-AzPublicIpAddress vraťte veřejnou IP adresu virtuálního počítače. Následující příklad vrátí veřejnou IP adresu virtuálního počítače vm-mgmt :
$params = @{
Name = "public-ip-vm-mgmt"
ResourceGroupName = "test-rg"
}
$publicIP = Get-AzPublicIpAddress @params | Select IpAddress
Pomocí následujícího příkazu vytvořte relaci vzdálené plochy s virtuálním počítačem vm-mgmt z místního počítače.
mstsc /v:$publicIP
Zadejte uživatelské jméno a heslo, které jste zadali při vytváření virtuálního počítače (možná budete muset vybrat Další volby a pak použít jiný účet, abyste zadali přihlašovací údaje, které jste zadali při vytváření virtuálního počítače), a pak vyberte OK. Při přihlášení se může zobrazit upozornění na certifikát. Vyberte Ano a pokračujte v připojování.
Připojení proběhne úspěšně. Port 3389 je povolený pro příchozí komunikaci z internetu do skupiny zabezpečení aplikace asg-mgmt . Síťové rozhraní připojené k virtuálnímu počítači vm-mgmt je v této skupině.
Pomocí následujícího příkazu vytvořte připojení ke vzdálené ploše k virtuálnímu počítači vm-web z virtuálního počítače vm-mgmt pomocí následujícího příkazu z PowerShellu:
mstsc /v:vm-web
Připojení bude úspěšné, protože výchozí pravidlo zabezpečení v obou skupinách zabezpečení sítě povoluje provoz na všech portech mezi všemi IP adresami v rámci virtuální sítě. Nemůžete vytvořit připojení ke vzdálené ploše k virtuálnímu počítači na webu z internetu, protože pravidlo zabezpečení pro asg-web nepovoluje příchozí port 3389 z internetu.
Pomocí následujícího příkazu nainstalujte službu Microsoft IIS na virtuální počítač vm-web z PowerShellu:
Install-WindowsFeature -name Web-Server -IncludeManagementTools
Po dokončení instalace služby IIS se odpojte od virtuálního počítače s virtuálním počítačem, který vás opustí v připojení ke vzdálené ploše virtuálního počítače vm-mgmt . Pokud chcete zobrazit úvodní obrazovku služby IIS, otevřete internetový prohlížeč a přejděte na http://vm-web.
Odpojte se od virtuálního počítače vm-mgmt .
V počítači zadejte z PowerShellu následující příkaz, který načte veřejnou IP adresu webového serveru virtuálního počítače:
$params = @{
Name = "public-ip-vm-web"
ResourceGroupName = "test-rg"
}
Get-AzPublicIpAddress @params | Select IpAddress
Pokud chcete ověřit, že máte přístup k webovému serveru virtuálního počítače z prostředí mimo Azure, otevřete na počítači internetový prohlížeč a přejděte na http://<public-ip-address-from-previous-step>
. Připojení proběhne úspěšně. Port 80 je povolený pro příchozí spojení z internetu do skupiny zabezpečení asg-web aplikací. Síťové rozhraní připojené k virtuálnímu počítači vm-web je v této skupině.
Pomocí libovolného klienta SSH se připojte k dříve vytvořeným virtuálním počítačům. Například následující příkaz lze použít z rozhraní příkazového řádku, jako je například Subsystém Windows pro Linux k vytvoření relace SSH s virtuálním počítačem vm-mgmt. K virtuálním počítačům se můžete přihlásit pomocí přihlašovacích údajů Microsoft Entra ID nebo můžete použít klíč SSH, který jste použili k vytvoření virtuálních počítačů. V následujícím příkladu se pomocí klíče SSH přihlásíme k virtuálnímu počítači pro správu a pak se přihlásíme k webovému virtuálnímu počítači z virtuálního počítače pro správu pomocí hesla.
Další informace o připojení SSH k virtuálnímu počítači s Linuxem a přihlášení pomocí ID Microsoft Entra najdete v tématu Přihlášení k virtuálnímu počítači s Linuxem v Azure pomocí Microsoft Entra ID a OpenSSH.
Uložení IP adresy virtuálního počítače pro SSH
Spuštěním následujícího příkazu uložte IP adresu virtuálního počítače jako proměnnou prostředí:
export IP_ADDRESS=$(az vm show --show-details --resource-group test-rg --name vm-mgmt --query publicIps --output tsv)
ssh -o StrictHostKeyChecking=no azureuser@$IP_ADDRESS
Připojení proběhne úspěšně, protože síťové rozhraní připojené k virtuálnímu počítači vm-mgmt je ve skupině zabezpečení aplikace asg-mgmt , což umožňuje příchozí port 22 z internetu.
Pomocí následujícího příkazu připojte SSH k virtuálnímu počítači vm-web z virtuálního počítače vm-mgmt :
ssh -o StrictHostKeyChecking=no azureuser@vm-web
Připojení bude úspěšné, protože výchozí pravidlo zabezpečení v obou skupinách zabezpečení sítě povoluje provoz na všech portech mezi všemi IP adresami v rámci virtuální sítě. Z internetu nejde připojit přes SSH k virtuálnímu počítači na web , protože pravidlo zabezpečení pro asg-web nepovoluje příchozí port 22 z internetu.
Pomocí následujících příkazů nainstalujte webový server nginx na virtuální počítač vm-web :
# Update package source
sudo apt-get -y update
# Install NGINX
sudo apt-get -y install nginx
Virtuální počítač vm-web má povolený odchozí provoz na internet, aby načetl nginx, protože výchozí pravidlo zabezpečení umožňuje veškerý odchozí provoz do internetu. Ukončete relaci SSH webu virtuálního počítače, která vás nechá na příkazovém username@vm-mgmt:~$
řádku virtuálního počítače vm-mgmt . Pokud chcete načíst úvodní obrazovku nginx z virtuálního počítače vm-web , zadejte následující příkaz:
curl vm-web
Odhlaste se z virtuálního počítače vm-mgmt . Pokud chcete ověřit, že máte přístup k webovému serveru virtuálního počítače z prostředí mimo Azure, zadejte curl <publicIpAddress>
ho ze svého počítače. Připojení proběhne úspěšně, protože skupina zabezpečení webové aplikace asg, ve které je síťové rozhraní připojené k virtuálnímu počítači vm-web , umožňuje příchozí port 80 z internetu.
Provoz mezi podsítěmi směruje ve výchozím nastavení Azure. Místo toho se můžete rozhodnout směrovat provoz mezi podsítěmi přes virtuální počítač, který například slouží jako brána firewall.
Pokud chcete zjistit, jak vytvořit směrovací tabulku, pokračujte k dalšímu kurzu.