练习 - 创建 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 网络接口的 ID:
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;'
出现提示时,输入创建虚拟机时所用的密码。