雲伺服器ECS伺服器訪問異常問題排查指引

阿里雲服務發表於2016-07-06

因各種因素,使用者通過私網或本地公網訪問雲伺服器 ECS 上相關業務時,可能出現訪問異常的情況。本文先對整個鏈路上,可能引發訪問異常的相關因素及症狀進行說明,然後闡述了出現異常時的排查思路及處理辦法。最後對工單提交時的注意事項進行了說明。

 注:本文相關說明不考慮阿里雲 CDN 或第三方 CDN 網路相關因素的影響。

 

ECS 訪問異常關聯因素及症狀示意圖


從客戶端到服務端的整個鏈路上,可能引發訪問異常的相關因素主要如下ECS 訪問異常關聯因素示意圖所示

相關因素可能導致的症狀,主要如下ECS 訪問異常症狀對應圖所示:

 

ECS 訪問異常關聯因素說明


通過私網訪問異常時關聯因素說明

如果客戶端是通過私網訪問,則其鏈路相對簡單。可能引發訪問異常的因素及導致的客戶端症狀包括:

  1. 源伺服器內部配置
    • 因素說明:
      源伺服器內部防火牆、安全軟體等安全策略,或系統中毒等作業系統內部問題導致訪問異常。
    • 可能症狀及原因:
      • ping 丟包:源伺服器中毒等作業系統內部問題導致網路異常。
      • ping 不通:源伺服器系統內安全軟體等安全策略禁止外 ping
      • 所有埠 telnet 都不通:源伺服器中毒等作業系統內部問題導致網路異常。
      • 只有部分埠 telnet 不通:源伺服器系統內安全軟體等安全策略禁止了對部分埠的訪問。
  2. 源伺服器安全組配置
    • 因素說明:
      源伺服器歸屬安全組規則阻斷了對目標伺服器的訪問。
    • 可能症狀及原因: 
      • ping 不通:源伺服器出方向配置了禁 ping 規則。
      • 所有埠 telnet 都不通:源伺服器出方向為指定埠配置了 drop 規則。
      • 只有部分埠 telnet 不通:源伺服器出方向為所有埠配置了 drop 規則。
  3. 負載均衡白名單
    • 因素說明:
      如果目標伺服器是負載均衡,則相應監聽埠開啟白名單後,只有指定的 IP  IP 段地址才能對其訪問。
    • 可能症狀及原因: 
      • 只有部分埠 telnet 不通:源伺服器 IP 不在白名單之內,導致無法訪問相應監聽埠。
  4. 目標伺服器安全組配置
    • 因素說明:?目標伺服器歸屬安全組規則阻斷了源伺服器的訪問。
    • 可能症狀及原因: 
      • ping 不通:目標伺服器入方向配置了禁 ping 規則。
      • 所有埠 telnet 都不通:目標伺服器入方向為指定埠配置了 drop 規則。
      • 只有部分埠 telnet 不通:目標伺服器入方向為所有埠配置了 drop 規則。
  5. 目標伺服器內部配置
    • 因素說明:目標伺服器內部防火牆、安全軟體等安全策略,或系統中毒等作業系統內部問題導致訪問異常。
    • 可能症狀及原因: 
      • ping 丟包:目標伺服器中毒等作業系統內部問題導致訪問異常。
      • ping 不通:目標伺服器系統內安全軟體等安全策略禁 ping
      • 所有埠 telnet 都不通:目標伺服器中毒等作業系統內部問題導致訪問異常。
      • 只有部分埠 telnet 不通:目標伺服器系統內安全軟體等安全策略禁止了對部分埠的訪問。

通過公網訪問異常時關聯因素說明

如果客戶端通過公網訪問,則涉及的關聯因素較多,包括:

客戶端網路環境

對於客戶端網路環境,可能引發訪問異常的因素及導致的客戶端症狀包括:

  1. 使用者本地網路
    • 因素說明:
      如果使用者本地網路存在異常,可能會導致部分 IP 或所有 IP 均無法正常訪問。
    • 可能症狀及原因:
      • 非阿里雲服務 IP 也無法訪問:不僅是目標伺服器無法訪問,其它非阿里雲 IP 也無法訪問。
  2. 本地 DNS 劫持
    • 因素說明:
      使用者本地網路或當地運營商有 DNS 劫持行為,導致訪問目標伺服器關聯業務時,出現非正常跳轉或者被插入廣告。
    • 可能症狀及原因:
      • 非正常跳轉:DNS 劫持導致訪問目標伺服器關聯業務時,跳轉到了其它無關聯網站。
      • 被插入廣告:DNS 劫持導致訪問目標伺服器關聯業務時,頁面被插入廣告。

運營商網路環境

對於運營商網路環境,可能引發訪問異常的因素及導致的客戶端症狀包括:

  1. 運營商網路策略
    • 因素說明:
      運營商根據其策略,可能會進行 DNS 劫持,或阻斷某些 IP、域名或埠的訪問。
    • 可能症狀及原因:
      • 被插入廣告:DNS 劫持導致訪問目標伺服器關聯業務時,頁面被插入廣告。
      • 域名無法訪問但 IP 訪問正常:運營商對某些違規域名的訪問做了阻斷。
      • 所有埠 telnet 都不通:運營商對某些違規 IP 的訪問做了阻斷。
      • 只有部分埠 telnet 不通:運營商對某些高危埠的訪問做了阻斷。
  2. 備案
    • 因素說明:
      對於境內伺服器,根據行政管控要求,需要進行備案。
    • 可能症狀及原因:
      • 非正常跳轉:目標伺服器關聯域名未備案,導致訪問關聯業務時,跳轉到了備案提示頁面。
      • 域名無法訪問但 IP 訪問正常:目標伺服器關聯域名未備案,導致訪問時,跳轉到了備案提示頁面,但通過 IP 訪問無影響。

阿里雲網路環境

對於阿里雲網路環境,可能引發訪問異常的因素及導致的客戶端症狀包括:

  1. 雲盾肉雞關停
    • 因素說明:
      目標伺服器因肉雞、中毒等問題,持續對外攻擊,被雲盾關停。
    • 可能症狀及原因:
      • ping 不通:伺服器被關停導致無法 ping 通。
      • 所有埠 telnet 都不通:伺服器被關停導致所有埠都不通。
  2. 雲盾訪問攔截
    • 因素說明:
      源伺服器因持續掃描探測、攻擊等行為,被雲盾阻斷。
      注意:如果源伺服器本地網路是通過 NAT 共享方式訪問公網的,則攻擊源不一定是客戶自身伺服器,而可能是同網路內其它伺服器。由於共享相同的公網 IP,導致雲盾阻斷相應 IP 後,源伺服器的訪問也受到了波及和影響。
    • 可能症狀及原因:
      • ping 不通:源伺服器 IP 被雲盾攔截,導致禁 ping
      • 所有埠 telnet 都不通:源伺服器 IP 被雲盾攔截,導致所有埠都無法訪問。
  3. 綠網違規遮蔽
    • 因素說明:
      目標伺服器相關 URL 存在違規內容,訪問被阻斷。
    • 可能症狀及原因:
      • 非正常跳轉:源伺服器業務異常,導致相關訪問跳轉到了 DDos 高防或 Web 應用防火牆源站異常提示頁面。
      • 部分 URL 無法訪問:被 Web 應用防火牆規則命中的相應 URL,客戶端無法正常訪問,會跳轉到了相應的阻斷提示頁面。
  4. DDos 高防和 Web 應用防火牆
    • 因素說明:
      目標伺服器業務異常,或者源伺服器相關訪問行為被 DDos 高防或 Web 應用防火牆攔截規則命中,導致訪問異常。
    • 可能症狀及原因:
      • ping 不通:伺服器被關停導致無法 ping 通。
      • 所有埠 telnet 都不通:伺服器被關停導致所有埠都不通。
  5. 負載均衡白名單
    • 因素說明:
      如果目標伺服器是負載均衡,則相應監聽埠開啟白名單後,只有指定的 IP  IP 段地址才能對其訪問。
    • 可能症狀及原因:
      • 只有部分埠 telnet 不通:源伺服器 IP 不在白名單之內,導致無法訪問相應監聽埠。
  6. 目標伺服器安全組配置
    • 因素說明:
      目標伺服器歸屬安全組規則阻斷了源伺服器的訪問。
    • 可能症狀及原因:
      • ping 不通:目標伺服器入方向配置了禁 ping 規則。
      • 所有埠 telnet 都不通:目標伺服器入方向為指定埠配置了 drop 規則。
      • 只有部分埠 telnet 不通:目標伺服器入方向為所有埠配置了 drop 規則。

目標ECS伺服器內部環境

對於目標 ECS 伺服器自身相關環境,可能引發訪問異常的因素及導致的客戶端症狀包括:

  1. 目標伺服器欠費停機
    • 因素說明:目標伺服器欠費停機導致無法訪問。
    • 可能症狀及原因:
      • ping 不通:目標伺服器欠費停機導致無法 ping 通。
      • 所有埠 telnet 都不通:目標伺服器欠費停機導致所有埠無法訪問。
  2. 目標伺服器內部配置
    • 因素說明:
      目標伺服器內部防火牆、安全軟體等安全策略,或系統中毒等作業系統內部問題導致訪問異常。
    • 可能症狀及原因:
      • ping 丟包:目標伺服器中毒等作業系統內部問題導致訪問異常。
      • ping 不通:目標伺服器系統內安全軟體等安全策略禁ping
      • 所有埠 telnet 都不通:目標伺服器中毒等作業系統內部問題導致訪問異常。
      • 只有部分埠 telnet 不通:目標伺服器系統內安全軟體等安全策略禁止了對部分埠的訪問。
  3. 軟體源地址訪問控制
    • 因素說明:
      目標伺服器內部業務軟體對源 IP 做了訪問控制,導致源伺服器無法訪問。
    • 可能症狀及原因:
      • 只有部分埠 telnet 不通:相應埠對應業務軟體對源 IP 做了訪問控制,阻斷了源伺服器的訪問。

ECS 伺服器訪問異常問題排查流程圖


對於 ECS 訪問異常問題,基本排查思路如下ECS 伺服器訪問異常問題排查流程圖所示:

 

ECS 訪問異常問題排查思路及處理辦法


對於 ECS 訪問異常問題,參照前圖,其排查思路說明如下:

通過私網訪問異常時排查思路

如果客戶端通過私網訪問,則訪問異常時,可通過如下步驟進行判斷、排查分析和處理:

  1. 所有伺服器訪問目標伺服器均存在異常?
    即從其它不同伺服器同時訪問目標伺服器做對比測試。
    • 1-A 是(所有伺服器訪問目標伺服器均存在異常):

      如果所有伺服器訪問均存在異常,則推斷是目標伺服器歸屬安全組、或伺服器內部自身存在異常所致。需要做進一步排查分析。

      • 1-A.1 伺服器內部訪問是否正常?
        即通過 管理終端 進入伺服器,在伺服器內部使用 127.0.0.1 做對比訪問測試,看是否正常。

        • 1-A.1-A 是(目標伺服器內部訪問也存在異常):
          如果目標伺服器內部訪問也存在異常,則需要聯絡業務提供商或者業務運維人員,檢查程式碼配置、軟體執行狀態。

        • 1-A.1-B 否(目標伺服器內部訪問正常):
          如果伺服器內部訪問是正常的,則需要檢查目標伺服器歸屬安全組和作業系統內相關安全軟體的安全配置,排查是否對源伺服器做了阻斷。
          安全組的常見使用問題,可以參閱安全組使用FAQ
          如果排查分析安全組和作業系統內安全軟體配置後,均未見明顯異常,則需要參閱文件網路異常時抓包操作說明,在出現異常時,從客戶端和服務端同時併發抓包,然後提交抓包結果,聯絡售後技術支援

    • 1-B 否(只有源伺服器訪問目標伺服器存在異常):
      如果只有源伺服器訪問存在異常,則推斷是源伺服器歸屬安全組、伺服器內部自身存在異常或源伺服器到目標伺服器之間的網路存在異常所致。需要做進一步排查分析。

      • 1-B.1 telnet 埠測試是否正常?
        即從源伺服器訪問目標伺服器是否只是 ping 不通而埠訪問正常。

        • 1-B.1-A 是(源伺服器 ping 不通目標伺服器,但 telnet 埠測試正常):
          如果只是 ping 不通,但埠訪問正常,則需要檢查目標伺服器歸屬安全組和作業系統內相關安全軟體的安全配置,是否對源伺服器做了禁ping
          安全組的常見使用問題,可以參閱安全組使用FAQ

        • 1-B.1-B 否(源伺服器到目標伺服器, telnet 埠測試及 ping 測試均異常):
          如果 ping  telnet 埠測試均有異常,則需要進一步排查:

          • 1-B.1-B.1 到源伺服器閘道器 ping 是否正常
            即從源伺服器內部 ping 自身閘道器,看是否正常。

            • 1-B.1-B.1-A】 否(源伺服器 ping 自身閘道器也異常):
              如果源伺服器 ping 自身閘道器也存在異常(不通或丟包),則需要通過系統日誌等檢查源伺服器自身執行狀態,比如伺服器負載、網路配置等。

            • 1-B.1-B.1-B 是(源伺服器 ping 自身閘道器正常):
              如果源伺服器 ping 自身閘道器正常。則需要進一步排查:

              • 1-B.1-B.1-B.1 到目標伺服器閘道器 ping 是否正常?
                即從源伺服器內部 ping 目標伺服器閘道器,看是否正常。

                • 1-B.1-B.1-B.1-A 否(源伺服器 ping 目標閘道器正常):
                  如果源伺服器 ping 自身閘道器和目標伺服器閘道器都正常,則需要通過系統日誌等檢查目標伺服器自身執行狀態,比如伺服器負載、網路配置等。

                • 1-B.1-B.1-B.1-B 是(源伺服器 ping 目標閘道器也不正常):
                  如果源伺服器 ping 自身閘道器正常,但 ping 目標伺服器閘道器存在異常(不通或丟包),則判斷可能是中間網路異常所致。則需要參閱文件網路異常時抓包操作說明,在出現異常時,從客戶端和服務端同時併發抓包,然後提交抓包結果,聯絡售後技術支援

通過公網訪問異常時排查思路

如果客戶端通過公網訪問,則訪問異常時,可通過如下步驟進行判斷、排查分析和處理:

  1. URL 訪問問題判斷:
    1.1 被插入廣告?
    即客戶端訪問目標伺服器業務時,是否出現了頁面被插入廣告的情況。
    • 1.1-A 是(頁面被插入廣告):
      如果是頁面被插入廣告情況,則參閱如下步驟進一步排查:
      • 1.1-A.1 系統內部訪問是否正常?
        即通過 管理終端 進入目標伺服器,在伺服器內部使用 127.0.0.1做對比訪問測試看是否正常。
        • 1.1-A.1-A 是(目標伺服器系統內部訪問也存在異常):
          如果目標伺服器內部訪問也存在異常,則需要聯絡業務提供商或者業務運維人員,檢查程式碼配置、軟體執行狀態。
        • 1.1-A.1-B 否(目標伺服器系統內部訪問正常):
          如果目標伺服器內部訪問正常,則判斷是由於本地網路異常或者本地運營商劫持所致。使用者可以嘗試修改本地 DNS 伺服器地址看問題能否解決。如果還有問題,建議聯絡本地網路部門排查分析,或向當地運營商進行問題反饋。
    • 1.1-B 否(頁面沒有被插入廣告):
      如果不是頁面被植入廣告問題,則參閱後續步驟進一步排查分析。
      • 1.1-B.1 頁面異常跳轉?
        即客戶端訪問目標伺服器業務時,相關 URL 是否出現了非正常跳轉。
        • 1.1-B.1-A 是(頁面出現了非正常跳轉):
          如果是頁面出現了非正常跳轉,則參閱如下步驟進一步排查分析:
        • 1.1-B.1-B (頁面沒有出現非正常跳轉):
          如果不是頁面非正常跳轉問題,則參閱後續步驟進一步排查分析。
  2. 問題範圍判斷:
    如果不是 URL 訪問異常問題,則需要通過對比分析確定問題範圍:
    2.1 所有網路訪問都有異常?
    即通過第三方撥測平臺,從全國各地做對比訪問測試,判斷是否所有網路訪問目標伺服器都存在同樣異常。

    • 【2.1-A】 是(所有網路訪問均存在異常):
      如果經過測試,所有外部網路訪問均存在異常,則參閱如下步驟進一步排查分析:

      •  2.1-A.1 系統內部訪問是否正常?
        即通過 管理終端 進入目標伺服器,在伺服器內部使用 127.0.0.1做對比訪問測試看是否正常。

        • 【2.1-A.1-A】 否(目標伺服器系統內部訪問也存在異常):
          如果目標伺服器內部訪問也存在異常,則需要聯絡業務提供商或者業務運維人員,檢查程式碼配置、軟體執行狀態。

        • 【2.1-A.1-B】 是(目標伺服器系統內部訪問正常):
          如果目標伺服器內部訪問正常,則需要檢查目標伺服器安全組及系統內安全配置,是否對源伺服器的訪問做了限制。
          安全組的常見使用問題,可以參閱安全組使用FAQ

    • 【2.1-B】 否(只有源伺服器訪問目標伺服器存在異常)
      如果只有源伺服器訪問存在異常,則參閱後續步驟進一步排查分析。

  3. 問題現象判斷:
    如果只有源伺服器訪問存在異常,則需要通過 ping  telnet 等測試做進一步排查分析。
    3.1 ping 是否正常?
    即客戶端 ping 目標伺服器 IP 地址是否正常。

    • 3.1-A】 否(ping 目標伺服器正常):
      如果客戶端 ping 目標伺服器丟包或不通,則可能是中間鏈路或對端伺服器存在異常所致,則需要通過 MTR 鏈路測試做進一步排查分析。
      鏈路測試操作說明可以參閱 ping 丟包或不通時鏈路測試說明

    • 3.1-B】 是(ping 目標伺服器正常,但是埠訪問不通):
      如果 ping 目標伺服器正常,但是埠訪問不通,則需要參閱後續步驟進一步排查分析。

      • 3.1-B.1 埠是否被目標伺服器攔截?
        即目標伺服器歸屬安全組或系統內部安全設定,是否有策略阻斷了客戶端對相應埠的訪問。

        • 3.1-B.1-A】  (目標伺服器阻斷了客戶端對某些埠的訪問):
          如果確認有對源伺服器的阻斷策略,則需要進行相應調整。

          安全組的常見使用問題,可以參閱安全組使用FAQ

        • 3.1-B.1-B】 否(目標伺服器沒有阻斷策略):
          如果目標伺服器沒有針對源伺服器的阻斷策略,則可能是相應被運營商攔截所致,則需要通過 tracetcp 等工具對埠阻斷情況做進一步跟蹤分析。
          埠可用性探測說明可以參閱  ping 通但埠不通時埠可用性探測說明

ECS 訪問異常問題工單提交須知


如果經過前述步驟還是未能成功解決問題,請參閱如下步驟依次進行測試並記錄測試結果,然後提交工單。

客戶端通過私網進行訪問

如果客戶端是通過私網進行訪問的,則請參閱如下步驟依次進行測試並記錄測試結果

  1. 通過不同伺服器向目標伺服器做相同的訪問測試,看是否有同樣的異常症狀。
  2. ping 目標伺服器 IP ,看是否正常。
  3. telnet 目標伺服器相應埠,看是否正常。
  4. 源伺服器 ping 自身閘道器,看是否正常。
  5. 目標伺服器 ping 自身閘道器,看是否正常。
  6. 源伺服器 ping 目標伺服器閘道器,看是否正常。
  7. 目標伺服器 ping 源伺服器閘道器,看是否正常。
  8. (按情況可選)參閱網路異常時抓包操作說明,出現異常時同時從源伺服器和目標伺服器抓包。

 客戶端通過公網進行訪問

如果客戶端是通過公網進行訪問的,則請參閱如下步驟依次進行測試並記錄測試結果

  1. 從不同地域不同網路環境,向目標伺服器做同樣的訪問測試,看是否存在同樣的異常症狀
  2. 異常情況是否是頁面被插入廣告?
  3. 異常情況是否是頁面出現了異常跳轉?
  4. 客戶端 ping 目標伺服器,看是否正常。
  5. 客戶端 telnet 目標伺服器相應業務埠,看是否正常。
  6. 如果是 ping 存在異常(丟包或中斷),則參閱 ping 丟包或不通時鏈路測試說明進行測試,並記錄測試資料。
  7. 如果 ping 正常,但埠無法訪問,則參閱  ping 通但埠不通時埠可用性探測說明 進行測試,記錄測試資料。
  8. (按情況可選)參閱網路異常時抓包操作說明,出現異常時同時從源伺服器和目標伺服器抓包。

記錄前述步驟的相關測試結果或資料,然後聯絡售後技術支援


相關文章