Skip to content

更换虚拟机公网IP

  • 版本: 1.0
  • 适用对象: Azure 初学者、云运维工程师、系统管理员
  • 难度: 入门/中级
  • 预计用时: 15-20 分钟

在 Azure 中,公网 IP 地址是一个独立的资源对象,可以从虚拟机的网络接口 (NIC) 上解绑和重新绑定。更换 IP 的本质是”解绑旧 IP,关联新 IP”。

SKU 类型特点适用场景重要提示
Standard (标准)默认启用安全防护,支持可用性区域生产环境,需要高可用性的服务推荐使用,安全性更高
Basic (基本)功能较少,无区域冗余测试环境,临时使用2025年9月30日停用

📘 了解更多: 公共 IP 地址 SKU

⚠️ 操作前必读:

  • 连接中断: 更换 IP 期间虚拟机将暂时失去公网访问能力
  • 依赖失效: 防火墙白名单、DNS 记录、第三方服务配置中的旧 IP 需手动更新
  • 建议时机: 请在业务低峰期或维护窗口执行此操作
  • 备用访问: 建议启用 Azure Bastion 作为备用访问方式

在开始操作前,请确认:

  • 拥有虚拟机所在资源组的”网络参与者”权限
  • 已记录当前公网 IP 地址
  • 已通知受影响的用户服务中断时间
  • (可选) 已准备好新的静态公网 IP 资源

2. 操作步骤:更换公网 IP (推荐方法)

Section titled “2. 操作步骤:更换公网 IP (推荐方法)”

目标: 将虚拟机当前的公网 IP 替换为全新的 IP 地址。

公网 IP 不是直接绑定在虚拟机上,而是关联到虚拟机的网络接口。

  1. 登录 Azure Portal
  2. 搜索并进入 “虚拟机”
  3. 点击目标虚拟机
  4. 左侧菜单选择 “网络”
  5. 点击 网络接口 名称(蓝色链接,格式通常为 vm名称123)

定位网络接口

在 Azure 中,您无法直接”修改” IP 数字,必须先解绑旧的。

  1. 在网络接口页面,左侧选择 “IP 配置”
  2. 点击主配置名称(通常是 ipconfig1)
  3. “公共 IP 地址” 区域:
    • 选择 “取消关联”
  4. 点击顶部 “保存”

解除IP关联

⚠️ 注意: 保存后虚拟机将立即失去公网 IP,无法从互联网访问

现在为虚拟机分配新的公网 IP 地址。

  1. 在同一 “IP 配置” 页面,再次点击 ipconfig1
  2. “公共 IP 地址” 区域:
    • 勾选 “关联公共 IP 地址”
    • 从下拉菜单选择 “新建”
  3. 配置新 IP 参数:
    • 名称: 输入易识别的名称(如 vm-web-public-ip-new)
    • SKU: 选择 标准 (推荐)
    • 分配: 选择 静态 (IP 地址不会改变)
    • 可用性区域: 根据需要选择(生产环境建议启用)
  4. 点击 “确定”
  5. 点击页面顶部 “保存”

关联新IP

完成: Azure 已为虚拟机分配新的公网 IP,在虚拟机”概述”页面可以看到新地址。

虽然更换 IP 不会自动重启虚拟机,但建议重启以重置所有现有网络流。

  1. 返回虚拟机页面
  2. 点击顶部 “重新启动”
  3. 等待虚拟机完成重启

📘 官方说明: 如果向 VM 添加了新的公共 IP 地址,并且流量需要切换到新的 IP 地址,建议重启 VM 以重置所有现有流 (参考文档)


更换 IP 后的工作清单,确保服务正常运行。

从本地测试新 IP:

# 测试网络可达性
ping <新的公网IP>
# 测试远程连接 (根据操作系统选择)
ssh user@<新的公网IP> # Linux
mstsc /v:<新的公网IP> # Windows (在运行中输入)

在虚拟机内部确认:

登录虚拟机后,检查网络配置是否正确:

# Linux 查看网络配置
ip addr show
# Windows 查看网络配置
ipconfig

⚠️ 切记: 不要在操作系统内部手动修改 IP 地址,Azure 会自动通过 DHCP 下发正确的配置

这是最容易被遗忘但最重要的环节! 请检查并更新:

  • DNS 记录: 更新 A 记录指向新 IP (Azure DNS 或第三方 DNS)
  • 网络安全组 (NSG): 检查入站/出站规则是否基于旧 IP
  • 防火墙白名单: 更新允许访问的 IP 列表
  • 应用配置: 检查代码或配置文件中是否硬编码了旧 IP
  • 数据库授权: 更新数据库的 IP 白名单
  • 监控告警: 更新监控系统中的目标地址
  • 第三方服务: 更新回调地址、Webhook 等配置

如果旧 IP 不再需要,请务必删除以避免持续产生费用。

  1. 在 Azure Portal 搜索 “公共 IP 地址”
  2. 找到已解除关联的旧 IP 资源
  3. 确认 “关联到” 字段为空
  4. 点击 “删除”

💰 成本提示: 即使未关联到任何资源,静态公网 IP 也会产生费用。查看定价详情

如果需要保留旧 IP 地址:

  1. 在解除关联前,先将其分配方式改为 “静态”
  2. 解除关联后,该 IP 会保留在您的资源中
  3. 后续可以关联到其他虚拟机或负载均衡器

Q: 更换 IP 后无法通过新 IP 访问虚拟机?

请按以下顺序排查:

  1. 在虚拟机”概述”页确认新 IP 已正确显示
  2. 检查虚拟机状态是否为”正在运行”
  3. 检查 网络安全组 (NSG) 入站规则是否允许端口 22 (SSH) 或 3389 (RDP)
  4. 如果使用了 Azure 防火墙,检查相关规则
  5. 使用”串行控制台”或 Azure Bastion 作为备用访问方式

Q: 标准 SKU 和基本 SKU 的 IP 可以互换吗?

不可以直接更换 SKU 类型。您需要:

  1. 解除当前 IP 关联
  2. 创建所需 SKU 类型的新公网 IP
  3. 关联新 IP 到虚拟机

Q: 更换 IP 会影响虚拟机内部的应用程序吗?

公网 IP 的更换不会影响虚拟机内部的私有 IP 地址,也不会影响虚拟网络 (VNet) 内部的通信。但如果您的应用程序配置中硬编码了公网 IP,需要手动更新。

Q: 动态 IP 和静态 IP 有什么区别?

  • 静态 IP: 地址固定不变,即使虚拟机停止后重启,IP 仍保持不变(推荐生产环境使用)
  • 动态 IP: 虚拟机停止(解除分配)后,IP 可能会改变。重启(不解除分配)通常不会改变

更多信息: 分配方法

Q: 如何避免 IP 变化带来的影响?

最佳实践是不要依赖 IP 地址,而是使用 DNS 域名。推荐方案:


💡 架构最佳实践:

  • 避免频繁更换 IP: 频繁更换会增加运维复杂度和出错风险
  • 优先使用 DNS: 配置 DNS 名称标签或使用自定义域名,这样更换 IP 时只需更新 DNS 记录
  • 使用负载均衡器: 生产环境建议使用 Azure 负载均衡器或应用程序网关,后端虚拟机 IP 变化不会影响对外服务
  • 静态 IP 用于生产: 生产环境务必使用静态分配,避免意外 IP 变化
  • 标准 SKU 优先: 标准 SKU 提供更好的安全性和可用性,且是未来方向