我正在尝试通过脚本在azure中将传入的UDP端口范围设置为16384-32768,这是行不通的。
是否有更简单的方法来完成此操作?
此端口范围是RTP流正常工作所需要的。
Powershell脚本也不起作用。
$i=16384
do
{ Get-AzureVM -ServiceName "vmname" -Name "vmname" | Add-AzureEndpoint -LocalPort $i -PublicPort $i -Name UDP$i -Protocol UDP | Update-AzureVM; echo $i; $i+=1}
until ($i -gt 32768 )
命令Get-AzureVM
用于检索Azure VM(经典)信息。查看the Azure Service Management Cmdlets的更多帮助主题。请参见有关VM(classic) and VM in Azure的区别。
对于与Azure资源管理一起部署的Azure VM,可以使用NSG保护Azure VM安全。有NIC级别或子网级别NSG。通常,NIC级别的NSG用于保护特定的VM。
这里是sample script,用于使用Azure PowerShell将传入的UDP端口范围16384-32768添加到NSG。
Login-AzAccount
Get-AzSubscription
Set-AzContext -SubscriptionId "yourSubscriptionID"
$RGname="your-resource-group-name"
$port="16384-32768"
$rulename="allowAppPort$port"
$nsgname="your-nsg-name"
# Get the NSG resource
$nsg = Get-AzNetworkSecurityGroup -Name $nsgname -ResourceGroupName $RGname
# Add the inbound security rule.
$nsg | Add-AzNetworkSecurityRuleConfig -Name $rulename -Description "Allow app port" -Access Allow `
-Protocol Udp -Direction Inbound -Priority 3891 -SourceAddressPrefix "*" -SourcePortRange * `
-DestinationAddressPrefix * -DestinationPortRange $port
# Update the NSG.
$nsg | Set-AzNetworkSecurityGroup
然后您可以将此NSG与子网关联。
$vnet = Get-AzVirtualNetwork -Name $vNetname -ResourceGroupName $RGname
$subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name subnetname
$nsg = Get-AzNetworkSecurityGroup -ResourceGroupName $RGname -Name $nsgname
$subnet.NetworkSecurityGroup = $nsg
Set-AzVirtualNetwork -VirtualNetwork $vnet
或将现有的NSG关联到NIC。
$nsg = Get-AzNetworkSecurityGroup -ResourceGroupName $RGname -Name $nsgname
$nic = Get-AzNetworkInterface -ResourceGroupName $RGname -Name TestNIC
$nic.NetworkSecurityGroup = $nsg
Set-AzNetworkInterface -NetworkInterface $nic
希望这可以帮助您。