我有Cloudflare Tunnel
兩個子網域。我需要其中一個公開,而另一個如果來源不是我的 IP 則被阻止。我建立了一個網路策略,其中表示 if SNI Domain is admin.example.com
(即我需要阻止其他 IP 的子網域),Source IP is not <my ip>
然後Block
.這適用於該Source IP
部分,但它也阻止了我的其他子網域與任何其他 IP 的連接,因此它SNI Domain is admin.example.com
沒有執行我需要的操作。需要改變什麼才能使其發揮作用?
答案1
根據提供的信息,問題似乎出在您在 Cloudflare Tunnel 中建立的網路策略上。如果來源 IP 不是您的 IP,您所描述的策略將阻止流向 admin.example.com 子網域的流量,但如果來源 IP 不是您的 IP,它也會阻止流向其他子網域的流量。這可能是因為該策略適用於所有流量,無論前往哪個子網域。
若要解決此問題,您需要更新網路策略,使其僅適用於流向 admin.example.com 子網域的流量。這可以透過向與傳入流量的子網域相符的策略新增條件來完成。例如,您可以使用 SNI 網域條件來符合流向 admin.example.com 子網域的流量。
以下是更新後的網路策略的範例:
if SNI Domain is admin.example.com and Source IP is not <my ip> then Block
此更新後的政策僅適用於流向 admin.example.com 子網域的流量,並將阻止來自非您 IP 的任何來源 IP 的流量。這應該允許從任何來源 IP 存取其他子網域,同時仍阻止從其他 IP 存取 admin.example.com 子網域。
另外值得注意的是,如果您想要阻止存取多個子網域,則可以使用 SNI 網域條件一次符合多個子網域。例如,您可以使用下列條件來封鎖對 admin.example.com 和 secure.example.com 子網域的存取:
if SNI Domain is admin.example.com or SNI Domain is secure.example.com and Source IP is not <my ip> then Block
如果來源 IP 不是您的 IP,這將阻止對兩個子網域的訪問,同時允許訪問其他子網域。您可以根據需要調整網路策略中的條件以滿足您的特定要求。
答案2
事實證明我使用了錯誤的策略區域。我需要為管理子網域Gateway -> Policies -> Network Policy
建立一個應用程式 ( ),而不是。Access -> Applications -> Add an Application
然後該應用程式允許我限制 IP 範圍。