Azure 會自動路由傳送 Azure 子網路、虛擬網路及內部部署網路之間的流量。 如果您想要變更 Azure 的預設路由,可藉由建立路由表來執行此動作。 如果您不熟悉虛擬網路中的路由,您可以在虛擬網路路由中或透過完成教學課程來深入瞭解。
建立、變更或刪除路由表
必要條件
如果您沒有具備作用中訂用帳戶的 Azure 帳戶,請先設定一個。 免費建立帳戶。 然後,在開始此文章任一節中的步驟之前,請先完成下列其中一個工作:
入口網站使用者:使用您的 Azure 帳戶登入 Azure 入口網站。
PowerShell 使用者:在 Azure Cloud Shell 中,或是從您的電腦執行 PowerShell 來執行命令。 Azure Cloud Shell 是免費的互動式 Shell,可讓您用來執行本文中的步驟。 它具有預先安裝和設定的共用 Azure 工具,可與您的帳戶搭配使用。 在 Azure Cloud Shell 瀏覽器索引標籤中,尋找 [選取環境] 下拉式清單,然後選擇 [PowerShell] (如果尚未選取)。
如果您在本機執行 PowerShell,請使用 Azure PowerShell 模組 1.0.0 版或更新版本。 執行
Get-Module -ListAvailable Az.Network
以尋找安裝的版本。 如果您需要升級,請參閱安裝 Azure PowerShell 模組。 另外也執行Connect-AzAccount
來建立與 Azure 的連線。Azure CLI 使用者:透過 Azure Cloud Shell 或在本機執行的 Azure CLI 來執行命令。 如果您在本機執行 Azure CLI,請使用 Azure CLI 2.0.31 版或更新版本。 執行
az --version
以尋找安裝的版本。 如果您需要安裝或升級,請參閱安裝 Azure CLI。 另外也執行az login
來建立與 Azure 的連線。
建立路由表
每個 Azure 位置和訂用帳戶可以建立的路由表數目有所限制。 如需詳細資料,請參閱網路限制 - Azure Resource Manager。
在 Azure 入口網站 功能表上,或從 [首頁] 頁面,選取 [建立資源]。
在搜尋方塊中,輸入「路由表」。 當搜尋結果中出現路由表出時加以選取。
在 [路由表] 頁面中,選取 [建立]。
在 [建立路由表] 對話方塊中:
設定 值 名稱 輸入路由表的名稱。 訂用帳戶 選取要在其中部署路由表的訂用帳戶。 資源群組 選取現有的 [資源群組],或選取 [新建] 以建立新資源群組。 Location 選取要在其中部署路由表的區域。 散佈閘道路由 如果您打算透過 VPN 閘道將路由表關聯至虛擬網路中連線至內部部署網路的子網路,且您不想要將內部部署路由傳播至子網路中的網路介面,請將 [虛擬網路閘道路由傳播] 設定為 [停用]。 選取 [檢閱 + 建立],然後選取 [建立] 以建立新的路由表。
建立路由表 - 命令
工具 Command Azure CLI az network route-table create PowerShell New-AzRouteTable
檢視路由表
若要管理您的虛擬網路,請存取 Azure 入口網站,並使用搜尋功能來找出「路由表」。在這裡,您將找到訂用帳戶內所有可用的路由表清單。
移至 Azure 入口網站,以管理您的虛擬網路。
搜尋並選取 [路由表]。 列出的是存在訂用帳戶的路由表。
檢視路由表 - 命令
工具 Command Azure CLI az network route-table list PowerShell Get-AzRouteTable
檢視路由表的詳細資料
執行以下步驟:
移至 Azure 入口網站,以管理您的虛擬網路。 搜尋並選取 [路由表]。
在路由表清單中,選擇您想要檢視其詳細資料的路由表。
在路由表頁面的 [設定] 下方,檢視路由表中的 [路由] 或與路由表相關聯的 [子網路]。
若要深入了解 Azure 的一般設定,請參閱下列資訊:
- 活動記錄檔
- 存取控制 (IAM)
- Tags (標籤)
- 鎖定
- 自動化指令碼
檢視路由表的詳細資料 - 命令
工具 Command Azure CLI az network route-table show PowerShell Get-AzRouteTable
變更路由表
執行以下步驟:
移至 Azure 入口網站,以管理您的虛擬網路。 搜尋並選取 [路由表]。
在路由表清單中,選擇您想要變更的路由表。
最常見的變更是 [新增] 路由、[移除] 路由、將路由表與子網路 [建立關聯],或將路由表與子網路 [中斷關聯]。
變更路由表 - 命令
工具 Command Azure CLI az network route-table update PowerShell Set-AzRouteTable
建立路由表與子網路的關聯
您可以選擇性地將路由表與子網路建立關聯。 路由表可以與零或多個子網路建立關聯。 路由表不會與虛擬網路相關聯。 針對您想與路由表建立關聯的子網路,您必須將路由表與每個子網路建立關聯。
Azure 會根據您建立的路由,來路由傳送所有離開子網路的流量:
在路由表內
如果虛擬網路連線到 Azure 虛擬網路閘道 (ExpressRoute 或 VPN),則會從內部部署網路傳播路由。
您只能在以路由表形式存在於相同的 Azure 位置和訂用帳戶的虛擬網路中,將路由表與子網路建立關聯。
移至 Azure 入口網站,以管理您的虛擬網路。 搜尋並選取 [虛擬網路]。
在虛擬網路清單中,選擇包含要與路由表建立關聯子網路的虛擬網路。
在 [虛擬網路] 功能表列中,選擇 [子網路]。
選取您要和路由表建立關聯的子網路。
在 [路由表] 中,選擇您想要與子網建立關聯的路由表。
選取 [儲存]。
如果虛擬網路連線至 Azure VPN 閘道,請勿將路由表關聯至所含路由的目的地為 0.0.0.0/0 的閘道子網路。 這麼做會讓閘道無法正常運作。 如需關於在路由中使用 0.0.0.0/0 的詳細資訊,請參閱虛擬網路流量路由。
關聯路由表 - 命令
工具 Command Azure CLI az network vnet subnet update PowerShell Set-AzVirtualNetworkSubnetConfig
從子網路中斷與路由表的關聯
當您從子網路中斷與路由表的關聯時,Azure 會根據其預設路由來路由傳送流量。
移至 Azure 入口網站,以管理您的虛擬網路。 搜尋並選取 [虛擬網路]。
在虛擬網路清單中,選擇包含要與路由表中斷關聯子網路的虛擬網路。
在 [虛擬網路] 功能表列中,選擇 [子網路]。
選取您要從中與路由表中斷關聯的子網路。
在 [路由表] 中,選擇 [無]。
選取 [儲存]。
中斷關聯路由表 - 命令
工具 Command Azure CLI az network vnet subnet update PowerShell Set-AzVirtualNetworkSubnetConfig
刪除路由表
您無法刪除與任何子網路相關聯的路由表。 請從所有子網路與路由表中斷關聯之後,再嘗試予以刪除。
移至 Azure 入口網站,以管理您的路由表。 搜尋並選取 [路由表]。
在路由表清單中,選擇您想要刪除的路由表。
選取刪除,然後在確認對話方塊中選取 是。
刪除路由表 - 命令
工具 Command Azure CLI az network route-table delete PowerShell Remove-AzRouteTable
建立路由
每個 Azure 位置和訂用帳戶可在每個路由表建立的路由數目有所限制。 如需詳細資料,請參閱網路限制 - Azure Resource Manager。
移至 Azure 入口網站,以管理您的路由表。 搜尋並選取 [路由表]。
在路由表清單中,選擇您想要新增路由的路由表。
在 [路由表] 功能表列中選擇 [路由],然後選取 [+ 新增]。
為路由表內的路由輸入唯一的路由名稱。
輸入無類別網域間路由 (CIDR) 標記法中的位址首碼,以作為路由傳送流量目的地。 雖然首碼可以在另一個首碼內,但不可在路由表內的多個路由中重複。 例如,如果您將 10.0.0.0/16 定義為某個路由中的首碼,您仍能以 10.0.0.0/24 位址首碼定義另一個路由。 Azure 會根據最長首碼比對來為流量選取路由。 若要深入瞭解,請參閱 Azure 如何選取路由。
選擇 [下一個躍點類型]。 若要深入瞭解下一個躍點類型,請參閱虛擬網路流量路由。
如果您選擇 [虛擬裝置] 的 [下一個躍點類型],請輸入 [下一個躍點位址] 的 IP 位址。
選取 [確定]。
建立路由 - 命令
工具 Command Azure CLI az network route-table route create PowerShell New-AzRouteConfig
檢視路由
路由表包含零個或多個路由。 若要深入瞭解檢視路由時列出的資訊,請參閱虛擬網路流量路由。
移至 Azure 入口網站,以管理您的路由表。 搜尋並選取 [路由表]。
在路由表清單中,選擇您想要檢視路由的路由表。
在 [路由表] 功能表列中,選擇 [路由] 以查看路由清單。
檢視路由 - 命令
工具 Command Azure CLI az network route-table route list PowerShell Get-AzRouteConfig
檢視路由的詳細資料
執行以下步驟:
移至 Azure 入口網站,以管理您的路由表。 搜尋並選取 [路由表]。
在路由表清單中,選擇包含您想要檢視路由詳細資料的路由表。
在 [路由表] 功能表列中,選擇 [路由] 以查看路由清單。
選取您想要檢視其詳細資料的路由。
檢視路由的詳細資料 - 命令
工具 Command Azure CLI az network route-table route show PowerShell Get-AzRouteConfig
變更路由
執行以下步驟:
移至 Azure 入口網站,以管理您的路由表。 搜尋並選取 [路由表]。
在路由表清單中,選擇包含您想要變更路由的路由表。
在 [路由表] 功能表列中,選擇 [路由] 以查看路由清單。
選擇您想要變更的路由。
將現有的設定變更為新設定,然後選取 [儲存]。
變更路由 - 命令
工具 Command Azure CLI az network route-table route update PowerShell Set-AzRouteConfig
刪除路由
執行以下步驟:
移至 Azure 入口網站,以管理您的路由表。 搜尋並選取 [路由表]。
在路由表清單中,選擇包含您要刪除之路徑的路由表。
在 [路由表] 功能表列中,選擇 [路由] 以查看路由清單。
選擇您要刪除的路徑。
選取 [...],然後選取 [刪除]。 選取確認對話方塊中的 [是]。
刪除路由 - 命令
工具 Command Azure CLI az network route-table route delete PowerShell Remove-AzRouteConfig
檢視有效的路由
結合您建立的路由表、Azure 的預設路由以及經由 Azure 虛擬網路閘道透過邊界閘道協定 (BGP) 從內部部署網路傳播的任何路由,即形成每個連結虛擬機器網路介面的有效路由。 了解網路介面的有效路由,在對路由問題進行疑難排解時會很有幫助。 您可以檢視連結至執行中 VM 任何網路介面的有效路由。
移至 Azure 入口網站以管理您的 VM。 搜尋並選取 [虛擬機器]。
在虛擬機器清單中,選擇您想要檢視有效路由的 VM。
在 [VM] 功能表列中,選擇 [網路]。
選取網路介面的名稱。
在 [網路介面] 功能表列中,選取 [有效路由]。
檢閱有效路由的清單,以判斷您要路由傳送流量的目標是否有正確的路由存在。 深入瞭解您在此清單中於虛擬網路流量路由中看到的下一個躍點類型。
檢視有效路由 - 命令
工具 Command Azure CLI az network nic show-effective-route-table PowerShell Get-AzEffectiveRouteTable
驗證兩個端點之間的路由
您可以判斷虛擬機器與另一個 Azure 資源的 IP 位址、內部部署資源或網路網路上資源之間的下一個躍點類型。 對路由問題進行疑難排解時,判斷 Azure 的路由會很有幫助。 您必須擁有現有的網路監看員,才能完成此工作。 如果您沒有現有的網路監看員,請建立一個網路監看員,方法是完成建立網路監看員執行個體中的各步驟。
移至 Azure 入口網站,以管理您的網路監看員。 搜尋並選取 [網路監看員]。
在 [網路監看員] 功能表列中,選擇 [下一個躍點]。
在 [網路監看員 | 下一個躍點] 頁面中:
設定 值 訂用帳戶 選取來源 VM 所在的訂用帳戶。 資源群組 選取包含了 VM 的資源群組。 虛擬機器 選取您要測試的 VM。 網路介面 選取您要在其中測試下一個躍點的網路介面。 來源 IP 位址 已為您選取預設來源 IP。 如果有多個網路介面,您可以變更來源 IP。 目的地 IP 位址 輸入目的地 IP,以檢視 VM 的下一個躍點。 選取 [下一個躍點]。
短暫等候之後,Azure 會告訴您路由傳送流量的下一個躍點類型和路由識別碼。 深入瞭解您在虛擬網路流量路由中所看到傳回的下一個躍點類型。
驗證兩個端點之間的路由 - 命令
工具 Command Azure CLI az network watcher show-next-hop PowerShell Get-AzNetworkWatcherNextHop
權限
若要在路由表和路由上執行工作,您的帳戶必須指派給
或獲派下表中所列適當動作的自訂角色:
動作 名稱 Microsoft.Network/routeTables/read 讀取路由表 Microsoft.Network/routeTables/write 建立或更新路由表 Microsoft.Network/routeTables/delete 刪除路由表 Microsoft.Network/routeTables/join/action 建立路由表與子網路的關聯 Microsoft.Network/routeTables/routes/read 讀取路由 Microsoft.Network/routeTables/routes/write 建立或更新路由 Microsoft.Network/routeTables/routes/delete 刪除路由 Microsoft.Network/networkInterfaces/effectiveRouteTable/action 取得網路介面的有效路由表 Microsoft.Network/networkWatchers/nextHop/action 從 VM 取得下一個躍點