← Cloudflare One / cloudflare-one / traffic-policies
Proxy
Můžete přeposílat HTTP a síť provoz do Gateway pro účely protokolování a filtrování. Gateway umí proxovat jak odchozí provoz, tak provoz směřující k prostředkům připojeným přes Cloudflare Tunnel, tunel GRE (Generic Routing Encapsulation) nebo tunel IPsec. Když se uživatel připojí k proxy Gateway, Gateway přijme spojení a naváže nové, samostatné spojení s origin serverem.
Proxy Gateway je vyžadována k filtrování HTTP a síťového provozu prostřednictvím Cloudflare One Client v režimu Traffic a DNS. Pokud chcete proxovat HTTP provoz bez nasazení Cloudflare One Client, můžete nakonfigurovat Soubory PAC na vašich zařízeních.
Algoritmus proxy
Gateway používá Algoritmus Happy Eyeballs ↗, což zkouší připojení IPv4 a IPv6 s postupným záložním přechodem a použije tu rodinu adres, která odpoví jako první, aby provoz proxovalo v tomto pořadí:
- Prohlížeč uživatele zahájí navázání TCP spojení odesláním segmentu TCP SYN Gateway.
- Gateway odešle segment SYN na origin server.
- Pokud origin server odešle zpět segment SYN-ACK, Gateway naváže samostatná TCP připojení mezi uživatelem a Gateway a mezi Gateway a origin serverem.
- Gateway kontroluje a filtruje provoz přijatý od uživatele.
- Pokud provoz projde kontrolou, Gateway jej obousměrně přeposílá mezi uživatelem a origin serverem.
flowchart TD
%% Accessibility
accTitle: How Gateway proxy works
accDescr: Flowchart describing how the Gateway proxy uses the Happy Eyeballs algorithm to establish TCP connections and proxy user traffic.
%% Flowchart
A[User's device sends TCP SYN to Gateway] --> B[Gateway sends TCP SYN to origin server]
B --> C{{Origin server responds with TCP SYN-ACK?}}
C -->|Yes| E[TCP handshakes completed]
C -->|No| D[Connection fails]
E --> F{{Connection allowed?}}
F -->|Allow policy| G[Gateway proxies traffic bidirectionally]
F -->|Block policy| H[Connection blocked by firewall policies]
%% Styling
style D stroke:#D50000
style G stroke:#00C853
style H stroke:#D50000
Podporované protokoly
Gateway podporuje proxy pro provoz TCP, UDP a ICMP.
TCP
Pokud je proxy zapnutá, Gateway vždy přeposílá provoz TCP.
Pokusy o TCP připojení ve výchozím nastavení vyprší po 30 sekundách a nečinná připojení se odpojí po 8 hodinách.
UDP
UDP proxy přeposílá UDP provoz, jako je VoIP, interní požadavky DNS, a aplikace typu thick client.
HTTP/3 používá protokol QUIC přes UDP. Chcete-li provoz HTTP/3 kontrolovat, zapněte dešifrování TLS i proxy UDP. Gateway pak spojení HTTP/3 zachytí a připojí se ke zdrojovému serveru přes HTTP/2. V opačném případě provoz HTTP/3 kontrolu obejde. Další informace o chování specifickém pro jednotlivé prohlížeče najdete v Kontrola HTTP/3.
ICMP (Internet Control Message Protocol)
Proxy ICMP umožňuje, aby se provoz ICMP dostal do vaší privátní sítě přes Gateway. To by uživateli Cloudflare One Client umožnilo například spouštět diagnostické příkazy, jako je ping a traceroute na interní IP adresu serveru.
Povolit ICMP provoz přes cloudflared
Chcete-li používat proxy ICMP s Cloudflare Tunnel, možná budete muset nakonfigurovat cloudflared hostitele, aby povolil provoz ICMP přes cloudflared.
-
Zajistěte, aby
ping_group_rangezahrnuje ID skupiny (GID) uživatele, který spouštícloudflared:a. Najděte uživatele, kterému patří
cloudflaredproces:ps -aux | grep cloudflaredjohndoe 407 0.8 1.7 1259904 35296 ? Ssl 21:02 0:00 /usr/bin/cloudflared --no-autoupdate tunnel run --token eyJhI...b. Získejte ID skupiny pro
cloudflareduživatel:id -g johndoe10001c. Určete ID skupin, které mají povoleno používat ICMP:
sudo sysctl net.ipv4.ping_group_rangenet.ipv4.ping_group_range= 0 10000d. Buď přidejte uživatele do skupiny v tomto rozsahu, nebo rozsah upravte tak, aby zahrnoval skupinu, ve které se uživatel již nachází. Chcete-li aktualizovat
ping_group_range:echo 0 10001 | sudo tee /proc/sys/net/ipv4/ping_group_rangee. Pokud potřebujete, aby se změna projevila i u již spuštěného procesu, musíte restartovat
cloudflared. Aby změna zůstala zachována i po restartu, aktualizujtesystclparametry:echo "net.ipv4.ping_group_range = 0 10001" | sudo tee -a /etc/sysctl.d/99-cloudflared.conf -
Pokud používáte více síťových rozhraní (například
eth0aeth1), nakonfigurujtecloudflaredk použití externího rozhraní přístupného z internetu:cloudflared tunnel run --icmpv4-src <IP of primary interface>
Ve svém prostředí upravte ping_group_range parametr tak, aby obsahoval ID skupiny (GID) uživatele, který spouští cloudflared.
Ve výchozím nastavení cloudflared kontejner Docker ↗ se spouští jako uživatel s názvem nonroot uvnitř kontejneru. nonroot je konkrétní uživatel, který existuje v základní image ↗ které používáme, a jeho ID skupiny je pevně nastaveno na 65532.
Zapnutí proxy Gateway
Přepínač proxy Gateway se vztahuje pouze na provoz ze zařízení s Cloudflare One Client. Gateway vždy proxuje provoz odeslaný pomocí Soubory PAC nebo Browser Isolation bez ohledu na toto nastavení.
- V Cloudflare dashboard ↗, přejděte na Zero Trust > Zásady provozu > Nastavení provozu.
- V Nastavení proxy a kontroly, zapněte Povolit předávání provozu přes Secure Web Gateway.
- Vyberte TCP.
- (Volitelné) V závislosti na vašem případu použití můžete vybrat UDP a/nebo ICMP.