我每晚都会释放我的开发 Azure VM 以节省我的信用额度。我的 VM 全部位于使用域控制器的一个虚拟网络上。由于它位于子网上,因此域控制器地址永远不会改变。
每天启动虚拟机时,我都必须将网络适配器配置为“使用以下 DNS 服务器地址”作为 IPv4 DNS 首选地址。我想使用启动时运行的脚本自动执行此操作。
我可以使用以下方法设置该属性:
netsh interface ipv4 set dns "Local Area Connection 138" static 10.0.0.4
但是,这行不通,因为每次启动时本地连接数都会增加。我已经接近使用以下方法获取本地连接名称:
wmic.exe nic where "NetConnectionStatus=2" get NetConnectionID
但是这会返回列标题,无法使用。返回的值如下所示:
NetConnectionID
Local Area Connection 138
所以我的问题是如何在启动时设置动态本地连接的首选 DNS 地址?
答案1
您永远不应该将您的 VM 配置为操作系统内的静态 IP 地址,而应该使用 azure 门户或 powershell。
为虚拟机配置静态内部 IP 地址:
https://azure.microsoft.com/documentation/articles/virtual-networks-reserved-private-ip/
基本上,您是在告诉 DHCP 服务器始终为您的 VM 提供相同的 IP。
如果您不想使用 powershell,您可以使用预览门户,它将为您提供此功能。只需导航到您的 VM >> 配置 >> 网络设置 >> IP 地址 >> 将私有 IP 地址设置为静态 >> 输入所需的 IP。
关于管理门户中的虚拟网络设置:
https://msdn.microsoft.com/library/azure/jj156074.aspx/#BKMK_VNETDNS
导航到网络>>选择您的 VNET>>选择配置选项卡>>按优先级顺序设置您喜欢的 DNS 服务器。
答案2
Azure 不支持手动配置网络设置,它明确要求虚拟网络适配器使用 DHCP,并在更换适配器时重置此设置(这通常在每次关闭和释放虚拟机时发生)。
但是,你可以控制虚拟机通过哪个私有 IP 地址保留静态 IP以及 DHCP 提供哪些 DNS 服务器在虚拟网络设置中配置它们。