Todos os produtos
Search
Central de documentação

Tair (Redis® OSS-Compatible):Erro "Destination Host Unreachable"

Última atualização: Jun 26, 2026

Esse erro ocorre quando o bloco CIDR da sua instância do Elastic Compute Service (ECS) ou do contêiner docker se sobrepõe ao bloco CIDR atribuído à instância Tair. Como a tabela de roteamento do cliente resolve o IP de destino localmente em vez de encaminhá-lo ao Tair, os pacotes nunca chegam à instância.

Sintoma

O ping para o endpoint interno de uma instância Tair a partir de uma instância ECS ou contêiner docker falha com a seguinte saída:

PING r-bp1****l7ein86xv6m.redis.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

Diagnosticar o conflito

Confirme o conflito de CIDR antes de aplicar uma correção.

  1. Execute ping no endpoint interno para obter o endereço IP interno da instância Tair. No exemplo acima, o endereço IP interno é 172.17.0.31.

  2. Verifique a tabela de roteamento do cliente. Em um contêiner docker baseado em Linux, execute:

    route -n

    A saída será semelhante a:

    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

    Neste exemplo, a interface de rede (NIC) br-350b446c181a detém o bloco CIDR 172.17.0.0/24. Como o endereço 172.17.0.31 está dentro desse intervalo, o docker roteia os pacotes para a bridge local em vez de encaminhá-los ao Tair.

Soluções

Resolva o conflito alterando a configuração de rede no lado do cliente ou na instância Tair.

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

Reconfigure a bridge padrão do docker para usar um bloco CIDR sem sobreposição. Este exemplo aplica-se a um host docker Linux que usa a bridge docker0 padrão.

Importante

Parar o docker ou alterar seu bloco CIDR interrompe os contêineres em execução. Execute essa operação fora do horário de pico e verifique se o novo bloco CIDR não entra em conflito com contêineres ou aplicativos existentes.

  1. Pare o serviço do docker.

    sudo systemctl stop docker
  2. Abra o arquivo de configuração do daemon do docker. Geralmente, o arquivo está localizado em /etc/docker/daemon.json (o nome do arquivo pode variar).

    sudo vim /etc/docker/daemon.json

    Faça backup do arquivo original antes de fazer alterações.

  3. Adicione o parâmetro bip com um bloco CIDR que não se sobreponha a 172.17.0.31. Por exemplo:

    {
        "bip": "192.168.0.1/24"
    }

    O parâmetro bip define o endereço IP e a sub-rede da bridge docker0. Todos os contêineres na bridge padrão recebem endereços dessa sub-rede.

  4. Salve e feche o arquivo.

  5. Inicie o serviço do docker para aplicar a alteração.

    sudo systemctl start docker

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

Alterar o vSwitch da instância Tair para um cujo bloco CIDR não se sobreponha ao bloco CIDR do cliente.

Nota

Como VPCs diferentes não se comunicam por redes internas, só é possível mudar para um vSwitch dentro da mesma VPC. A alteração do vSwitch causa uma interrupção transitória de conexão de cerca de 30 segundos. Execute essa operação fora do horário de pico e certifique-se de que o aplicativo tenha um mecanismo de reconexão automática.

Próximos passos

Conectar-se a instâncias Tair e Redis