管理 NAT 閘道
本文內容
瞭解如何從虛擬網路子網建立和移除NAT閘道資源。 NAT 閘道會啟用 Azure 虛擬網絡 中資源的輸出連線能力。 您可以在部署後變更與 NAT 閘道相關聯的公用IP位址和公用IP位址前綴。
本文說明如何管理 NAT 閘道的下列層面:
必要條件
若要針對本文使用 Azure PowerShell,您需要:
Azure PowerShell 安裝在本機或 Azure Cloud Shell。
如果您選擇在本機安裝和使用 PowerShell,本文需要 Azure PowerShell 模組 5.4.1 版或更新版本。 執行 Get-Module -ListAvailable Az
以尋找安裝的版本。 如果您需要升級,請參閱安裝 Azure PowerShell 模組 。
如果您在本機執行 PowerShell,您也需要執行 Connect-AzAccount
以建立與 Azure 的連線。
請確定您的 Az.Network
模組為 4.3.0 或更新版本。 若要確認已安裝的模組,請使用 命令 Get-InstalledModule -Name "Az.Network"
。 如果模組需要更新,請使用 命令 Update-Module -Name Az.Network
。
登入 Azure PowerShell,然後選取您想要使用的訂用帳戶。 如需詳細資訊,請參閱 使用 Azure PowerShell 登入。
若要針對本文使用 Azure CLI,您需要:
Azure CLI 2.31.0 版或更新版本。 Azure Cloud Shell 使用最新版本。
建立 NAT 閘道並將它與現有的子網產生關聯
您可以使用 Azure 入口網站、Azure PowerShell、Azure CLI 或 Bicep 來建立 NAT 閘道資源,並將其新增至現有的子網。
登入 Azure 入口網站 。
在 Azure 入口網站 頂端的搜尋方塊中,輸入NAT閘道 。 在搜尋結果中選取 NAT 閘道 。
選取 建立 。
在 [建立網络位址轉換 (NAT) 閘道] 的 [基本] 索引標籤中 輸入下列資訊。
選取您的訂用 帳戶 。
選取您的資源群組,或選取 [ 新建 ] 以建立新的資源群組。
NAT 閘道名稱 。 輸入 myNATgateway 。
選取您的區域 。 此範例使用 美國東部 2 。
選取可用性區域 。 此範例使用 無區域 。 如需 NAT 閘道可用性的詳細資訊,請參閱 NAT 閘道和可用性區域 。 |
選取 TCP 閒置逾時 (分鐘) 。 此範例使用預設值 4 。
選取 [ 輸出 IP] 索引標籤,或選取 [ 下一步:輸出 IP ]。
您可以選取現有的公用IP位址或前置詞,或兩者都與NAT閘道產生關聯,並啟用輸出連線。
選取 [子網] 索引卷標,或選取 [下一步:子網 ]。
選取您的虛擬網路。 在此範例中,選取 下拉式清單中的 myVNet 。
選取 mySubnet 旁的 複選框。
選取 [檢閱 + 建立 ]。
選取 建立 。
公用 IP 位址
若要建立具有公用IP位址的NAT閘道,請執行下列PowerShell命令。
使用 New-AzPublicIpAddress Cmdlet 來建立 NAT 閘道的公用 IP 位址。
## Create public IP address for NAT gateway ##
$ip = @{
Name = 'myPublicIP-NAT'
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
Sku = 'Standard'
AllocationMethod = 'Static'
}
New-AzPublicIpAddress @ip
使用 New-AzNatGateway Cmdlet 來建立 NAT 閘道資源,並將您建立的公用 IP 位址產生關聯。 使用 Set-AzVirtualNetworkSubnetConfig Cmdlet 來設定虛擬網路子網的 NAT 閘道。
## Place the virtual network into a variable. ##
$net = @{
Name = 'myVNet'
ResourceGroupName = 'myResourceGroup'
}
$vnet = Get-AzVirtualNetwork @net
## Place the public IP address you created previously into a variable. ##
$pip = @{
Name = 'myPublicIP-NAT'
ResourceGroupName = 'myResourceGroup'
}
$publicIP = Get-AzPublicIPAddress @pip
## Create NAT gateway resource ##
$nat = @{
ResourceGroupName = 'myResourceGroupNAT'
Name = 'myNATgateway'
IdleTimeoutInMinutes = '10'
Sku = 'Standard'
Location = 'eastus2'
PublicIpAddress = $publicIP
}
$natGateway = New-AzNatGateway @nat
## Create the subnet configuration. ##
$sub = @{
Name = 'mySubnet'
VirtualNetwork = $vnet
NatGateway = $natGateway
AddressPrefix = '10.0.2.0/24'
}
Set-AzVirtualNetworkSubnetConfig @sub
## Save the configuration to the virtual network. ##
$vnet | Set-AzVirtualNetwork
公用 IP 首碼
若要建立具有公用IP前置詞的NAT閘道,請使用這些命令。
使用 New-AzPublicIpPrefix Cmdlet 來建立 NAT 閘道的公用 IP 前置綴。
## Create public IP prefix for NAT gateway ##
$ip = @{
Name = 'myPublicIPPrefix-NAT'
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
Sku = 'Standard'
PrefixLength ='29'
}
New-AzPublicIpPrefix @ip
使用 New-AzNatGateway Cmdlet 來建立 NAT 閘道資源,並將您建立的公用 IP 前綴產生關聯。 使用 Set-AzVirtualNetworkSubnetConfig Cmdlet 來設定虛擬網路子網的 NAT 閘道。
## Place the virtual network into a variable. ##
$net = @{
Name = 'myVNet'
ResourceGroupName = 'myResourceGroup'
}
$vnet = Get-AzVirtualNetwork @net
## Place the public IP prefix you created previously into a variable. ##
$pip = @{
Name = 'myPublicIPPrefix-NAT'
ResourceGroupName = 'myResourceGroup'
}
$publicIPprefix = Get-AzPublicIPPrefix @pip
## Create NAT gateway resource ##
$nat = @{
ResourceGroupName = 'myResourceGroupNAT'
Name = 'myNATgateway'
IdleTimeoutInMinutes = '10'
Sku = 'Standard'
Location = 'eastus2'
PublicIpPrefix = $publicIPprefix
}
$natGateway = New-AzNatGateway @nat
## Create the subnet configuration. ##
$sub = @{
Name = 'mySubnet'
VirtualNetwork = $vnet
NatGateway = $natGateway
}
Set-AzVirtualNetworkSubnetConfig @sub
## Save the configuration to the virtual network. ##
$vnet | Set-AzVirtualNetwork
公用 IP 位址
若要建立具有公用IP位址的NAT閘道,請使用下列命令。
使用 az network public-ip create 建立 NAT 閘道的公用 IP 位址。
az network public-ip create \
--resource-group myResourceGroup \
--location eastus2 \
--name myPublicIP-NAT \
--sku standard
使用 az network nat gateway create 建立 NAT 閘道資源,並將您所建立的公用IP位址產生關聯。
az network nat gateway create \
--resource-group myResourceGroup \
--name myNATgateway \
--public-ip-addresses myPublicIP-NAT \
--idle-timeout 10
使用 az network vnet subnet update 將 NAT 閘道與您的虛擬網路子網產生關聯。
az network vnet subnet update \
--resource-group myResourceGroup \
--vnet-name myVNet \
--name mySubnet \
--nat-gateway myNATgateway
公用 IP 首碼
若要建立具有公用IP前置詞的NAT閘道,請使用下列命令。
使用 az network public-ip prefix create 建立 NAT 閘道的公用 IP 前綴。
az network public-ip prefix create \
--length 29 \
--resource-group myResourceGroup \
--location eastus2 \
--name myPublicIPprefix-NAT
使用 az network nat gateway create 建立 NAT 閘道資源,並將您建立的公用IP前置詞產生關聯。
az network nat gateway create \
--resource-group myResourceGroup \
--name myNATgateway \
--public-ip-prefixes myPublicIPprefix-NAT \
--idle-timeout 10
使用 az network vnet subnet update 將 NAT 閘道與您的虛擬網路子網產生關聯。
az network vnet subnet update \
--resource-group myResourceGroup \
--vnet-name myVNet \
--name mySubnet \
--nat-gateway myNATgateway
@description('Name of the NAT gateway')
param natgatewayname string = 'nat-gateway'
@description('Name of the NAT gateway public IP')
param publicipname string = 'public-ip-nat'
@description('Name of resource group')
param location string = resourceGroup().location
var existingVNetName = 'vnet-1'
var existingSubnetName = 'subnet-1'
resource vnet 'Microsoft.Network/virtualNetworks@2023-05-01' existing = {
name: existingVNetName
}
output vnetid string = vnet.id
resource publicip 'Microsoft.Network/publicIPAddresses@2023-06-01' = {
name: publicipname
location: location
sku: {
name: 'Standard'
}
properties: {
publicIPAddressVersion: 'IPv4'
publicIPAllocationMethod: 'Static'
idleTimeoutInMinutes: 4
}
}
resource natgateway 'Microsoft.Network/natGateways@2023-06-01' = {
name: natgatewayname
location: location
sku: {
name: 'Standard'
}
properties: {
idleTimeoutInMinutes: 4
publicIpAddresses: [
{
id: publicip.id
}
]
}
}
output natgatewayid string = natgateway.id
resource updatedsubnet01 'Microsoft.Network/virtualNetworks/subnets@2023-06-01' = {
parent: vnet
name: existingSubnetName
properties: {
addressPrefix: vnet.properties.subnets[0].properties.addressPrefix
natGateway: {
id: natgateway.id
}
}
}
從現有的子網移除 NAT 閘道,並刪除資源
若要從現有的子網移除 NAT 閘道,請完成下列步驟。
登入 Azure 入口網站 。
在 Azure 入口網站 頂端的搜尋方塊中,輸入NAT閘道 。 在搜尋結果中選取 NAT 閘道 。
選取 myNATgateway 。
在 [設定] 下,選取 [子網路]。
選取 [解除關聯 ] 以從設定的子網中移除 NAT 閘道。
您現在可以將 NAT 閘道與訂用帳戶中的不同子網或虛擬網路產生關聯。 若要刪除 NAT 閘道資源,請完成下列步驟。
在 Azure 入口網站 頂端的搜尋方塊中,輸入NAT閘道 。 在搜尋結果中選取 NAT 閘道 。
選取 myNATgateway 。
選取刪除 。
選取 [是] 。
目前不支援使用 Azure PowerShell 從子網移除 NAT 閘道。
使用 az network vnet subnet update 從子網中移除 NAT 閘道。
az network vnet subnet update \
--resource-group myResourceGroup \
--vnet-name myVNet \
--name mySubnet \
--remove natGateway
使用 az network nat gateway delete 刪除 NAT 閘道資源。
az network nat gateway delete \
--name myNATgateway \
--resource-group myResourceGroup
使用 Azure 入口網站、Azure PowerShell 或 Azure CLI 從子網移除 NAT 閘道,並刪除資源。
注意
當您刪除 NAT 閘道時,不會刪除與其相關聯的公用 IP 位址或前置詞。
新增或移除公用IP位址
完成下列步驟,從 NAT 閘道新增或移除公用 IP 位址。
登入 Azure 入口網站 。
在 Azure 入口網站 頂端的搜尋方塊中,輸入公用IP位址 。 在搜尋結果中選取 [公用IP 位址 ]。
選取 建立 。
在 [建立公用IP 位址] 中 輸入下列資訊。
設定
值
訂用帳戶
選取您的訂用帳戶。
資源群組
選取您的資源群組。 此範例使用 myResourceGroup 。
區域
選取區域。 此範例使用 美國東部 2 。
名稱
輸入 myPublicIP-NAT2 。
IP 版本
選取 [IPv4] 。
SKU
選取 [標準]。
可用性區域
選取區域備援的 預設值。
層
選取 [ 區域 ]。
選取 [檢閱 + 建立] ,然後選取 [建立] 。
在 Azure 入口網站 頂端的搜尋方塊中,輸入NAT閘道 。 在搜尋結果中選取 NAT 閘道 。
選取 myNATgateway 。
在 [設定] 下,選取 [輸出 IP ]。
會顯示與 NAT 閘道相關聯的IP位址和前置詞。 在 [ 公用 IP 位址 ] 旁,選取 [ 變更 ]。
在 [公用IP位址 ] 旁,選取IP位址的下拉式清單。 選取您建立以新增至 NAT 閘道的 IP 位址。 若要移除位址,請取消選取它。
選取 [確定]。
選取 [儲存]。
新增公用IP位址
若要將公用IP位址新增至NAT閘道,請將它新增至數位物件以及目前的IP位址。 PowerShell Cmdlet 會取代所有位址。
在此範例中,與 NAT 閘道相關聯的現有 IP 位址名為 myPublicIP-NAT 。 將此值取代為包含 myPublicIP-NAT 和新 IP 位址的陣列。 如果您已設定多個IP位址,您也必須將它們新增至數位。
使用 New-AzPublicIpAddress 為 NAT 閘道建立新的 IP 位址。
## Create public IP address for NAT gateway ##
$ip = @{
Name = 'myPublicIP-NAT2'
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
Sku = 'Standard'
AllocationMethod = 'Static'
}
New-AzPublicIpAddress @ip
使用 Set-AzNatGateway 將公用 IP 位址新增至 NAT 閘道。
## Place NAT gateway into a variable. ##
$ng = @{
Name = 'myNATgateway'
ResourceGroupName = 'myResourceGroup'
}
$nat = Get-AzNatGateway @ng
## Place the existing public IP address associated with the NAT gateway into a variable. ##
$ip = @{
Name = 'myPublicIP-NAT'
ResourceGroupName = 'myResourceGroup'
}
$publicIP1 = Get-AzPublicIPaddress @ip
## Place the public IP address you created previously into a variable. ##
$ip = @{
Name = 'myPublicIP-NAT2'
ResourceGroupName = 'myResourceGroup'
}
$publicIP2 = Get-AzPublicIPaddress @ip
## Place the public IP address variables into an array. ##
$pipArray = $publicIP1,$publicIP2
## Add the IP address to the NAT gateway. ##
$nt = @{
NatGateway = $nat
PublicIpAddress = $pipArray
}
Set-AzNatGateway @nt
拿掉公用IP位址
若要從 NAT 閘道移除公用 IP,請建立不包含您要移除之 IP 位址的陣列物件 。 例如,您有一個 NAT 閘道設定了兩個公用 IP 位址。 您要移除其中一個IP位址。 與 NAT 閘道相關聯的 IP 位址名為 myPublicIP-NAT 和 myPublicIP-NAT2。 若要移除 myPublicIP-NAT2,請為僅包含 myPublicIP-NAT 的 PowerShell 命令建立數位物件。 當您套用命令時,陣列會重新套用至 NAT 閘道,而 myPublicIP-NAT 是唯一相關聯的公用 IP 位址。
使用 Set-AzNatGateway 從 NAT 閘道移除公用 IP 位址。
## Place NAT gateway into a variable. ##
$ng = @{
Name = 'myNATgateway'
ResourceGroupName = 'myResourceGroup'
}
$nat = Get-AzNatGateway @ng
## Place the existing public IP address associated with the NAT gateway into a variable. ##
$ip = @{
Name = 'myPublicIP-NAT'
ResourceGroupName = 'myResourceGroup'
}
$publicIP1 = Get-AzPublicIPaddress @ip
## Place the second public IP address into a variable. ##
$ip = @{
Name = 'myPublicIP-NAT2'
ResourceGroupName = 'myResourceGroup'
}
$publicIP2 = Get-AzPublicIPAddress @ip
## Place ONLY the public IP you wish to keep in the array. ##
$pipArray = $publicIP1
## Add the public IP address to the NAT gateway. ##
$nt = @{
NatGateway = $nat
PublicIpAddress = $pipArray
}
Set-AzNatGateway @nt
新增公用IP位址
在此範例中,與 NAT 閘道相關聯的現有公用IP位址名為 myPublicIP-NAT 。
使用 az network public-ip create 建立 NAT 閘道的新 IP 位址。
az network public-ip create \
--resource-group myResourceGroup \
--location eastus2 \
--name myPublicIP-NAT2 \
--sku standard
使用 az network nat gateway update 將您建立的公用 IP 位址新增至 NAT 閘道。 Azure CLI 命令會取代值。 它不會新增值。 若要將新的IP位址新增至NAT閘道,您也必須包含與NAT閘道相關聯的任何其他IP位址。
az network nat gateway update \
--name myNATgateway \
--resource-group myResourceGroup \
--public-ip-addresses myPublicIP-NAT myPublicIP-NAT2
拿掉公用IP位址
使用 az network nat gateway update 從 NAT 閘道移除公用 IP 位址。 Azure CLI 命令會取代值。 它不會移除值。 若要移除公用IP位址,請在您想要保留的命令中包含任何IP位址。 省略您要移除的值。 例如,您有一個 NAT 閘道設定了兩個公用 IP 位址。 您要移除其中一個IP位址。 與 NAT 閘道相關聯的 IP 位址名為 myPublicIP-NAT 和 myPublicIP-NAT2。 若要移除 myPublicIP-NAT2,請省略命令中的 IP 位址名稱。 命令會將命令中列出的IP位址重新套用至NAT閘道。 它會移除未列出的任何IP位址。
az network nat gateway update \
--name myNATgateway \
--resource-group myResourceGroup \
--public-ip-addresses myPublicIP-NAT
使用 Azure 入口網站、Azure PowerShell 或 Azure CLI,從 NAT 閘道新增或移除公用IP位址。
新增或移除公用IP前綴
完成下列步驟,從 NAT 閘道新增或移除公用 IP 前置綴。
登入 Azure 入口網站 。
在 Azure 入口網站 頂端的搜尋方塊中,輸入公用IP前置詞 。 在搜尋結果中選取 [公用 IP 前綴 ]。
選取 建立 。
在 [建立公用 IP 前綴] 的 [基本] 索引卷標中 輸入下列資訊。
設定
值
專案詳細資料
訂用帳戶
選取您的訂用帳戶。
資源群組
選取您的資源群組。 此範例使用 myResourceGroup 。
[執行個體詳細資料]
名稱
輸入 myPublicIPPrefix-NAT 。
區域
選取您的區域。 此範例使用 美國東部 2 。
IP 版本
選取 [IPv4] 。
前置詞擁有權
選取 [ Microsoft 擁有 ]。
前置詞大小
選取前置詞大小。 此範例使用 /28 (16 個位址)。
選取 [檢閱 + 建立] ,然後選取 [建立] 。
在 Azure 入口網站 頂端的搜尋方塊中,輸入NAT閘道 。 在搜尋結果中選取 NAT 閘道 。
選取 myNATgateway 。
在 [設定] 底下 ,選取 [輸出 IP ]。
此頁面會顯示與 NAT 閘道相關聯的 IP 位址和前置詞。 選取 [公用 IP 前綴] 旁 的 [變更 ]。
在 [公用 IP 前綴] 旁 ,選取下拉式方塊。 選取您建立的IP位址前綴,以將前置詞新增至NAT閘道。 若要移除前置詞,請取消選取它。
選取 [確定]。
選取 [儲存]。
新增公用IP前置詞
若要將公用IP前置詞新增至NAT閘道,請將它新增至數位物件以及目前的IP前置詞。 PowerShell Cmdlet 會取代所有 IP 前置詞。
在此範例中,與 NAT 閘道相關聯的現有公用IP前置詞名為 myPublicIPprefix-NAT 。 將此值取代為包含 myPublicIPprefix-NAT 和新 IP 位址前綴的陣列。 如果您已設定多個 IP 前置詞,您也必須將它們新增至數位。
使用 New-AzPublicIpPrefix 為 NAT 閘道建立新的公用 IP 前置綴。
## Create public IP prefix for NAT gateway ##
$ip = @{
Name = 'myPublicIPPrefix-NAT2'
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
Sku = 'Standard'
PrefixLength = '29'
}
New-AzPublicIpPrefix @ip
使用 Set-AzNatGateway 將公用 IP 前置綴新增至 NAT 閘道。
## Place NAT gateway into a variable. ##
$ng = @{
Name = 'myNATgateway'
ResourceGroupName = 'myResourceGroup'
}
$nat = Get-AzNatGateway @ng
## Place the existing public IP prefix associated with the NAT gateway into a variable. ##
$ip = @{
Name = 'myPublicIPprefix-NAT'
ResourceGroupName = 'myResourceGroup'
}
$prefixIP1 = Get-AzPublicIPPrefix @ip
## Place the public IP prefix you created previously into a variable. ##
$ip = @{
Name = 'myPublicIPprefix-NAT2'
ResourceGroupName = 'myResourceGroup'
}
$prefixIP2 = Get-AzPublicIPprefix @ip
## Place the public IP address variables into an array. ##
$preArray = $prefixIP1,$prefixIP2
## Add the IP address prefix to the NAT gateway. ##
$nt = @{
NatGateway = $nat
PublicIpPrefix = $preArray
}
Set-AzNatGateway @nt
拿掉公用IP前置詞
若要從 NAT 閘道移除公用 IP 前置綴,請建立不包含您要移除之 IP 位址前綴的陣列物件 。 例如,您有一個 NAT 閘道設定了兩個公用 IP 前置綴。 您想要移除其中一個IP前置詞。 與 NAT 閘道相關聯的 IP 前置詞名為 myPublicIPprefix-NAT 和 myPublicIPprefix-NAT2。 若要移除 myPublicIPprefix-NAT2,請為僅包含 myPublicIPprefix-NAT 的 PowerShell 命令建立數位物件。 當您套用命令時,陣列會重新套用至 NAT 閘道,而 myPublicIPprefix-NAT 是唯一相關聯的前置詞。
使用 Set-AzNatGateway Cmdlet 從 NAT 閘道移除公用 IP 前置綴。
## Place NAT gateway into a variable. ##
$ng = @{
Name = 'myNATgateway'
ResourceGroupName = 'myResourceGroup'
}
$nat = Get-AzNatGateway @ng
## Place the existing public IP prefix associated with the NAT gateway into a variable. ##
$ip = @{
Name = 'myPublicIPprefix-NAT'
ResourceGroupName = 'myResourceGroup'
}
$prefixIP1 = Get-AzPublicIPPrefix @ip
## Place the secondary public IP prefix into a variable. ##
$ip = @{
Name = 'myPublicIPprefix-NAT2'
ResourceGroupName = 'myResourceGroup'
}
$prefixIP2 = Get-AzPublicIPprefix @ip
## Place ONLY the prefix you wish to keep in the array. DO NOT ADD THE SECONDARY VARIABLE ##
$preArray = $prefixIP1
## Add the IP address prefix to the NAT gateway. ##
$nt = @{
NatGateway = $nat
PublicIpPrefix = $preArray
}
Set-AzNatGateway @nt
新增公用IP前置詞
在此範例中,與 NAT 閘道相關聯的現有公用IP前置詞名為 myPublicIPprefix-NAT 。
使用 az network public-ip prefix create 建立 NAT 閘道的公用 IP 前綴。
az network public-ip prefix create \
--length 29 \
--resource-group myResourceGroup \
--location eastus2 \
--name myPublicIPprefix-NAT2
使用 az network nat gateway update ,將您建立的公用 IP 前綴新增至 NAT 閘道。 Azure CLI 命令會取代值。 它不會新增值。 若要將新的IP位址前綴新增至NAT閘道,您也必須包含與 NAT 閘道相關聯的任何其他 IP 前綴。
az network nat gateway update \
--name myNATgateway \
--resource-group myResourceGroup \
--public-ip-prefixes myPublicIPprefix-NAT myPublicIPprefix-NAT2
拿掉公用IP前置詞
使用 az network nat gateway update 從 NAT 閘道移除公用 IP 前置綴。 Azure CLI 命令會取代值。 它不會移除值。 若要移除公用IP前置詞,請在您想要保留的命令中包含任何前置詞。 省略您想要移除的專案。 例如,您有一個 NAT 閘道設定了兩個公用 IP 前置綴。 您想要移除其中一個前置詞。 與 NAT 閘道相關聯的 IP 前置詞名為 myPublicIPprefix-NAT 和 myPublicIPprefix-NAT2。 若要移除 myPublicIPprefix-NAT2,請省略命令中的 IP 前置詞名稱。 命令會將命令中列出的IP前置詞重新套用至NAT閘道。 它會移除未列出的任何IP位址。
az network nat gateway update \
--name myNATgateway \
--resource-group myResourceGroup \
--public-ip-prefixes myPublicIPprefix-NAT
使用 Azure 入口網站、Azure PowerShell 或 Azure CLI,從 NAT 閘道新增或移除公用 IP 前置綴。
下一步
若要深入瞭解 Azure 虛擬網絡 NAT 及其功能,請參閱下列文章: