Konfigurera en punkt-till-plats-anslutning till ett virtuellt nätverk med hjälp av RADIUS-autentisering: PowerShell

Den här artikeln visar hur du skapar ett virtuellt nätverk med en punkt-till-plats-anslutning (P2S) som använder RADIUS-autentisering. Den här konfigurationen är endast tillgänglig för Resource Manager-distributionsmodellen. Du kan skapa den här konfigurationen med Hjälp av PowerShell eller Azure-portalen.

Med en punkt-till-plats-VPN-gateway kan du skapa en säker anslutning till ditt virtuella nätverk från en enskild klientdator. P2S VPN-anslutningar är användbara när du vill ansluta till ditt virtuella nätverk från en fjärrplats, till exempel när du distansar hemifrån eller en konferens. Ett P2S VPN är också en användbar lösning att använda i stället för ett plats-till-plats-VPN när du bara har ett fåtal klienter som behöver ansluta till ett virtuellt nätverk.

En P2S VPN-anslutning startas från Windows- och Mac-enheter. Den här artikeln hjälper dig att konfigurera en P2S-konfiguration som använder en RADIUS-server för autentisering. Om du vill autentisera med en annan metod kan du läsa följande artiklar:

P2S-anslutningar kräver ingen VPN-enhet eller en offentlig IP-adress. P2S skapar VPN-anslutningen via antingen SSTP (Secure Socket Tunneling Protocol), OpenVPN eller IKEv2.

  • SSTP är en TLS-baserad VPN-tunnel som endast stöds på Windows-klientplattformar. Det kan tränga igenom brandväggar, vilket gör det till ett bra alternativ för att ansluta Windows-enheter till Azure var som helst. På serversidan stöder vi endast TLS version 1.2. För bättre prestanda, skalbarhet och säkerhet bör du överväga att använda OpenVPN-protokollet i stället.

  • OpenVPN® Protocol, ett SSL/TLS-baserat VPN-protokoll. En TLS VPN-lösning kan penetrera brandväggar eftersom de flesta brandväggar öppnar utgående TCP-port 443, som TLS använder. OpenVPN kan användas för att ansluta från Android, iOS (version 11.0 och senare), Windows-, Linux- och Mac-enheter (macOS-version 10.13 och senare).

  • IKEv2 VPN, en standardbaserad IPsec VPN-lösning. IKEv2 VPN kan användas för att ansluta från Windows-, Linux- och Mac-enheter (macOS-version 10.11 och senare).

För den här konfigurationen kräver anslutningar följande:

  • En RouteBased VPN gateway.
  • En RADIUS-server för att hantera användarautentisering. RADIUS-servern kan distribueras lokalt eller i det virtuella Azure-nätverket. Du kan också konfigurera två RADIUS-servrar för hög tillgänglighet.
  • Konfigurationspaketet för VPN-klientprofilen. Konfigurationspaketet för VPN-klientprofilen är ett paket som du genererar. Den innehåller de inställningar som krävs för att en VPN-klient ska kunna ansluta via P2S.

Om Active Directory -domänautentisering (AD) för P2S VPN

MED AD-domänautentisering kan användare logga in på Azure med sina autentiseringsuppgifter för organisationens domän. Det kräver en RADIUS-server som integreras med AD-servern. Organisationer kan också utnyttja sin befintliga RADIUS-distribution.

RADIUS-servern kan finnas lokalt eller i ditt virtuella Azure-nätverk. Under autentiseringen fungerar VPN-gatewayen som en genomströmning och vidarebefordrar autentiseringsmeddelanden fram och tillbaka mellan RADIUS-servern och den anslutande enheten. Det är viktigt att VPN-gatewayen kan nå RADIUS-servern. Om RADIUS-servern finns lokalt krävs en VPN-plats-till-plats-anslutning från Azure till den lokala platsen.

Förutom Active Directory kan en RADIUS-server också integreras med andra externa identitetssystem. Detta öppnar upp många autentiseringsalternativ för P2S VPN, inklusive MFA-alternativ. Kontrollera dokumentationen för RADIUS-serverns leverantör för att hämta listan över identitetssystem som den integrerar med.

Diagram of RADIUS authentication P2S connection.

Viktigt!

Endast en plats-till-plats-VPN-anslutning kan användas för att ansluta till en RADIUS-server lokalt. Det går inte att använda en ExpressRoute-anslutning.

Innan du börjar

Kontrollera att du har en Azure-prenumeration. Om du inte har någon Azure-prenumeration kan du aktivera dina MSDN-prenumerantförmåner eller registrera dig för ett kostnadsfritt konto.

Arbeta med Azure PowerShell

Den här artikeln använder PowerShell-cmdletar. Om du vill köra cmdletarna kan du använda Azure Cloud Shell. Cloud Shell är ett kostnadsfritt interaktivt gränssnitt som du kan använda för att köra stegen i den här artikeln. Den har vanliga Azure-verktyg förinstallerat och har konfigurerats för användning med ditt konto.

Öppna Cloud Shell genom att välja Öppna Cloudshell i det övre högra hörnet i ett kodblock. Du kan också öppna Cloud Shell på en separat webbläsarflik genom att gå till https://shell.azure.com/powershell. Välj Kopiera för att kopiera kodblocken, klistra in dem i Cloud Shell och välj returnyckeln för att köra dem.

Du kan också installera och köra Azure PowerShell-cmdletarna lokalt på datorn. PowerShell-cmdletar uppdateras ofta. Om du inte har installerat den senaste versionen kan de värden som anges i anvisningarna misslyckas. Om du vill hitta versionerna av Azure PowerShell installerade på datorn använder du cmdleten Get-Module -ListAvailable Az . Information om hur du installerar eller uppdaterar finns i Installera Azure PowerShell-modulen.

Exempelvärden

Du kan använda exempelvärdena för att skapa en testmiljö eller hänvisa till dem för att bättre förstå exemplen i den här artikeln. Du kan antingen se stegen som en genomgång och använda värdena utan att ändra dem, eller ändra dem så att de avspeglar din egen miljö.

  • Namn: VNet1
  • Adressutrymme: 10.1.0.0/16 och 10.254.0.0/16
    I det här exemplet används mer än ett adressutrymme för att illustrera att den här konfigurationen fungerar med flera adressutrymmen. Det krävs dock inte flera adressutrymmen för den här konfigurationen.
  • Undernätsnamn: FrontEnd
    • Adressintervall för undernät: 10.1.0.0/24
  • Undernätsnamn: BackEnd
    • Adressintervall för undernätet: 10.254.1.0/24
  • Undernätsnamn: GatewaySubnet
    Undernätsnamnet GatewaySubnet är obligatoriskt för att VPN-gatewayen ska fungera.
    • GatewaySubnet-adressintervall: 10.1.255.0/27
  • VPN-klientadresspool: 172.16.201.0/24
    VPN-klienter som ansluter till det virtuella nätverket med den här P2S-anslutningen får en IP-adress från VPN-klientadresspoolen.
  • Prenumeration: Om du har fler än en prenumeration kontrollerar du att du använder rätt prenumeration.
  • Resursgrupp: TestRG1
  • Plats: USA, östra
  • DNS-server: IP-adressen för den DNS-server som du vill använda för namnmatchning för ditt virtuella nätverk. (valfritt)
  • GW-namn: Vnet1GW
  • Offentligt IP-namn: VNet1GWPIP
  • VPNType: RouteBased

1. Ange variablerna

Deklarera de variabler som du vill använda. Använd följande exempel och ersätt värdena med dina egna om det behövs. Om du stänger PowerShell/Cloud Shell-sessionen när som helst under övningen kopierar du och klistrar in värdena igen för att omdeklarera variablerna.

$VNetName  = "VNet1"
$FESubName = "FrontEnd"
$BESubName = "Backend"
$GWSubName = "GatewaySubnet"
$VNetPrefix1 = "10.1.0.0/16"
$VNetPrefix2 = "10.254.0.0/16"
$FESubPrefix = "10.1.0.0/24"
$BESubPrefix = "10.254.1.0/24"
$GWSubPrefix = "10.1.255.0/27"
$VPNClientAddressPool = "172.16.201.0/24"
$RG = "TestRG1"
$Location = "East US"
$GWName = "VNet1GW"
$GWIPName = "VNet1GWPIP"
$GWIPconfName = "gwipconf1"

2. Skapa resursgruppen, det virtuella nätverket och den offentliga IP-adressen

Följande steg skapar en resursgrupp och ett virtuellt nätverk i resursgruppen med tre undernät. När du ersätter värden är det viktigt att du alltid namnger gatewayundernätet specifikt "GatewaySubnet". Om du ger den ett annat namn misslyckas gatewayens skapande.

  1. Skapa en resursgrupp.

    New-AzResourceGroup -Name "TestRG1" -Location "East US"
    
  2. Skapa undernätskonfigurationerna för det virtuella nätverket och ge dem namnen FrontEnd, BackEnd och GatewaySubnet. Dessa prefix måste vara en del av VNet-adressutrymmet som du deklarerade.

    $fesub = New-AzVirtualNetworkSubnetConfig -Name "FrontEnd" -AddressPrefix "10.1.0.0/24"  
    $besub = New-AzVirtualNetworkSubnetConfig -Name "Backend" -AddressPrefix "10.254.1.0/24"  
    $gwsub = New-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -AddressPrefix "10.1.255.0/27"
    
  3. Skapa det virtuella nätverket.

    I det här exemplet är serverparametern -DnsServer valfri. Om du anger ett värde skapas ingen ny DNS-server. DEN DNS-server-IP-adress som du anger ska vara en DNS-server som kan matcha namnen på de resurser som du ansluter till från ditt virtuella nätverk. I det här exemplet använde vi en privat IP-adress, men det är troligt att detta inte är IP-adressen för din DNS-server. Använd dina egna värden. Värdet som du anger används av de resurser som du distribuerar till det virtuella nätverket, inte av P2S-anslutningen.

    New-AzVirtualNetwork -Name "VNet1" -ResourceGroupName "TestRG1" -Location "East US" -AddressPrefix "10.1.0.0/16","10.254.0.0/16" -Subnet $fesub, $besub, $gwsub -DnsServer 10.2.1.3
    
  4. En VPN-gateway måste ha en offentlig IP-adress. Först begär du IP-adressresursen och sedan hänvisar du till den när du skapar din virtuella nätverksgateway. IP-adressen tilldelas dynamiskt till resursen när en VPN-gateway har skapats. VPN Gateway stöder för närvarande endast dynamisk offentlig IP-adressallokering. Du kan inte begära en statisk offentlig IP-adresstilldelning. Detta innebär dock inte att IP-adressen ändras när den har tilldelats till din VPN-gateway. Den enda gången den offentliga IP-adressen ändras är när gatewayen tas bort och återskapas. Den ändras inte vid storleksändring, återställning eller annat internt underhåll/uppgraderingar av din VPN-gateway.

    Ange variablerna för att begära en dynamiskt tilldelad offentlig IP-adress.

    $vnet = Get-AzVirtualNetwork -Name "VNet1" -ResourceGroupName "TestRG1"  
    $subnet = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet 
    $pip = New-AzPublicIpAddress -Name "VNet1GWPIP" -ResourceGroupName "TestRG1" -Location "East US" -AllocationMethod Dynamic 
    $ipconf = New-AzVirtualNetworkGatewayIpConfig -Name "gwipconf1" -Subnet $subnet -PublicIpAddress $pip
    

3. Konfigurera RADIUS-servern

Innan du skapar och konfigurerar den virtuella nätverksgatewayen bör RADIUS-servern konfigureras korrekt för autentisering.

  1. Om du inte har någon RADIUS-server distribuerad distribuerar du en. Information om distributionssteg finns i installationsguiden som tillhandahålls av RADIUS-leverantören.  
  2. Konfigurera VPN-gatewayen som en RADIUS-klient på RADIUS. När du lägger till den här RADIUS-klienten anger du det virtuella nätverket GatewaySubnet som du skapade.
  3. När RADIUS-servern har konfigurerats hämtar du RADIUS-serverns IP-adress och den delade hemlighet som RADIUS-klienter ska använda för att kommunicera med RADIUS-servern. Om RADIUS-servern finns i det virtuella Azure-nätverket använder du CA-IP-adressen för den virtuella RADIUS-servern.

Artikeln Nätverksprincipserver (NPS) innehåller vägledning om hur du konfigurerar en Windows RADIUS-server (NPS) för AD-domänautentisering.

4. Skapa VPN-gatewayen

Konfigurera och skapa VPN-gatewayen för ditt virtuella nätverk.

  • -GatewayType måste vara "VPN" och -VpnType måste vara "RouteBased".
  • Det kan ta 45 minuter eller mer att slutföra en VPN-gateway, beroende på vilken gateway-SKU du väljer.
New-AzVirtualNetworkGateway -Name $GWName -ResourceGroupName $RG `
-Location $Location -IpConfigurations $ipconf -GatewayType Vpn `
-VpnType RouteBased -EnableBgp $false -GatewaySku VpnGw1

5. Lägg till RADIUS-servern och klientadresspoolen

  • -RadiusServer kan anges med namn eller IP-adress. Om du anger namnet och servern finns lokalt kanske VPN-gatewayen inte kan matcha namnet. Om så är fallet är det bättre att ange serverns IP-adress.
  • RadiusSecret ska matcha det som har konfigurerats på RADIUS-servern.
  • -VpnClientAddressPool är det intervall från vilket de anslutande VPN-klienterna får en IP-adress. Använd ett privat IP-adressintervall som inte överlappar den lokala plats som du ska ansluta från eller med det virtuella nätverk som du vill ansluta till. Kontrollera att du har en tillräckligt stor adresspool konfigurerad.  
  1. Skapa en säker sträng för RADIUS-hemligheten.

    $Secure_Secret=Read-Host -AsSecureString -Prompt "RadiusSecret"
    
  2. Du uppmanas att ange RADIUS-hemligheten. De tecken som du anger visas inte och ersätts i stället med tecknet "*".

    RadiusSecret:***
    
  3. Lägg till VPN-klientadresspoolen och RADIUS-serverinformationen.

    För SSTP-konfigurationer:

    $Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName $RG -Name $GWName
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway `
    -VpnClientAddressPool "172.16.201.0/24" -VpnClientProtocol "SSTP" `
    -RadiusServerAddress "10.51.0.15" -RadiusServerSecret $Secure_Secret
    

    För OpenVPN-konfigurationer®:

    $Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName $RG -Name $GWName
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway -VpnClientRootCertificates @()
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway `
    -VpnClientAddressPool "172.16.201.0/24" -VpnClientProtocol "OpenVPN" `
    -RadiusServerAddress "10.51.0.15" -RadiusServerSecret $Secure_Secret
    

    För IKEv2-konfigurationer:

    $Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName $RG -Name $GWName
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway `
    -VpnClientAddressPool "172.16.201.0/24" -VpnClientProtocol "IKEv2" `
    -RadiusServerAddress "10.51.0.15" -RadiusServerSecret $Secure_Secret
    

    För SSTP + IKEv2:

    $Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName $RG -Name $GWName
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway `
    -VpnClientAddressPool "172.16.201.0/24" -VpnClientProtocol @( "SSTP", "IkeV2" ) `
    -RadiusServerAddress "10.51.0.15" -RadiusServerSecret $Secure_Secret
    

    Om du vill ange två RADIUS-servrar använder du följande syntax. Ändra värdet -VpnClientProtocol efter behov.

    $radiusServer1 = New-AzRadiusServer -RadiusServerAddress 10.1.0.15 -RadiusServerSecret $radiuspd -RadiusServerScore 30
    $radiusServer2 = New-AzRadiusServer -RadiusServerAddress 10.1.0.16 -RadiusServerSecret $radiuspd -RadiusServerScore 1
    
    $radiusServers = @( $radiusServer1, $radiusServer2 )
    
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $actual -VpnClientAddressPool 201.169.0.0/16 -VpnClientProtocol "IkeV2" -RadiusServerList $radiusServers
    

6. Konfigurera VPN-klienten och anslut

Konfigurationspaketen för VPN-klientprofilen innehåller de inställningar som hjälper dig att konfigurera VPN-klientprofiler för en anslutning till det virtuella Azure-nätverket.

Information om hur du genererar ett VPN-klientkonfigurationspaket och konfigurerar en VPN-klient finns i någon av följande artiklar:

När du har konfigurerat VPN-klienten ansluter du till Azure.

Så här verifierar du anslutningen

  1. Verifiera att VPN-anslutningen är aktiv genom att öppna en upphöjd kommandotolk och köra ipconfig/all.

  2. Granska resultaten. Observera att IP-adressen du fick är en av adresserna i P2S VPN-klientadresspoolen som du angav i konfigurationen. Resultatet är ungefär som i det här exemplet:

    PPP adapter VNet1:
       Connection-specific DNS Suffix .:
       Description.....................: VNet1
       Physical Address................:
       DHCP Enabled....................: No
       Autoconfiguration Enabled.......: Yes
       IPv4 Address....................: 172.16.201.3(Preferred)
       Subnet Mask.....................: 255.255.255.255
       Default Gateway.................:
       NetBIOS over Tcpip..............: Enabled
    

Information om hur du felsöker en P2S-anslutning finns i Felsöka punkt-till-plats-anslutningar i Azure.

Ansluta till en virtuell dator

Du kan ansluta till en virtuell dator som distribueras till ditt virtuella nätverk genom att skapa en fjärrskrivbords-Anslut ion till den virtuella datorn. Det bästa sättet att först kontrollera att du kan ansluta till den virtuella datorn är att ansluta via dess privata IP-adress snarare än datornamnet. På så sätt testar du om du kan ansluta, inte huruvida namnmatchningen är korrekt konfigurerad.

  1. Leta upp den privata IP-adressen. Du hittar den privata IP-adressen för en virtuell dator genom att antingen titta på egenskaperna för den virtuella datorn i Azure-portalen eller med hjälp av PowerShell.

    • Azure-portalen: Leta upp den virtuella datorn i Azure-portalen. Visa egenskaperna för den virtuella datorn. Den privata IP-adressen är angiven.

    • PowerShell: Använd exemplet för att visa en lista över virtuella datorer och privata IP-adresser från dina resursgrupper. Du behöver inte ändra exemplet innan du använder det.

      $VMs = Get-AzVM
      $Nics = Get-AzNetworkInterface | Where-Object VirtualMachine -ne $null
      
      foreach ($Nic in $Nics) {
      $VM = $VMs | Where-Object -Property Id -eq $Nic.VirtualMachine.Id
      $Prv = $Nic.IpConfigurations | Select-Object -ExpandProperty PrivateIpAddress
      $Alloc = $Nic.IpConfigurations | Select-Object -ExpandProperty PrivateIpAllocationMethod
      Write-Output "$($VM.Name): $Prv,$Alloc"
      }
      
  2. Kontrollera att du är ansluten till ditt virtuella nätverk.

  3. Öppna Fjärrskrivbord Anslut ion genom att ange RDP eller Fjärrskrivbord Anslut ion i sökrutan i aktivitetsfältet. Välj sedan Fjärrskrivbord Anslut ion. Du kan också öppna Fjärrskrivbord Anslut ion med hjälp mstsc av kommandot i PowerShell.

  4. I fjärrskrivbordsanslutningen anger du den virtuella datorns privata IP-adress. Du kan välja Visa alternativ för att justera andra inställningar och sedan ansluta.

Om du har problem med att ansluta till en virtuell dator via VPN-anslutningen kontrollerar du följande punkter:

  • Kontrollera att VPN-anslutningen har genomförts.
  • Kontrollera att du ansluter till den virtuella datorns privata IP-adress.
  • Om du kan ansluta till den virtuella datorn med hjälp av den privata IP-adressen men inte datornamnet kontrollerar du att du har konfigurerat DNS korrekt. Mer information om hur namnmatchning fungerar för virtuella datorer finns i Namnmatchning för virtuella datorer.

Mer information finns i Felsöka fjärrskrivbordsanslutningar till en virtuell dator.

  • Kontrollera att paketet för VPN-klientkonfiguration har skapats efter att IP-adresser för DNS-server har angetts för VNet. Om du uppdaterade IP-adresserna för DNS-servern skapar och installerar du ett nytt paket för VPN-klientkonfiguration.

  • Använd "ipconfig" för att kontrollera den IPv4-adress som tilldelats Ethernet-adaptern på datorn som du ansluter från. Om IP-adressen ligger inom adressintervallet för det virtuella nätverk som du ansluter till, eller inom adressintervallet för vpnClientAddressPool, kallas detta för ett överlappande adressutrymme. När ditt adressutrymme överlappar på det här sättet når inte nätverkstrafiken Azure, utan stannar i det lokala nätverket.

Vanliga frågor

Information om vanliga frågor och svar finns i avsnittet Punkt-till-plats – RADIUS-autentisering i vanliga frågor och svar.

Nästa steg

När anslutningen är klar kan du lägga till virtuella datorer till dina virtuella nätverk. Mer information finns i Virtuella datorer. Mer information om virtuella datorer och nätverk finns i Azure and Linux VM network overview (Översikt över nätverk för virtuella Azure- och Linux-datorer).