Todos os produtos
Search
Central de documentação

ApsaraDB RDS:A mensagem de erro "Destination Host Unreachable" é exibida ao executar ping no endpoint de uma instância RDS

Última atualização: Jun 26, 2026

Ao executar ping no endpoint interno de uma instância ApsaraDB RDS a partir de uma instância Elastic Compute Service (ECS), você recebe Destination Host Unreachable em vez de uma resposta normal. Esse erro indica um conflito de roteamento na instância ECS: o bloco CIDR de uma interface de rede local se sobrepõe ao endereço IP privado da instância RDS, impedindo que o tráfego chegue ao RDS. O problema não é causado pelo bloqueio de ICMP pelo RDS.

A causa mais comum desse conflito é uma rede bridge do Docker. As seções a seguir explicam como diagnosticar e resolver essa situação.

Diagnosticar o conflito

  1. Execute ping no endpoint interno para obter o endereço IP privado da instância RDS.

    PING rm-bpxxxx.mysql.rds.aliyuncs.com (172.17.0.31) 56(84) bytes of data.
    From xxxx (172.17.0.1) icmp_seq=1 Destination Host Unreachable
    From xxxx (172.17.0.1) icmp_seq=2 Destination Host Unreachable
    From xxxx (172.17.0.1) icmp_seq=3 Destination Host Unreachable

    Neste exemplo, o endereço IP privado é 172.17.0.31.

  2. Execute route -n na instância ECS para visualizar a tabela de roteamento.

    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         172.17.2.253    0.0.0.0         UG    0      0        0 eth0
    169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
    172.17.0.0      0.0.0.0         255.255.255.0   U     0      0        0 br-350b446c181a

    A saída mostra que a interface de rede br-350b446c181a possui o bloco CIDR 172.17.0.0/24, que se sobrepõe ao endereço IP privado da instância RDS 172.17.0.31. O tráfego destinado ao RDS corresponde incorretamente a essa rota local e nunca chega à instância RDS.

Resolver o conflito

Escolha uma das soluções a seguir.

Solução 1: Alterar o bloco CIDR da bridge do Docker

Altere o bloco CIDR da bridge padrão do Docker para um que não se sobreponha ao endereço IP privado da instância RDS.

Importante

Parar o serviço Docker interrompe contêineres e aplicativos em execução. Realize essa operação fora do horário de pico. Verifique se o novo bloco CIDR é compatível com seus contêineres e aplicativos existentes antes de aplicar a alteração.

  1. Pare o serviço Docker.

    sudo systemctl stop docker
  2. Edite o arquivo de configuração do daemon do Docker. Geralmente, o arquivo é /etc/docker/daemon.json ou /etc/docker/daemon.conf.

    sudo vim /etc/docker/daemon.json
  3. Defina o campo bip com um novo bloco CIDR que não entre em conflito com sua instância RDS. Por exemplo:

    {
        "bip": "192.168.0.0/16"
    }
  4. Salve e feche o arquivo.

  5. Inicie o serviço Docker.

    sudo systemctl start docker
  6. Execute ping novamente no endpoint interno do RDS. Se Destination Host Unreachable não aparecer mais, o conflito de roteamento foi resolvido. Para verificar a conectividade completa, consulte Próximos passos.

Solução 2: Alterar o vSwitch da instância RDS

Mude a instância RDS para um vSwitch cujo bloco CIDR não se sobreponha à rede bridge do Docker.

Importante

Não altere a virtual private cloud (VPC) da instância RDS. Por padrão, VPCs diferentes não se comunicam pela rede interna, e alterar a VPC interrompe as conexões internas existentes entre o RDS e outros serviços Alibaba Cloud.

Selecione o guia correspondente ao seu mecanismo de banco de dados:

Próximos passos

Após resolver o conflito, verifique a conectividade conectando-se à instância RDS a partir da instância ECS: