INTEGRITY Dokumentace

Systémové požadavky

Náš konektor, cloudflared, byl navržen tak, aby byl lehký a dostatečně flexibilní pro efektivní nasazení na Raspberry Pi, vašem notebooku nebo serveru v datovém centru.

Na rozdíl od starších VPN, kde propustnost určuje paměť serveru, CPU a další hardwarové parametry, je propustnost Cloudflare Tunnel omezena především počtem portů nakonfigurovaných v systémovém softwaru. Při dimenzování cloudflared server, nejdůležitější je stanovit velikost dostupných portů na počítači tak, aby odpovídala očekávané propustnosti provozu TCP a UDP.

Doporučení

Pro většinu případů použití doporučujeme následující základní konfiguraci:

Toto nastavení obvykle stačí na obsloužení provozu od 8,000 uživatelů Cloudflare One Client (4,000 na jeden hostitel). Skutečné množství prostředků, které používá cloudflared bude záviset na mnoha proměnných, včetně počtu požadavků za sekundu, šířky pásma, síťové cesty a hardwaru. Jakmile přibudou další uživatelé nebo pokud síťový provoz převýší váš stávající kapacita tunelu, můžete tunel škálovat přidáním dalšího cloudflared hostitele v dané lokalitě.

Počet portů

Když cloudflared přijme požadavek ze zařízení, použije porty hostitelského stroje k vyhodnocení a přeposlání požadavku do vaší origin service. Každý stroj je z hlediska návrhu systému hardwarově omezen na maximálně 65,535 portů. Kromě toho má každá služba na daném stroji omezený počet portů, které může využít. Z tohoto důvodu doporučujeme následující model nasazení:

Chcete-li zvýšit počet portů dostupných pro cloudflared na Linuxu:

Pokud má váš počítač /etc/sysctl.d/ adresář:

echo 'net.ipv4.ip_local_port_range = 11000 60999' | sudo tee -a /etc/sysctl.d/99-cloudflared.conf
sudo sysctl -p /etc/sysctl.d/99-cloudflared.conf

V opačném případě:

echo 'net.ipv4.ip_local_port_range = 11000 60999' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p /etc/sysctl.conf

Chcete-li zvýšit počet portů dostupných pro cloudflared na Windows nastavte dynamický rozsah portů pro TCP a UDP:

netsh int ipv4 set dynamicport tcp start=11000 num=50000
netsh int ipv4 set dynamicport udp start=11000 num=50000
netsh int ipv6 set dynamicport tcp start=11000 num=50000
netsh int ipv6 set dynamicport udp start=11000 num=50000

Privátní DNS

DNS dotazy využívají více systémových prostředků ve srovnání s TCP a non-DNS UDP požadavky. Pro optimalizaci dostupnosti služby Cloudflare doporučuje rozdělit privátní DNS provoz do vlastního Cloudflare Tunnel. Tunel by měl běžet na vyhrazeném hostiteli a obsahovat pouze trasy pro IP adresy vašeho interního resolveru DNS.

hodnoty ulimit

Na Linuxu a macOS, ulimit nastavení určují systémové prostředky dostupné přihlášenému uživateli. Doporučujeme nakonfigurovat následující ulimity na cloudflared server:

ulimit Popis Hodnota
-n Maximální počet otevřených souborů nebo deskriptorů souborů ≥ 70,000

Chcete-li zobrazit aktuální hodnoty ulimit, otevřete terminál a spusťte:

ulimit -a

Chcete-li nastavit otevřené soubory ulimit:

ulimit -n 70000

Výše uvedený příkaz nastavuje limit otevřených souborů pouze pro aktuální relaci terminálu a po restartu nebo novém přihlášení se toto nastavení neuchová. Chcete-li limit nastavit trvale, nakonfigurujte jej pomocí trvalé metody odpovídající vašemu operačnímu systému.

Odhadovaná propustnost

Většina provozu privátní sítě je proxována přes cloudflared spadá do jedné ze dvou kategorií:

Provoz TCP využívá a uvolňuje porty téměř okamžitě. To znamená, že pro přetížení cloudflared instance s 50 000 dostupnými porty by vaše organizace musela nepřetržitě generovat 50 001 požadavků TCP za sekundu.

Provoz UDP je jedinečnější. Dotazy DNS, které obvykle tvoří většinu provozu UDP, používají porty v rozsahu cloudflared po dobu pěti sekund. Provoz UDP, který není DNS, drží každý port po dobu trvání připojení, což může trvat libovolně dlouho. To znamená, že k přetížení cloudflared instance s 50 000 dostupnými porty byste museli nepřetržitě generovat buď 10 000 dotazů DNS na váš privátní resolver za sekundu, nebo celkem 50 000 ne-DNS UDP požadavků za dobu kratší, než je vaše doba resetování spojení.

Vypočítejte kapacitu svého tunelu

Naše základní doporučení slouží jako výchozí bod pro nasazení Cloudflare Tunnel. Jakmile budete mít alespoň týden reprezentativní vzorek uživatelů využívajících vaši síť, můžete přizpůsobit velikost tunelu podle vlastních vzorců provozu.

Chcete-li vypočítat kapacitu vašeho tunelu:

  1. Nastavte služba metrik když spustíte tunel.
  2. Přibližně po týdnu proveďte dotaz na následující metriky tunelu:
    • cloudflared_tcp_total_sessions
    • cloudflared_udp_total_sessions
  3. Vypočítejte průměrnou Požadavky TCP za sekundu a Požadavky UDP jiné než DNS za sekundu vydělením celkového počtu relací celkovým časem.
  4. Ve svém privátním DNS resolveru zjistěte průměrnou Privátní DNS požadavky za sekundu.
  5. Zadejte své hodnoty do naší kalkulačky pro určení velikosti:

Konfigurace systému





Metriky




Výsledek




Tato kalkulačka slouží pouze pro informativní účely a všechny výsledky jsou pouze odhady.

Podle těchto výsledků můžete zjistit, zda je váš tunel dostatečně dimenzovaný. Kapacitu tunelu zvýšíte přidáním identických hostitelských strojů se spuštěným cloudflared repliky.