全部文档
当前文档

共搜索到 0 条结果

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

云服务器绑定EIP却无法访问公网的问题排查与处理

最近更新时间:2026-06-16 17:51:51

本文主要介绍云主机(EIP绑定状态)无法访问公网的排查和解决方法,重点分析DNS配置错误导致的网络访问故障。

问题描述

云主机在已绑定EIP的情况下无法访问公网,具体表现为:

  1. 网络访问异常

    • 云主机无法访问外部公网地址

    • 多个EIP(如 17.157.x.x 和 11.157.x.x)均无法出网

  2. 网络层指标异常

    • 网络底层存在双向报文统计

    • 系统内iptables策略为空(无拦截规则)

    • 安全组已放开ICMP等必要端口

  3. DNS解析异常

    • 域名解析失败

    • 无法通过域名访问外部服务

示例场景:用户云主机(ID: bf3150-5dd-4ef5-8ae-af18xxxxx)绑定两个EIP后,执行 ping 8.8.8.8curl www.baidu.com 均失败,但底层网络监控显示有双向报文交互。

可能原因

  • 子网DNS服务器配置错误(自定义了无效DNS地址)

  • EIP绑定状态异常或未正确配置

  • 网络ACL规则拦截出站流量

  • 安全组规则限制出站访问

  • 云主机内部防火墙(iptables)限制

  • 路由表配置异常

排查步骤

请先确认EIP绑定状态正常,再按照从外到内、从网络层到应用层的顺序逐步排查。

步骤一:检查EIP绑定和网络连通性状态

  1. 登录云服务器控制台

  2. 进入云主机详情页面,确认EIP已正确绑定。

  3. 连接云服务器实例,执行命令,查看IP配置,确认外网网卡已获取EIP地址。

    ip addr

步骤二:验证安全组和ACL策略

  1. 在云服务器实例详情页,查看关联安全组信息,点击并进入相应安全组详情页。

  2. 检查安全组出站规则是否允许访问目标端口。

  3. 网络控制台,检查子网绑定的网络ACL是否放通出站流量。

  4. 确认安全组已放开ICMP(用于基础连通性测试)。

步骤三:检查云主机内部防火墙

  1. 连接云服务器实例,执行命令,查看iptables规则,检查是否有过滤策略阻塞流量。

    iptables -L -n -v
  2. 确认iptables策略为空或已放通出站流量

步骤四:排查路由和底层网络

  1. 连接云服务器实例,执行如下命令,查看其路由表,确认默认路由指向正确网关。

    ip route show
  2. 联系平台侧确认底层网络双向报文是否正常。

步骤五:验证DNS配置(关键步骤)

  1. 连接云服务器实例,查看当前DNS配置。

    cat /etc/resolv.conf

    回显示例:

    # nameserver 198.18.x.x
    # nameserver 198.18.x.x
  2. 测试DNS服务器连通性,如超时无响应,说明DNS地址不可达。

    ping <配置的DNS地址>
  3. 使用mtr进行网络路径追踪,观察网络路径中的异常节点。

    mtr -n 8.8.8.8
  4. 对比VPC下其他正常子网的DNS配置。正常配置示例如下:

    nameserver 198.18.254.60
    nameserver 198.18.254.61

步骤六:检查子网DNS配置

  1. 登录网络控制台

  2. 在左侧导航栏,选择子网,并在顶部选择当前问题云服务器所在VPC网络,进入其子网管理页面。

  3. 对比问题子网与其他正常子网的DNS配置差异。

  4. 确认子网是否使用了自定义DNS(如198.18.254.30/31)而非平台默认DNS。

解决方案

原因一:子网 DNS 配置错误

子网在创建时指定了错误的自定义 DNS 服务器(如 198.18.254.30198.18.254.31),这些地址无法连通,导致域名解析失败,进而无法访问公网。

临时修复(立即生效)
  1. 登录问题云服务器

  2. 编辑 DNS 配置文件。

    sudo vi /etc/resolv.conf
  3. 修改为有效的 DNS 服务器(平台默认 DNS)。

    nameserver 198.18.254.60
    nameserver 198.18.254.61
  4. 保存并测试。

    nslookup www.baidu.com
    ping 8.8.8.8
永久修复(推荐)
  1. 登录网络控制台

  2. 在左侧导航栏,选择 子网

  3. 找到问题子网,点击其名称/ID,进入详情页面,在 网关 DNS 区域,点击编辑 DNS 设置标识。

  4. 将 DNS 配置修改为:

    • 选项 A:使用平台默认 DNS(推荐)

    • 选项 B:指定公共 DNS(如 8.8.8.8114.114.114.114

  5. 保存配置。

  6. 重启云服务器网络服务使配置生效。

    sudo systemctl restart network
    # 或
    sudo systemctl restart NetworkManager
验证修复
  1. 测试 DNS 解析。

    nslookup www.baidu.com
    dig www.baidu.com
  2. 测试公网访问。

    ping 8.8.8.8
    curl -I http://www.baidu.com

原因二:安全组或 ACL 拦截

  1. 登录云服务器控制台

  2. 检查并修改安全组出站规则,确保允许目标端口访问。

  3. 检查网络 ACL 规则,确保放通出站流量。

  4. 重新测试网络连通性。

原因三:云服务器内部防火墙限制

  1. 登录云服务器

  2. 查看当前 iptables 规则。

    iptables -L -n -v
  3. 如存在 DROP/REJECT 策略,根据业务需求调整。

    清空所有规则属于高风险操作,请谨慎执行。

    sudo iptables -F
    sudo iptables -X
    sudo iptables -P INPUT ACCEPT
    sudo iptables -P OUTPUT ACCEPT
    sudo iptables -P FORWARD ACCEPT

常用诊断命令速查

用途

命令

查看 IP 配置

ip addr

查看路由表

ip route show

查看 DNS 配置

cat /etc/resolv.conf

测试 DNS 解析

nslookup www.baidu.comdig www.baidu.com

网络连通性测试

ping 8.8.8.8curl -I http://www.baidu.com

查看 iptables 规则

iptables -L -n -v

网络路径追踪

mtr -n 8.8.8.8traceroute 8.8.8.8

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈