Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #### Parameters
- $ResourceGroup = "myResourceGroup" ### Name of your Resource Group
- $Location = "myLocation" ### Resource Location example, westeurope
- $VirtualNetworkName = "newAzureLan" ### Name of new Azure Virtual Network
- $VirtualGatewayName = "newAzureGateway" ### Name of new Azure Virtual Gateway
- $LocalGatewayName = "newLocalGateway" ### Name of new Azure Local Gateway
- $SubnetName = "newAzureSubnet" ### Name of new Azure Subnet
- $Sharedkey = "key01" ### Preshared key for VPN
- $InternalPrefix = 'myPrefix' ### Internal Network Prefix example, 192.168.0.0/24
- $AddressPrefix = 'newPrefix' ### New Address prefix for Azure virtual network example, 10.4.0.0/16
- $Subnet = 'newSubnet' ### New Subnet for new Azure virtual network example, 10.4.0.0/24
- $DNSServer = "myDNSServer" ### IP address of DNS Server internal or Azure example, 192.168.0.1
- $GatewaySubnet = 'newGatewaySubnet' ### Gateway Subnet for virtual gateway example, 10.4.1.0/24
- $VPNConnectionName = "newConnection" ### New VPN Connection name example, VPNConnection
- #### Import Azure PowerShell Module
- Import-Module -Name AzureRM
- #### Connect to Azure Tenant
- Write-host "Please enter your Azure Tenant credentails"
- $Azurecred = Get-Credential
- Connect-AzureRmAccount -Credential $Azurecred
- #### Create Azure Virtual Network
- $AzureSubnet = New-AzureRmVirtualNetworkSubnetConfig -name $SubnetName -AddressPrefix $subnet
- New-AzureRmVirtualNetwork -Name $VirtualNetworkName -ResourceGroupName $ResourceGroup -Location $location -AddressPrefix $AddressPrefix -Subnet $Azuresubnet -DnsServer $DNSServer
- #### Create Azure Virtual Network Gateway
- $PublicIP = New-AzureRmPublicIpAddress -name GWIP -ResourceGroupName $ResourceGroup -Location $Location -AllocationMethod Dynamic
- $VirtualNetwork = Get-AzureRmVirtualNetwork -Name $VirtualNetworkName -ResourceGroupName $ResourceGroup
- $GatewaySubnetConfig = Add-AzureRmVirtualNetworkSubnetConfig -Name GatewaySubnet -AddressPrefix $GatewaySubnet -VirtualNetwork $VirtualNetwork | Set-AzureRmVirtualNetwork
- $VirtualNetwork = Get-AzureRmVirtualNetwork -Name $VirtualNetworkName -ResourceGroupName $ResourceGroup
- $GatewaySubnetIP = Get-AzureRmVirtualNetworkSubnetConfig -name GatewaySubnet -VirtualNetwork $VirtualNetwork
- $GatewayIPConfig = New-AzureRMVirtualNetworkGatewayIpConfig -Name GatewaySubnet -SubnetId $GatewaySubnetIP.id -PublicIpAddressId $PublicIP.Id
- New-AzureRmVirtualNetworkGateway -Name $VirtualGatewayName -ResourceGroupName $ResourceGroup -Location $Location -ipconfiguration $GatewayIPConfig -GatewayType Vpn -VpnType PolicyBased -GatewaySku Basic
- #### Create Azure Local Network Gateway
- $ExternalIP = Invoke-RestMethod http://ipinfo.io/json | Select -exp ip
- New-AzureRmLocalNetworkGateway -Name $LocalGatewayName -ResourceGroupName $ResourceGroup -Location $location -GatewayIpAddress $ExternalIP -AddressPrefix $InternalPrefix
- #### Create Azure VPN Connection
- $VirtualGateway = Get-AzureRmVirtualNetworkGateway -Name $VirtualGatewayName -ResourceGroupName $ResourceGroup
- $localGateway = Get-AzureRmLocalNetworkGateway -Name $LocalGatewayName -ResourceGroupName $ResourceGroup
- New-AzureRmVirtualNetworkGatewayConnection -Name $VPNConnectionName -ResourceGroupName $ResourceGroup -Location $Location -VirtualNetworkGateway1 $VirtualGateway -LocalNetworkGateway2 $LocalGateway -ConnectionType IPsec -RoutingWeight 10 -SharedKey $Sharedkey
- ### Show VPN info
- $PublicIPAddress = Get-AzureRmPublicIpAddress -Name GWIP -ResourceGroupName $ResourceGroup
- Write-host "Azure VPN IP Address is "$PublicIPAddress.IpAddress" and the shared key is $Sharedkey"
Advertisement
Add Comment
Please, Sign In to add comment