iT邦幫忙

2025 iThome 鐵人賽

DAY 24
0
自我挑戰組

日誌檢查學習自我挑戰系列 第 24

DAY24:IPsec 數據加密與 VPN 流量路由整合

  • 分享至 

  • xImage
  •  

在 Site-to-Site VPN 建立過程中,IKE 階段 1 負責身份認證和建立安全管理通道;而 IPsec 階段 2 才是真正決定數據如何加密、以及哪些數據會進入隧道的關鍵環節。

  1. 階段 2:IPsec 數據傳輸協定 (IPsec SA)
    一旦 IKE 階段 1 成功完成,雙方路由器或防火牆就會開始協商建立 IPsec SA (Security Association),即實際的數據隧道。
    核心目標: 建立一個雙向的、用於加密數據的通道,並定義流量的加密細節。
    關鍵匹配項: 兩端設備必須在以下幾點達成一致:
    加密協定: 必須選擇使用 ESP (Encapsulating Security Payload) 或 AH (Authentication Header)。現代 VPN 幾乎都使用 ESP,因其提供加密和認證雙重保護。
    加密與雜湊演算法: 兩端在加密(如 AES-256)和雜湊(如 SHA-256)的演算法上必須有一組完全匹配。
    模式 (Mode): Site-to-Site VPN 必須使用 Tunnel Mode (隧道模式)。隧道模式會將原始 IP 封包完整地包裝在一個新的 IP 封包頭內,確保封包的來源和目的地 IP 地址得到隱藏。

  2. VPN 流量整合的核心:流量選擇器 (Traffic Selector)
    這是在 IPsec 階段 2 中,最容易出錯且最關鍵的配置。
    定義: 流量選擇器(在 Cisco 術語中稱為 Proxy ID)是用來告訴 VPN 設備:「哪些內部網段的流量應該被加密並送入這個隧道?」
    關鍵原則: 兩端的流量選擇器必須具備 鏡像 (Mirror Image) 關係。
    總部 (HQ) 定義: 本地網段是 A,遠端網段是 B。
    分部 (Branch) 定義: 本地網段是 B,遠端網段是 A。
    總部 Router 分部 Router 故障原因
    Local: 192.168.1.0/24 Local: 192.168.2.0/24 OK。 兩端定義正確,互為鏡像。
    Remote: 192.168.2.0/24 Remote: 192.168.1.0/24
    Local: 192.168.1.0/24 Local: 192.168.2.0/24 錯誤! 總部錯誤地將遠端網段定義為 /25,導致 IPsec SA 無法建立。
    Remote: 192.168.2.0/25 Remote: 192.168.1.0/24

總部 Router (HQ) 配置 分部 Router (Branch) 配置 故障原因與結論
Local: 192.168.1.0/24Remote: 192.168.2.0/24 Local: 192.168.2.0/24Remote: 192.168.1.0/24 OK。 兩端定義完美地互為鏡像。總部的 Local 網段等於分部的 Remote 網段,反之亦然。IPsec SA 建立成功。
Local: 192.168.1.0/24Remote: 192.168.2.0/25 Local: 192.168.2.0/24Remote: 192.168.1.0/24 錯誤! 總部錯誤地將遠端網段定義為 /25,而分部定義為 /24。即使只有 子網路遮罩 (Subnet Mask) 不匹配,也會導致兩端無法達成共識,IPsec SA 建立失敗
  1. VPN 路由的整合與排查
    隧道建立後,數據包如何知道要進入這個隧道,而不是走普通的網際網路 (Internet) 出口?答案是路由 (Routing)。
    靜態路由配置:
    這是最常見的方式。路由器必須有一條明確的靜態路由,告訴它:要前往對端網段 (192.168.2.0/24),請將流量導向 VPN 虛擬介面 (Virtual Interface) 或加密圖 (Crypto Map)。
    排查: 使用 show ip route 檢查路由表是否包含對端內網網段,且下一跳 (Next Hop) 指向正確的隧道。
    動態路由整合 (如 BGP/OSPF):
    更複雜的部署會將 VPN 隧道視為一個網路連線,在兩端之間運行 BGP 或 OSPF 來動態交換路由資訊。
    排查: 需要確保 OSPF 或 BGP 協定在隧道介面上被啟用,並且正確交換了對端的內部網段。
  2. 數據流動的最終驗證
    最後一步是確認數據是否被正確地加密並傳輸。
    關鍵計數器: 使用 show crypto ipsec sa(或類似指令)檢查 Encrypted Packets 和 Decrypted Packets 的計數器。如果計數器穩定增加,表示數據正在正確地流動。
    路徑驗證: 從內部 PC-A Ping 對端內部 PC-B。如果成功,執行 traceroute。Tracert 的結果應該只顯示到本地路由器為止,後續的躍點應該是加密隧道,無法顯示,這證明流量已進入隧道。
    掌握了這兩個階段的匹配和路由原則,您就可以解決絕大多數的 Site-to-Site VPN 故障。

上一篇
DAY23:VPN 協定原理與 IKE/IPsec 故障排除
系列文
日誌檢查學習自我挑戰24
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言