全部产品
Search
文档中心

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

更新时间:Nov 10, 2025

Jika Anda menerima kesalahan Destination Host Unreachable saat melakukan ping ke titik akhir internal dari instance Tair, lihat solusi dalam topik ini.

Gejala

Anda tidak dapat melakukan ping ke titik akhir internal dari instance Tair dari sebuah Instance ECS atau Kontainer Docker. Kesalahan Destination Host Unreachable dikembalikan.

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

Penyebab

Masalah ini biasanya terjadi karena blok CIDR internal dari Instance ECS atau Kontainer Docker bertentangan dengan blok CIDR dari instance Tair. Untuk memverifikasi hal ini, lakukan langkah-langkah berikut:

  1. Ping titik akhir internal dari instance Tair untuk mendapatkan alamat IP internalnya.

    Dalam contoh ini, alamat IP internal dari instance Tair adalah 172.17.0.31.

  2. Kueri tabel rute dari klien.

    Sebagai contoh, dalam sebuah Kontainer Docker yang berjalan di Linux, Anda dapat menjalankan perintah route -n untuk melihat informasi routing. Outputnya mirip dengan berikut:

    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

    Output menunjukkan bahwa blok CIDR dari kartu antarmuka jaringan (NIC) br-350b446c181a adalah 172.17.0.0/24. Blok CIDR ini bertentangan dengan alamat IP internal dari instance Tair. Akibatnya, Docker tidak dapat merutekan paket ke instance Tair.

Pendekatan pemecahan masalah

Ubah konfigurasi jaringan dari klien atau instance Tair untuk menyelesaikan konflik tersebut.

Solusi

Solusi 1: Ubah blok CIDR default dari layanan klien

Contoh ini menggunakan Kontainer Docker pada Linux yang menggunakan bridge `docker0` default.

Penting
  • Menghentikan layanan Docker atau mengubah blok CIDR default akan mengganggu layanan Anda. Kami sarankan Anda melakukan operasi ini selama jam-jam sepi.

  • Saat Anda mengubah blok CIDR default, pastikan itu kompatibel dengan pengaturan jaringan kontainer dan aplikasi yang ada untuk mencegah masalah koneksi.

  1. Hentikan layanan Docker.

    sudo systemctl stop docker
  2. Edit file konfigurasi Docker. File tersebut biasanya terletak di /etc/docker/daemon.json atau /etc/docker/daemon.conf. Nama file mungkin berbeda.

    sudo vim /etc/docker/daemon.json

    Tambahkan konten berikut ke dalam file. Kami sarankan Anda mencadangkan file asli sebelum membuat perubahan.

    {
        "bip":"Blok CIDR baru"
    }

    Ubah blok CIDR menjadi satu yang tidak bertentangan dengan instance Tair. Sebagai contoh, jika alamat IP internal dari instance Tair adalah 172.17.0.31, Anda dapat mengatur blok CIDR baru menjadi 192.168.0.1/24.

  3. Simpan dan tutup file konfigurasi.

  4. Mulai layanan Docker untuk menerapkan perubahan.

    sudo systemctl start docker

Solusi 2: Ubah vSwitch dari Tair instance

Anda dapat mengubah vSwitch dari instance Tair untuk memastikan bahwa blok CIDR vSwitch tidak bertentangan dengan blok CIDR klien.

Catatan
  • Karena VPC yang berbeda tidak dapat berkomunikasi melalui jaringan internal, Anda hanya dapat mengubah vSwitch jika berada dalam VPC yang sama.

  • Mengubah vSwitch menyebabkan gangguan koneksi sementara yang berlangsung sekitar 30 detik. Kami sarankan Anda melakukan operasi ini selama jam-jam sepi dan memastikan bahwa aplikasi Anda memiliki mekanisme penyambungan otomatis.

Referensi

Hubungkan ke instance Tair dan Redis