團隊文章

網路營運者為何需要路由來源授權(ROA)

ROA 說明哪個網路可以發起某條路由。了解如何準備 ROA、檢查其效果,以及在更換網路時不把簽署紀錄誤當成傳送保證。

目錄

模型工作坊上的藍色圓圈,與授權卡和一台網路裝置上的標記相互對應。

來源授權會把位址區塊連結到獲准宣告它的網路,但不會保證整段傳送路徑。

你的位址沒有改變,但你希望由另一個網路宣告它們。新的連線已經準備好,網際網路的其他部分會接受這條路由嗎?路由來源授權,也就是 ROA,是變更前必須正確處理的紀錄之一。

它讓位址持有人可以聲明哪個自治系統能為某個前綴,也就是一個 IP 位址區塊,發起路由。這項聲明為其他網路提供可供檢查的證據。它不會宣告路由、不會傳送封包,也不會保證每個供應商都會接受這條路由。

從你打算宣告的路由開始

自治系統是擁有自身路由政策的網路,以 ASN 識別。來源 ASN 是在宣告路由中顯示為起點的 ASN。發起路由的自治系統不一定由登記為位址持有人的組織營運。

發布授權前,先確認前綴、預定的來源 ASN,以及你確實打算宣告的任何更具體前綴。 RFC 9582中的 ROA 格式會把 ASN 連結到前綴及其允許的最大長度。更長的前綴代表更小的位址區塊。

例如,允許特定的 /24,與允許其中每一個更小的區塊,是兩回事。不必要地放寬 maxLength,會給予超出目前宣告所需的彈性。 RFC 9319說明了營運者為何應保持這項授權的精確性。

發布與檢查是不同的工作

持有人透過自己的 RPKI 設定發布經過簽署的授權資料。接收網路的驗證軟體會檢查這些資料,並產生一組已驗證的紀錄。它的路由器可以使用這些紀錄,比對收到的路由來源。營運者則設定這項結果如何影響路由。

來源相符且前綴長度在許可範圍內,驗證結果就是 Valid。若有涵蓋該前綴的授權,但沒有相符的授權,結果就是 Invalid。若沒有任何授權涵蓋該前綴,則為 NotFound。 這三種狀態讓「缺少紀錄」與「紀錄衝突」有所區別。儲存庫中的 ROA 本身,並不能到處阻擋錯誤宣告。

按正確順序進行變更

如果位址區塊要移往另一個來源,請先準備必要的授權,再依賴新的宣告。如果在轉換期間有意同時使用兩個來源,授權就必須反映這項計畫。觀察抵達驗證器與接收網路的資料,然後確認實際路由與可達性。不再需要的過時權限應予撤銷。

所有路由器並不會在某個統一的時刻看到新紀錄。RPKI 發布、驗證與路由器更新各有自己的時間;降低 DNS TTL 並不能控制它們。 RFC 7115討論了快取與更新之間的作業差異。

在隔離的實驗室中測試錯誤的來源與前綴長度。在生產環境中,監控預期路由、驗證資料、工作階段的運作狀態,以及供應商所採用的政策。冗餘驗證器有助於應對個別故障,但它們的資料來源、軟體與設定仍可能依賴相同的要素。

保留其餘的檢查

來源驗證不會驗證完整的 AS 路徑、不會阻止每一種路由洩漏,也不會加密使用者流量。前綴過濾器、路由關係與其他作業控制仍然重要。如果路由失敗,請調查確切的不一致之處與接收方政策;移除所有驗證,或假設每條 Invalid 路由都是攻擊,都不是可靠的診斷方式。

安全性應服務於營運網路的人

盧恒在筆記 28中主張,必要的紀錄保存不應變成可任意施加的懲罰。有用的簽署授權是一項技術聲明,不是給維護周邊紀錄之機構的無限授權。

他在 筆記 64中呼籲採用可在本地驗證的共同規則、可攜式的協調紀錄,以及由參與者選擇未來變更的方式。對網路營運者而言,關鍵在於連續性:知道服務依賴哪些紀錄、誰能變更它們,以及協調者失效時,準確的證據如何仍能繼續使用。

繼續閱讀 IPv4 前綴為何變更來源 ASN,以區分路由變更與持有人變更。