防火牆規則總覽

Google Cloud Platform (GCP) 防火牆規則可根據您的設定,允許或拒絕虛擬機器 (VM) 執行個體的傳入與傳出流量。系統一律會強制執行已啟用的 GCP 防火牆規則,藉此保護採用不同設定和作業系統的執行個體,即使執行個體尚未啟動亦然。

每個虛擬私人雲端網路皆會以分散式防火牆的形式運作。雖然防火牆規則是在網路層級定義,但是否允許連線則取決於每個執行個體本身。您可以想像成 GCP 防火牆規則不僅存在於執行個體與其他網路之間,也存在於相同網路的個別執行個體之間。如需建立與使用防火牆規則的操作說明,請參閱使用防火牆規則一文。

GCP 的防火牆規則

建立 GCP 防火牆規則時,您必須指定虛擬私人雲端網路,以及一組用來定義規則作用的組成部分。這些組成部分可讓您根據流量的通訊協定、通訊埠、來源和目的地指定特定類型的流量。詳情請參閱防火牆規則組成部分一節。

您可以透過 Google Cloud Platform 主控台gcloud 指令列工具REST API 建立或修改 GCP 防火牆規則。建立或修改防火牆規則時,您可以使用規則的目標元件指定要套用規則的執行個體。

除了您建立的防火牆規則外,GCP 還有其他可影響傳入和傳出流量的規則:

  • GCP 不允許在虛擬私人雲端網路中使用某些 IP 通訊協定,例如 GRE。詳情請參閱一律封鎖的流量一節。

  • GCP 一律允許 VM 執行個體在 169.254.169.254 與其對應中繼資料伺服器進行通訊。詳情請參閱一律允許的流量一節。

  • 每個網路都有兩項默示防火牆規則,其中一項允許連出連線,另一項則封鎖傳入連線。您建立的防火牆規則可覆寫這些默示規則。

  • default 網路會預先填入可刪除或修改的防火牆規則

規格

GCP 防火牆規則具有下列特性:

  • 防火牆規則僅支援 IPv4 流量。透過位址指定輸入規則的來源或輸出規則的目的地時,您只能使用以 CIDR 標記法表示的 IPv4 位址或 IPv4 區塊。

  • 每項防火牆規則的動作為 allowdeny。規則在強制執行的情況下會套用到流量,但如果您有特殊需求 (例如排解問題),則可停用規則。

  • 每項防火牆規則會套用到傳入 (ingress) 或傳出 (egress) 流量其中之一,不會同時套用到兩者。詳情請參閱流量方向一節。

  • 建立防火牆規則時,您必須選取虛擬私人雲端網路。規則在執行個體層級強制執行時,其設定會與虛擬私人雲端網路建立關聯。這表示您無法讓各個虛擬私人雲端網路共用防火牆規則,包括透過虛擬私人雲端網路對等互連或 Cloud VPN 通道連線的網路。

  • GCP 防火牆規則具有狀態。如果來源與目標之間或目標與目的地之間允許連線,則只要連線有效,系統就會允許任何方向的所有後續流量。換句話說,只要工作階段建立完畢,防火牆規則即會允許雙向通訊。只要每 10 分鐘至少傳送一個封包,連線就算有效。防火牆規則無法在允許某一方向流量的情況下,同時又拒絕相關聯的傳回流量。

  • GCP 防火牆規則不會重組以片段構成的 TCP 封包。因此,「適用於 TCP 通訊協定的防火牆規則只會套用到第一個片段」,因為該片段包含 TCP 標頭。而適用於 TCP 通訊協定的防火牆規則並不會套用到後續的 TCP 片段。

  • 在防火牆規則表中,追蹤連線數的上限取決於執行個體的機器類型支援的有狀態連線數。

執行個體機器類型 有狀態連線數的上限
共用核心機器類型 130,000 個
1 到 8 個 vCPU 的執行個體 每個 vCPU 130,000 個連線
超過 8 個 vCPU 的執行個體 總共 1,040,000 (130,000×8) 個連線

默示規則

每個虛擬私人雲端網路都有兩項默示防火牆規則,但這些既有的規則並不會顯示在 Cloud Console 中:

  • 默示允許輸出規則:這項 egress 規則的動作為 allow、目的地為 0.0.0.0/0 且優先順序為最低 (65535),可允許任何執行個體傳送流量到任何目的地 (GCP 封鎖的流量除外)。如有其他優先順序更高的防火牆規則,傳出權限可能會受到限制。如果沒有其他防火牆規則拒絕傳出流量,且執行個體具有外部 IP 位址或使用 NAT 執行個體,則會允許網際網路存取。詳情請參閱網際網路存取需求條件一文。

  • 默示拒絕輸入規則:這項 ingress 規則的動作為 deny、來源為 0.0.0.0/0 且優先順序為最低 (65535),可封鎖傳入所有執行個體的流量來保護執行個體。若有其他優先順序更高的規則,系統可能會允許傳入權限。請注意,default 網路含有某些額外規則可覆寫這個規則,以允許特定類型的傳入流量。

默示規則無法移除,但優先順序最低。您可以建立優先順序較高 (優先順序編號「小於」65535) 的規則來覆寫默示規則。由於 deny 規則的層級高於具有相同優先順序的 allow 規則,因此優先順序為 65535 的輸入 allow 規則永遠不會生效。

default 網路中預先填入的規則

default 網路會預先填入允許向執行個體傳入流量的防火牆規則。這些規則可視情況加以刪除或修改:

  • default-allow-internal
    允許網路中的執行個體之間進行所有通訊協定與通訊埠的輸入連線。這個規則的優先順序排在倒數第二 (65534),並會有效允許 VM 執行個體接受相同網路中其他 VM 執行個體的傳入連線。
  • default-allow-ssh
    允許從任何來源透過 TCP 通訊埠 22 連線到網路中任何執行個體的輸入連線。此規則的優先順序為 65534
  • default-allow-rdp
    允許從任何來源透過 TCP 通訊埠 3389 連線到網路中任何執行個體的輸入連線。此規則的優先順序為 65534,並且允許連線至執行 Microsoft 遠端桌面通訊協定 (RDP) 的執行個體。
  • default-allow-icmp
    允許從任何來源連入網路中任何執行個體的 ICMP 流量。此規則的優先順序為 65534,並且會啟用 ping 等工具。

一律封鎖的流量

Google Cloud Platform 一律會封鎖下列流量。您的防火牆規則無法用於允許下表所述的任一流量。

一律封鎖的流量 適用對象
GRE 流量 所有來源與所有目的地,包括使用內部 IP 位址的執行個體
TCP、UDP、ICMP 及 IPIP 以外的通訊協定 以下兩者之間的流量:
• 執行個體與網際網路之間
• 使用外部 IP 位址定址的執行個體之間
• 執行個體之間 (如有具備外部 IP 位址的負載平衡器)
TCP 通訊埠 25 (SMTP) 上的輸出流量 流量方向:
• 從執行個體到網際網路
• 從執行個體到透過外部 IP 位址定址的其他執行個體

一律允許的流量

169.254.169.254 執行各個執行個體時,Google 會一併執行一個本機中繼資料伺服器。這個伺服器對於執行個體的運作很重要,因此無論您設定了什麼防火牆規則,執行個體都可存取這個伺服器。中繼資料伺服器可為執行個體提供下列基本服務:

防火牆規則組成部分

每個防火牆規則均由下列設定部分組成:

  • 優先順序編號:用於決定是否套用規則。系統僅會套用優先順序最高 (優先順序編號最小) 且其他部分符合流量的規則,優先順序較低且有所衝突的規則會遭到忽略。

  • 流量方向ingress 規則會套用到從指定「來源」流向 GCP「目標」的連入連線,而 egress 規則會套用到從「目標」流向指定「目的地」的流量。

  • 相符時執行的動作allowdeny,可決定規則會允許或封鎖流量。

  • 目標:定義要套用規則的執行個體 (包括 GKE 叢集與 App Engine 彈性環境執行個體)。

  • ingress 規則的來源egress 規則的目的地

  • 通訊協定 (例如 TCP、UDP 或 ICMP) 與通訊埠

  • 防火牆規則的強制執行狀態:您可以啟用及停用防火牆規則,而不需要將其刪除。

組成部分摘要

輸入 (傳入) 規則
優先順序 動作 強制執行 目標 (定義目的地) 來源 通訊協定和通訊埠
065535 之間的整數 (包含首尾);預設值為 1000
allowdeny enabled (預設) 或 disabled 目標參數可指定目的地,至於目的地則可以是下列其中一項:
• 虛擬私人雲端網路中的
所有執行個體
• 以服務帳戶識別的
  執行個體
• 以網路標記識別的執行個體
可以是下列其中一項:
• IPv4 位址範圍;
預設值為任何 IP 位址 (0.0.0.0/0)
• 以服務帳戶識別的
  執行個體
• 以網路標記識別的執行個體
指定通訊協定,或是通訊協定和通訊埠。
如未設定,則規則會套用到所有通訊協定。
輸出 (傳出) 規則
優先順序 動作 強制執行 目標 (定義來源) 目的地 通訊協定和通訊埠
065535 之間的整數 (包含首尾);預設值為 1000
allowdeny enabled (預設) 或 disabled 目標參數可指定來源,至於來源則可以是下列其中一項:
• 虛擬私人雲端網路中的
所有執行個體
• 以服務帳戶識別的
  執行個體
• 以網路標記識別的執行個體
IPv4 位址的任何網路或特定範圍;預設值為任何 IP 位址 (0.0.0.0/0)。 指定通訊協定,或是通訊協定和通訊埠。
如未設定,則規則會套用到所有通訊協定。

優先順序

防火牆規則的優先順序是 065535 之間的整數 (包含首尾)。整數值越小代表優先順序越高。 如果建立規則時未指定優先順序,則系統會將優先順序指派為 1000

系統評估多個防火牆規則時,會依據規則的相對優先順序判斷規則的適用性。評估邏輯如下:

  • 如果規則的優先順序最高且適用於指定流量類型的目標,則系統會以該規則為優先。目標的明確程度並不會影響規則的適用性。舉例來說,如果有個 ingress 規則的優先順序較高,且允許所有目標接收特定通訊埠與通訊協定的傳入流量,則該規則會覆寫具有類似定義,且允許特定目標接收相同通訊埠與通訊協定傳入流量的規則。

  • 系統會優先評估適用於指定通訊協定與通訊埠定義的最高優先順序規則,即使通訊協定與通訊埠的定義較為籠統也是如此。舉例來說,如果有個 ingress 規則的優先順序較高,且允許指定目標接收所有通訊協定與通訊埠的傳入流量,則該規則會覆寫優先順序較低,且拒絕相同目標接收 TCP 22 流量的 ingress 規則。

  • 「只有在兩個規則的優先順序相同時」,動作為 deny 的規則才會覆寫動作為 allow 的規則。 您可以使用相對優先順序建構覆寫 deny 規則的 allow 規則,反之亦然。

  • 優先順序和動作都相同的規則會產生相同的結果。不過,評估時使用的規則並不明確。一般來說,除非您啟用了防火牆規則記錄,否則使用哪個規則並不重要。如果您想讓記錄以一致明確的順序顯示接受評估的防火牆規則,請為規則指派不重複的優先順序。如要進一步瞭解記錄,請參閱防火牆規則記錄總覽一文。

請設想下列具有兩個防火牆規則的範例:

  • ingress 規則,來源為 0.0.0.0/0 (任何位置),適用於所有目標、所有通訊協定及所有通訊埠,動作為 deny 且優先順序為 1000

  • ingress 規則,來源為 0.0.0.0/0 (任何位置),適用於帶有 webserver 標記的特定目標,可規範 TCP 80 上的流量,動作為 allow

第二個規則的優先順序可決定是否針對 webserver 目標允許通訊埠 80 上的 TCP 流量:

  • 如果第二個規則設定的優先順序編號「大於」1000,優先順序就會「較低」,因此系統會套用拒絕所有流量的第一個規則。

  • 如果第二個規則設定的優先順序為 1000,兩個規則的優先順序相同,因此會套用拒絕所有流量的第一個規則。

  • 如果第二個規則設定的優先順序編號「小於」1000,優先順序就會「較高」,因此會針對 webserver 目標允許 TCP 80 上的流量。如果沒有其他規則,第一個規則仍會拒絕流向 webserver 目標的其他類型的流量,也會拒絕向「沒有」webserver 標記的執行個體傳送的所有流量,包含 TCP 80 上的流量。

以上範例示範如何使用優先順序建立選擇性的 allow 規則與全域 deny 規則,以實施所涉權限最低的安全性最佳做法。

流量方向

防火牆規則的方向分為 ingressegress。方向一律從目標的角度來定義。

  • ingress 方向代表流量是從來源傳送到目標。新工作階段的封包如果是傳送到目標,就會套用輸入規則。

  • egress 方向代表流量是從目標傳送到目的地。新工作階段的封包如果是從目標傳送,就會套用輸出規則。

  • 如果您未指定,GCP 會採用 ingress 的方向。

以相同網路中的兩個 VM 之間的連線為例。VM1 到 VM2 的流量可透過以下任一防火牆規則加以控管:

  • 目標為 VM2 且來源為 VM1 的 ingress 規則。

  • 目標為 VM1 且目的地為 VM2 的 egress 規則。

相符時執行的動作

防火牆規則的動作部分可根據規則的其他部分決定允許或封鎖流量:

  • allow 動作會允許符合其他指定部分的連線。

  • deny 動作會封鎖符合其他指定部分的連線。

強制執行

您可以將防火牆規則的狀態設為啟用或停用,藉此變更是否「執行」防火牆規則。在進行疑難排解或授予執行個體暫時存取權時,停用規則會十分實用。比起刪除並重新建立規則的做法,停用規則並進行測試後再重新啟用的做法會比較簡單。

除非另有指定,否則所有防火牆規則在建立時均為「啟用」狀態。您也可以選擇建立停用狀態的規則

防火牆規則的執行狀態可透過更新規則的方式,從啟用變更為停用,或是從停用變更為啟用。

在下列情況中,請考慮停用防火牆規則:

  • 疑難排解:如果您不確定防火牆規則會封鎖還是允許流量,請暫時停用規則以判定是允許還是封鎖流量。這適用於疑難排解某項規則與其他規則合併使用造成的影響。
  • 維護作業:停用防火牆規則可讓定期維護更加輕鬆。假設有個防火牆規則會封鎖傳入 SSH 到目標 (例如具有目標標記的執行個體),且該規則通常處於啟用狀態。當您需要執行維護作業時,您可以停用該規則,並在完成後重新啟用規則。

目標

針對輸入 (傳入) 規則,目標參數可指定目的地 VM 執行個體,包含 GKE 叢集和 App Engine 彈性環境執行個體。針對輸出 (傳出) 規則,目標則可指定來源執行個體。因此,目標參數始終用於指定 GCP 執行個體,但某一目標是做為流量的目的地或其來源,取決於規則的方向

您可以使用下列其中一個選項來指定目標:

  • 網路中的所有執行個體:防火牆規則套用到網路中的所有執行個體。

  • 以目標標記識別的執行個體:防火牆規則僅會套用到具有相符網路標記的執行個體。

  • 以服務帳戶識別的執行個體:防火牆規則僅會套用到具有特定服務帳戶的執行個體。如要瞭解每個防火牆規則可套用的目標服務帳戶數上限,請參閱虛擬私人雲端配額與限制一文。

如要詳細瞭解目標標記與目標服務帳戶的優勢及限制,請參閱依服務帳戶篩選與依網路標記篩選的比較一節。

目標與 IP 位址

無論目標的指定方式為何,輸入防火牆規則的目標會套用到所有「抵達」虛擬私人雲端網路中執行個體網路介面的流量。輸入防火牆規則會在封包目的地與下列其中一個 IP 位址相符時生效:

  • 指派給虛擬私人雲端網路中執行個體網路介面的主要內部 IP 地址。

  • 虛擬私人雲端網路中執行個體網路介面設定的任何別名 IP 範圍

  • 與虛擬私人雲端網路中執行個體網路介面相關聯的外部 IP 位址。

  • GCP 負載平衡器 (如果執行個體是負載平衡器的後端)。

無論目標的指定方式為何,輸出防火牆規則會套用到所有「離開」虛擬私人雲端網路中執行個體網路介面的流量。輸入防火牆規則會在下列情況下生效:封包來源與主要內部 IP 位址相符,或與虛擬私人雲端網路中執行個體網路介面設定的任何別名 IP 範圍相符。

來源或目的地

您可以依據建立防火牆的方向指定來源「或」目的地,但無法同時指定兩者:

  • 針對輸入 (傳入) 規則,目標參數可指定流量的目的地執行個體。您無法使用目的地參數,但可以使用來源參數指定來源。

  • 針對輸出 (傳出) 規則,目標參數可指定流量的來源執行個體。您無法使用來源參數,但可以使用目的地參數指定目的地。

來源

來源參數僅適用於輸入規則,且必須為下列其中一項:

  • 來源 IP 範圍:您可以將 IP 位址範圍指定為封包來源。範圍可包含您虛擬私人雲端網路內外的位址。來源 IP 範圍可用來定義 GCP 內外的來源。

  • 來源標記:您可以將封包來源定義為同一虛擬私人雲端網路中,VM 執行個體網路介面的主要內部 IP 位址,並透過相符的網路標記來識別這些來源執行個體。來源標記「只會」套用到您虛擬私人雲端網路中另一個適用執行個體傳送的流量。來源標記「無法」控管來自外部 IP 位址的封包,即使該外部 IP 位址屬於執行個體。如要瞭解每個防火牆規則可套用的來源標記數上限,請參閱虛擬私人雲端配額與限制一文。

  • 來源服務帳戶:您可以將封包來源定義為同一虛擬私人雲端網路中,執行個體網路介面的主要內部 IP 位址,並透過執行個體使用的服務帳戶來識別這些來源執行個體。來源服務帳戶「只會」套用到您虛擬私人雲端網路中另一個適用執行個體傳送的流量。來源服務帳戶「無法」控管來自外部 IP 位址的封包,即使該外部 IP 位址屬於執行個體。如要瞭解每個防火牆規則可套用的來源服務帳戶數上限,請參閱虛擬私人雲端配額與限制一文。

  • 您可以使用來源 IP 範圍來源標記的組合。

  • 您可以使用來源 IP 範圍來源服務帳戶的組合。

  • 如果省略所有「來源 IP 範圍」、「來源標記」和「來源服務帳戶」,GCP 會將來源定義為任何 IP 位址 (0.0.0.0/0)。

目的地

目的地參數僅適用於輸出規則。目的地參數僅接受 IP 位址範圍。這些範圍可包含您的虛擬私人雲端網路內外的位址。

如果您沒有指定目的地範圍,GCP 會將目的地定義為所有 IP 位址 (0.0.0.0/0)。

通訊協定和通訊埠

您可以指定通訊協定,或同時指定通訊協定與通訊埠,來縮小防火牆規則的範圍。您可以指定通訊協定,或通訊協定及其通訊埠的組合。如果您同時省略通訊協定與通訊埠,防火牆規則適用於任何通訊協定與任何通訊埠的所有流量。

為了設定專屬防火牆規則,您必須先指定通訊協定。如果該通訊協定支援多個通訊埠,您可以選擇性地指定任一通訊埠編號或通訊埠範圍,但並非所有通訊協定都支援通訊埠。例如,TCP 與 UDP 之下都有通訊埠,但 ICMP 並沒有。(ICMP 之下有不同的「ICMP 類型」,但並非通訊埠)。

您可以使用通訊協定的名稱 (tcpudpicmpespahsctpipip) 或十進位 IP 通訊協定編號來指定通訊協定。

GCP 防火牆規則使用通訊埠資訊參照「封包的目的地通訊埠」,而不是其來源通訊埠:

  • 對於輸入 (傳入) 防火牆規則而言,根據規則目標參數所辨識出的系統中所涵蓋的通訊埠,就是目的地通訊埠。(針對輸入規則,目標參數可指定流量的目的地 VM)。

  • 對於輸出 (傳出) 防火牆規則而言,根據規則目的地參數所辨識出的系統中所涵蓋的通訊埠,就是目的地通訊埠。

下表大致列出了 GCP 防火牆規則的有效通訊協定與通訊埠規格組合:

規格 範例 說明
沒有通訊協定與通訊埠 如果您未指定通訊協定,防火牆規則會套用至所有通訊協定及其適用的通訊埠。
通訊協定 tcp 如果您指定不含任何通訊埠資訊的通訊協定,防火牆規則會套用至該通訊協定及其所有適用的通訊埠。
通訊協定與單一通訊埠 tcp:80 如果您指定通訊協定與單一通訊埠,防火牆規則只會套用至該通訊協定的這個通訊埠。
通訊協定與通訊埠範圍 tcp:20-22 如果您指定通訊協定與通訊埠範圍,防火牆規則只會套用至該通訊協定的這個通訊埠範圍。
組合 icmp,tcp:80,tcp:443,udp:67-69 如果您指定以逗號分隔的通訊協定或通訊協定與通訊埠清單,防火牆規則會套用至每個指定的通訊協定與通訊埠。詳情請參閱建立防火牆規則一文。

根據服務帳戶篩選來源與目標

您可以使用服務帳戶建立本質上更加明確的防火牆規則:

  • 針對輸入與輸出規則,您可以使用服務帳戶來指定目標

  • 針對輸入規則,您可以在 VM 使用特定服務帳戶的網路中,將傳入封包的來源指定為網路中任何 VM 的主要內部 IP 位址。

您必須先建立服務帳戶「之後」,才能建立依附於該服務帳戶的防火牆規則。

使用服務帳戶識別執行個體的防火牆規則會套用到新建立且與服務帳戶相關聯的執行個體,如要套用到現有的執行個體,您必須變更執行個體的服務帳戶。如要變更與執行個體相關聯的服務帳戶,您必須停止並重新啟動該執行個體。您可以將服務帳戶連結到個別執行個體,也可以連結到代管執行個體群組使用的執行個體範本。

依服務帳戶篩選與依網路標記篩選的比較

本節重點說明在決定應使用服務帳戶還是網路標記定義目標與來源 (針對輸入規則) 時,需要考量的幾項要點。

如需對防火牆規則套用至 VM 的方式嚴加控管,請使用目標服務帳戶與來源服務帳戶,而不是使用目標標記與來源標記:

  • 網路標記是任意屬性。 任何具有執行個體編輯權限的身分與存取權管理成員,都可將一或多個網路標記與執行個體建立關聯。對於專案具有 Compute Engine 執行個體管理員角色的身分與存取權管理成員,即擁有這項權限。有權編輯執行個體的身分與存取權管理成員可以變更其網路標記,進而變更該執行個體適用的防火牆規則組合。

  • 服務帳戶代表與執行個體相關聯的身分。 一個執行個體只能與一個服務帳戶相關聯。您可以針對其他身分與存取權管理成員進行服務帳戶使用者角色的授予控管,藉此控管服務帳戶的存取權。身分與存取權管理成員如要啟動使用服務帳戶的執行個體,該成員對於該服務帳戶至少必須具有「服務帳戶使用者」角色,並且要擁有建立執行個體的適當權限 (例如具有專案的「Compute Engine 執行個體管理員」角色)。

您無法在任何防火牆規則中混和使用服務帳戶與網路標記。

  • 您無法在任何防火牆規則 (輸入或輸出) 中同時使用目標服務帳戶與目標標記。

  • 以目標標記或目標服務帳戶指定目標時,下列項目是無效的輸入防火牆規則來源:

目標 無效來源
目標標記 來源服務帳戶
來源 IP 範圍與來源服務帳戶的組合
目標服務帳戶 來源標記
來源 IP 範圍與來源標記的組合

服務帳戶與網路標記的作業考量包括:

  • 變更執行個體的服務帳戶時,需要停止並重新啟動該執行個體,但在執行個體運作時,您可以新增或刪除標記。

  • 您可以為防火牆規則指定最大數量的目標服務帳戶、來源服務帳戶、目標網路標記和來源網路標記。詳情請參閱虛擬私人雲端資源配額一文。

  • 如果您使用網路標記識別執行個體,防火牆規則會套用到執行個體的主要內部 IP 位址。

使用案例

以下使用案例示範防火牆規則如何運作。請注意這些範例中的所有防火牆規則均為啟用狀態。

輸入案例

輸入防火牆規則可控管從來源到虛擬私人雲端網路中目標執行個體的連入連線。輸入規則的來源可定義為下列其中一個項目:

  • IPv4 位址範圍;預設值為任何位址 (0.0.0.0/0)
  • 虛擬私人雲端網路中以服務帳戶識別的其他執行個體
  • 虛擬私人雲端網路中以網路標記識別的其他執行個體

預設來源為任何 IP 位址 (0.0.0.0/0)。如果您需要控管虛擬私人雲端網路以外來源的傳入連線,包括網際網路上的其他來源,請使用以 CIDR 格式表示的 IPv4 位址範圍。

動作為 allow 的輸入規則會根據其他的規則組成部分允許傳入流量。除了指定規則的來源與目標外,您還可以限制規則以套用至特定通訊協定與通訊埠。同樣地,動作為 deny 的輸入規則可根據防火牆規則的其他部分封鎖傳入流量,藉此保護執行個體。

輸入範例

下圖針對可由防火牆規則控管的輸入連線提供了一些範例。這些範例使用規則指派中的目標參數,將規則套用至特定執行個體。

輸入防火牆規則範例 (按一下可放大)
輸入防火牆規則範例 (按一下可放大)
  • 優先順序為 1000 的輸入規則適用於 VM 1。這個規則允許來自任何來源 (0.0.0.0/0) 的傳入 TCP 流量。根據虛擬私人雲端網路中其他執行個體適用的輸出規則,系統會允許來自這些執行個體的 TCP 流量。VM 4 可透過 TCP 與 VM 1 進行通訊,原因是 VM 4 的輸出規則並不會封鎖這類通訊 (僅套用「默示允許輸出規則」)。由於 VM 1 具有外部 IP,所以這個規則還會允許來自網際網路上外部主機的傳入 TCP 流量。

  • VM 2 未指定任何輸入防火牆規則,因此「默示拒絕輸入規則」會封鎖所有傳入流量。無論網路中的其他執行個體採用何種輸出規則,來自這些執行個體的連線一律都會遭到封鎖。由於 VM 2 具有外部 IP,因此會有網際網路的外部主機與該 VM 之間的「路徑」,但此默示拒絕規則也會封鎖外部傳入流量。

  • 優先順序為 1000 的輸入規則適用於 VM 3。這個規則允許來自網路中具有 client 網路標記的執行個體 (例如 VM 4) 的 TCP 流量。系統允許將 TCP 流量從 VM 4 傳送到 VM 3,原因是 VM 4 的輸出規則並不會封鎖這類通訊 (僅套用「默示允許輸出規則」)。由於 VM 3 不具有外部 IP,所以不會有網際網路上的外部主機與該 VM 之間的路徑。

輸出案例

輸出防火牆規則可控管來自虛擬私人雲端網路中目標執行個體的連出連線。動作為 allow 的輸出規則會根據其他的規則組成部分允許來自執行個體的流量。舉例來說,您可以允許傳出流量透過您指定的通訊協定與通訊埠傳送到特定目的地 (例如特定範圍的 IPv4 位址)。同樣地,動作為 deny 的輸出規則會根據規則的其他部分封鎖流量。

每個 egress 規則都需要有「目的地」。預設目的地為任何 IP 位址 (0.0.0.0/0),但您可以使用以 CIDR 格式表示的 IPv4 位址範圍建立更明確的目的地。指定特定範圍的 IPv4 位址時,您可以針對流向您網路中的執行個體,以及您網路外部目的地 (包括網際網際上的目的地) 的流量進行控管。

輸出範例

下圖針對可由防火牆規則控管的輸出連線提供了一些範例。這些範例使用規則指派中的目標參數,將規則套用至特定執行個體。

輸出防火牆規則範例 (按一下可放大)
輸出防火牆規則範例 (按一下可放大)
  • VM 1 未指定任何輸出防火牆規則,因此「默示允許輸出規則」允許這個執行個體傳送流量到任何目的地。根據虛擬私人雲端網路中的其他執行個體適用的輸入規則,系統會允許與這些執行個體的連線。因為 VM 4 的輸入規則允許來自任何 IP 位址範圍的傳入流量,所以 VM 1 能夠傳送流量到 VM 4。由於 VM 1 具有外部 IP 位址,所以能夠傳送流量到網際網路上的外部主機。因為防火牆規則具有狀態,所以系統會允許對 VM 1 傳送的流量的傳入回應。

  • 優先順序為 1000 的輸出規則適用於 VM 2。這個規則拒絕將所有外送流量傳送到所有目的地 (0.0.0.0/0)。無論虛擬私人雲端中的其他執行個體套用何種輸入規則,系統均會封鎖傳送到這些執行個體的外送流量。雖然 VM 2 具有外部 IP 位址,這個防火牆規則仍會封鎖其外送流量,不允許傳送到網際網路上的外部主機。

  • 優先順序為 1000 的輸出規則適用於 VM 3。這個規則會封鎖目的地落在 192.168.1.0/24 IP 範圍內的傳出 TCP 流量。雖然 VM 4 的輸入規則允許所有傳入流量,但 VM 3 無法傳送 TCP 流量到 VM 4,可是由於輸出規則僅會套用至 TCP 通訊協定,所以 VM 3 可傳送 UDP 流量到 VM 4。此外,VM 3 可傳送任何流量到虛擬私人雲端網路中 192.168.1.0/24 IP 範圍以外的其他執行個體,只要這些執行個體的輸入規則允許這類流量即可。因為不具有外部 IP 位址,所以不會有路徑可以將流量傳送到虛擬私人雲端網路以外的位置。

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
虛擬私人雲端