IP 比對器 (proto)

警告

此 API 功能目前尚在開發中。標記為開發中的 API 功能不被視為穩定,不受威脅模型的涵蓋,不受安全性團隊的支援,並可能發生重大變更。請在理解上述每一點之後再使用此功能。

.xds.type.matcher.v3.IPMatcher

[.xds.type.matcher.v3.IPMatcher proto]

使用 trie 比對特定 IP 位址與一組可能重疊的子網路。

{
  "range_matchers": []
}
range_matchers

(repeated .xds.type.matcher.v3.IPMatcher.IPRangeMatcher) 依 CIDR 範圍比對 IP 位址。

.xds.type.matcher.v3.IPMatcher.IPRangeMatcher

[.xds.type.matcher.v3.IPMatcher.IPRangeMatcher proto]

指定 IP 位址範圍清單和比對動作。

{
  "ranges": [],
  "on_match": {...},
  "exclusive": ...
}
ranges

(repeated .xds.core.v3.CidrRange, 必要) 一組非空的 CIDR 範圍。

on_match

(.xds.type.matcher.v3.Matcher.OnMatch) 當 IP 位址位於其中一個 CIDR 範圍內時,要套用的比對動作。

exclusive

(bool) 指示如果存在更特定的比對器,是否應考慮此比對選項。當存在更特定的比對器(例如具有較長前綴的比對器)時,即使更特定的比對器其巢狀比對條件失敗,也不會選擇獨佔比對器。如果存在更特定的比對器,但其巢狀比對條件不完全符合,則會考慮非獨佔比對器。非獨佔比對器會先依其特定性順序(先是最長前綴),然後再依宣告順序選取。

例如,考慮兩個範圍比對器:在 0.0.0.0/0 上的獨佔比對器 X 和在 192.0.0.0/2 上具有巢狀比對條件 Z 的比對器 Y。對於輸入 IP 192.168.0.1,比對器 Y 是最特定的。如果其巢狀比對條件 Z 不接受輸入,則即使輸入在範圍內,也將不適用較不特定的比對器 X,因為比對器 X 是獨佔的。

如果比對器 X 未標記為獨佔,則情況相反。在這種情況下,只要比對器 “Y 拒絕輸入,比對器 X 就會始終比對。