全部產品
Search
文件中心

Tair (Redis® OSS-Compatible):Destination Host Unreachable報錯

更新時間:Aug 22, 2025

PING Tair執行個體內網地址時,如果出現Destination Host Unreachable報錯,請參考本文提供的解決方案。

問題現象

從ECS執行個體或Docker容器中無法PING通Tair執行個體的內網地址,返回Destination Host Unreachable報錯。

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

問題原因

通常是ECS執行個體或Docker容器的內網網段與Tair執行個體的網段衝突,您可以參考以下步驟進行驗證。

  1. PING Tair執行個體的內網地址,查看其內網IP。

    本樣本中,Tair執行個體的內網IP為172.17.0.31

  2. 查詢用戶端服務的路由表。

    以Docker容器(Linux系統)為例,執行route -n命令查看路由,返回資訊類似如下。

    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

    返回資訊顯示網卡br-350b446c181a的網段為172.17.0.0/24,與Tair執行個體內網IP地址衝突,導致Docker無法路由到Tair執行個體。

解決思路

修改用戶端服務或者Tair執行個體的網路設定,保證相互不衝突。

解決方案參考

方案一:修改用戶端服務的預設網段

以Docker(Linux系統)使用預設dokcer0橋接器為例。

重要
  • 停止Docker或者修改Docker預設網段會中斷業務,建議業務低峰期進行操作。

  • 修改Docker預設網段時請確保與任何現有容器和應用程式的網路設定相容,以避免潛在的串連問題。

  1. 停止Docker服務。

    sudo systemctl stop docker
  2. 編輯Docker設定檔(通常位於/etc/docker/daemon.json/etc/docker/daemon.conf,具體檔案名稱可能有所不同)。

    sudo vim /etc/docker/daemon.json

    確保檔案內容如下(修改前請備份原檔案)。

    {
        "bip":"新的網段"
    }

    將新的網段改為和Tair執行個體不衝突的網段。例如Tair執行個體的內網IP為172.17.0.31,將新的網段設定為192.168.0.1/24。

  3. 儲存並關閉設定檔。

  4. 啟動Docker服務使修改生效。

    sudo systemctl start docker

方案二:切換Tair執行個體的交換器

您可以切換Tair執行個體的交換器,以確保執行個體的交換器網段與用戶端的網段不發生衝突。

說明
  • 由於不同VPC之間無法內網互連,建議僅切換同一VPC中的交換器。

  • 切換過程中會有30秒閃斷,請在業務低峰期操作並確保應用程式具有重連機制。

相關文檔

串連Tair和Redis執行個體