練習 - 建立 NVA 和虛擬機器
在安全性實作的下一個階段中,您將會部署網路虛擬設備 (NVA),以保護並監視前端公用伺服器和內部私人伺服器之間的流量。
首先,將設備設定為轉送 IP 流量。 如果未啟用 IP 轉送,預期的目的地伺服器將一律不會接收透過您設備路由傳送的流量。
在本練習中,您會將 nva 網路應用設備部署至 dmzsubnet 子網路。 接著,您會啟用 IP 轉送,讓來自 *
的流量和使用自訂路由的流量會傳送至 privatesubnet 子網路。
在下列步驟中,您將會部署 NVA。 接著,您會更新 Azure 虛擬 NIC 和設備內的網路設定,以啟用 IP 轉送。
部署網路虛擬設備
若要建置 NVA,請部署 Ubuntu LTS 執行個體。
在 Cloud Shell 中,執行下列命令以部署設備。 將
<password>
取代為您為 azureuser 管理帳戶選擇的適當密碼。az vm create \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --name nva \ --vnet-name vnet \ --subnet dmzsubnet \ --image Ubuntu2204 \ --admin-username azureuser \ --admin-password <password>
啟用 Azure 網路介面的 IP 轉送
在後續步驟中,您會為 nva 網路設備啟用 IP 轉送。 當流量流向 NVA,但其目的是另一個目標時,NVA 會將該流量路由傳送到正確的目的地。
執行下列命令以取得 NVA 網路介面的識別碼:
NICID=$(az vm nic list \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --vm-name nva \ --query "[].{id:id}" --output tsv) echo $NICID
執行下列命令以取得 NVA 網路介面的名稱:
NICNAME=$(az vm nic show \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --vm-name nva \ --nic $NICID \ --query "{name:name}" --output tsv) echo $NICNAME
執行下列命令以啟用網路介面的 IP 轉送:
az network nic update --name $NICNAME \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --ip-forwarding true
啟用設備中的 IP 轉送
執行下列命令以將 NVA 虛擬機器的公用 IP 位址儲存至變數
NVAIP
:NVAIP="$(az vm list-ip-addresses \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --name nva \ --query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \ --output tsv)" echo $NVAIP
執行下列命令以在 NVA 內啟用 IP 轉送:
ssh -t -o StrictHostKeyChecking=no azureuser@$NVAIP 'sudo sysctl -w net.ipv4.ip_forward=1; exit;'
出現提示時,輸入您建立虛擬機器時所用的密碼。