2 पॉइंट द्वारा GN⁺ 2025-11-17 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Cloudflare Zero Trust और Warp का उपयोग करके NAT·फ़ायरवॉल समस्याओं के बिना private network को कनेक्ट करने और service access को नियंत्रित करने वाली संरचना का वर्णन
  • Argo टनल के माध्यम से private network या local service को public domain पर expose किया जा सकता है, या केवल Warp कनेक्शन के समय ही access होने वाला private network बनाया जा सकता है
  • Tailscale P2P-आधारित होने के कारण तेज़ है, लेकिन NAT environment में इसकी सीमाएँ हैं, जबकि Cloudflare सभी ट्रैफ़िक को edge network के ज़रिये route करके स्थिर कनेक्शन देता है
  • Cloudflared टनल बनाने का काम करता है, Warp Client network access और policy application संभालता है, और Tunnels·Routes·Targets के ज़रिये traffic flow और access control को कॉन्फ़िगर किया जाता है
  • ईमेल·GitHub login आदि के आधार पर बारीक Access Policy सेट करके, Warp कनेक्शन की स्थिति के अनुसार login प्रक्रिया को छोड़ने या सीमित करने वाला secure network environment बनाया जा सकता है

Cloudflare Zero Trust और Warp का अवलोकन

  • Tailscale में NAT traversal fail होने के कारण Cloudflare Zero Trust + Warp सीखना शुरू किया
  • Zero Trust टनल के माध्यम से private network कनेक्ट करना, service publish करना, private IP network बनाना, local service को अस्थायी रूप से public करना जैसी कई सुविधाओं का उपयोग किया जा सकता है
  • NAT समस्या के बिना सभी ट्रैफ़िक Cloudflare network के ज़रिये भेजे जाते हैं, और granular access policies के माध्यम से user·bot·server के बीच access control संभव है
  • SSH access के समय public port खोले बिना Zero Trust authentication आधारित login का समर्थन

Cloudflare Zero Trust vs Tailscale

  • Tailscale NAT·फ़ायरवॉल को bypass करके P2P connection की कोशिश करता है, और संभव न होने पर relay server का उपयोग करता है
  • Cloudflare में Warp-to-Warp को छोड़कर बाकी सभी ट्रैफ़िक Cloudflare edge server के माध्यम से भेजे जाते हैं, इसलिए NAT समस्या नहीं होती, लेकिन थोड़ा latency बढ़ता है

Cloudflared और Warp में अंतर

  • Warp Client: client को Cloudflare network से कनेक्ट करने और policy लागू करने का टूल
    • मुख्य रूप से client पर चलता है, लेकिन server पर भी उपयोग किया जा सकता है
    • Warp-to-Warp routing के ज़रिये P2P connection का समर्थन
  • Cloudflared: टनल बनाकर उसे Zero Trust network में जोड़ने का टूल
    • server पर चलकर network entry point प्रदान करता है
    • cloudflared access कमांड से दूसरे Zero Trust resources से कनेक्ट किया जा सकता है
    • one-time test के लिए टनल भी बनाई जा सकती है

Tunnels, Routes, Targets संरचना

  • Tunnels: cloudflared के ज़रिये deploy किए जाने वाले traffic exit point
    • उदाहरण: home network (192.168.1.1/24) में हमेशा चालू रहने वाली डिवाइस पर install
    • config file (/etc/cloudflared/config.yml) में request आने पर routing target तय किया जाता है
    • उदाहरण: gitlab.widgetcorp.techlocalhost:80, gitlab-sshlocalhost:22
  • Public exposure उदाहरण:
    • homeassistant.mydomain.com192.168.1.3 पर route
    • Cloudflare DNS में CNAME को tunnel address पर सेट करने से Warp के बिना भी access संभव
  • Routes: किस tunnel को किस specific IP range पर traffic भेजना है, यह परिभाषित करता है
    • उदाहरण: पूरा 192.168.1.1/24 या single IP 192.168.1.3/32
    • Warp connected होने पर उस IP के लिए request Cloudflare network के ज़रिये tunnel तक पहुँचती है
    • मौजूद न होने वाला virtual IP (जैसे 10.128.1.1) भी route किया जा सकता है
  • Targets: सुरक्षित किए जाने वाले infrastructure unit को परिभाषित करता है
    • उदाहरण: homeassistant.mydomain.com192.168.1.3/32
    • target पर access policy लागू करके केवल specific user को access दिया जा सकता है

Access Policies: access control

  • tunnel, route और target कॉन्फ़िगर करने के बाद Access Policy से access permissions सेट की जाती हैं
  • policy components
    • Include: access allow करने की शर्तें (OR)
    • Require: वे शर्तें जो अनिवार्य रूप से पूरी होनी चाहिए (AND)
    • Action: Allow / Deny / Bypass / Service Auth
  • उदाहरण 1 – ईमेल-आधारित access control
    • केवल specific email address को access की अनुमति
    • GitHub login method के ज़रिये authentication को सीमित किया जा सकता है
  • उदाहरण 2 – Warp कनेक्शन पर login skip
    • Gateway selector का उपयोग करके Zero Trust Warp connected होने पर login screen को skip किया जा सकता है
    • Warp disconnected होने पर GitHub login आवश्यक

Warp client deployment और registration

  • Settings → Warp Client में registration policy सेट करना
    • GitHub authentication और केवल specific email के लिए registration allow
    • WARP authentication ID सेट करने पर Gateway selector का उपयोग संभव
  • Profile Settings में client behavior परिभाषित करना
    • protocol (MASQUE/WireGuard), service mode, routing exclusion IP आदि सेटिंग
    • Cloudflare CA auto-install, unique CGNAT IP allocation, device status check (Device Posture) भी सेट किए जा सकते हैं
  • Warp client login के बाद Zero Trust network connection पूरा
    • इसके बाद 192.168.1.3 के लिए request tunnel के ज़रिये route होती है

निर्माण परिणाम का सारांश

  • GitHub और email-आधारित login policy से Warp client registration
  • private network के भीतर का tunnel homeassistant.mydomain.com request को 192.168.1.3 तक भेजता है
  • 192.168.1.3 ट्रैफ़िक केवल Warp connected होने पर ही tunnel के ज़रिये access किया जा सकता है
  • DNS-आधारित public access और Warp-आधारित private access, दोनों तरीके उपलब्ध
  • Warp connected होने पर login skip, disconnected होने पर GitHub authentication आवश्यक

अतिरिक्त रूप से शामिल नहीं किए गए विषय

  • Warp-to-Warp routing
  • Zero Trust के भीतर केवल internal उपयोग के लिए private IP बनाना
  • SSH authentication policy configuration
  • Self-Hosted के अलावा अन्य application types

मूल लेख में अतिरिक्त जानकारी नहीं है

1 टिप्पणियां

 
GN⁺ 2025-11-17
Hacker News राय
  • Cloudflare TLS termination point के रूप में काम करता है, इसलिए व्यक्तिगत उपयोग के लिए यह कम अनुकूल है
    Tailscale Funnel इस्तेमाल करने पर certificate सीधे मेरे endpoint पर install होता है, लेकिन Cloudflare बीच में traffic को decrypt करके फिर से encrypt करता है
    WARP की personal network privacy का स्तर कितना है, यह ठीक से नहीं जानता, लेकिन internet tunneling में privacy में गिरावट बड़ी लगती है
    साथ ही P2P connection + relay fallback संरचना third-party relay के बिना भी काम कर सकती है, इसलिए यह कहीं ज़्यादा बेहतर लगती है

    • हाल ही में मैंने खुद TunnelBuddy नाम का एक प्रोजेक्ट बनाया
      यह दोस्त की machine को WebRTC-based exit node की तरह इस्तेमाल करता है, और TURN/relay server के बिना सिर्फ P2P को support करता है
      NAT environment के हिसाब से connection success rate कम हो सकती है, लेकिन traffic किसी third-party server से नहीं गुजरता, इसलिए privacy assurance पक्की है
    • “Zero Trust” कहते हुए भी आखिरकार पूरी तरह Cloudflare पर भरोसा करना पड़ता है, यह बात विडंबनापूर्ण है
    • निजी तौर पर मैं Tailscale पर ज़्यादा भरोसा करता हूँ, लेकिन Cloudflare के custom domain और clientless access फीचर आकर्षक हैं
      Caddy से भी कुछ ऐसा बनाया जा सकता है, लेकिन फिर भी port forwarding चाहिए
    • awesome-tunneling list में मौजूद NetFoundry भी एक अच्छा विकल्प है
      end-to-end encryption और 100 से अधिक PoP के ज़रिए performance और reliability देना इसकी खासियत है
    • connet का लक्ष्य P2P + relay fallback संरचना है
      इसमें केवल participating peers ही endpoint expose करते हैं, इसलिए security और privacy के लिहाज़ से यह फायदेमंद है
      इसे खुद host कर सकते हैं या official service इस्तेमाल कर सकते हैं
  • मैं घर और personal use के लिए Netbird इस्तेमाल कर रहा हूँ
    इसे Synology NAS, परिवार के सभी laptop·desktop·mobile पर install किया है, और Tmux environment में remote desktop की तरह इस्तेमाल करना सुविधाजनक है

  • “सारा traffic Cloudflare network से होकर गुजरता है” यह पढ़कर मैंने आगे पढ़ना बंद कर दिया
    Hyprspace ने मेरे सामने आए हर NAT को पार किया है, और बड़े कॉर्पोरेट infrastructure के बिना भी अच्छी तरह काम करता है

  • यह लेख सचमुच एक बेहतरीन configuration guide जैसा लगा
    Cloudflare इसे document करके official guide के रूप में इस्तेमाल करे तो अच्छा होगा

  • मैंने एक पोस्ट पढ़ी जिसमें कहा गया था कि NAT environment में Tailscale जब P2P connection स्थापित नहीं कर पाया तो झुंझलाकर Cloudflare Zero Trust + Warp सीखा गया
    लेकिन Cloudflare तो शुरुआत से P2P की कोशिश ही नहीं करता, और आखिरकार मामला Cloudflare trust model पर शिफ्ट होने का है
    प्रेरणा समझना मुश्किल है, लेकिन लेख खुद अच्छी तरह व्यवस्थित है

    • Cloudflare के पास दुनिया भर में high-quality PoP network है, इसलिए व्यवहार में इसकी quality P2P से बेहतर रही
      हमारी कंपनी भी पूरी तरह remote है, और Tailscale से Cloudflare पर जाने के बाद performance बेहतर हुई
    • असली सवाल यह है कि Cloudflare के रास्ते जाने पर भी peers के बीच encryption बनी रहती है या नहीं
      अगर बनी रहती है तो trust model का फर्क बहुत बड़ा नहीं है, लेकिन Cloudflare की ताकत relay performance है, इसलिए speed के मामले में यह फायदेमंद है
      फिर भी Tailscale की NAT hole punching क्षमता बेहतरीन है, इसलिए जहाँ संभव हो मैं direct connection को पसंद करता हूँ
  • निजी services को expose करने के लिए मैं tuns.sh इस्तेमाल कर रहा हूँ
    यह SSH tunnel आधारित है, इसलिए बिना install किए तुरंत इस्तेमाल किया जा सकता है, यही बात मुझे पसंद है

  • लेख और comments दोनों उपयोगी थे
    बस article की image टूटी हुई है और 404 error दे रही है — जैसे: targets-config-screen.png

  • CF के gold issue पर आखिरकार आलोचना देख कर अच्छा लगा
    मुझे लगता है Zero Trust model की समस्याओं की ओर इशारा करने वाली ऐसी चर्चा ज़रूरी है

  • मुफ्त Cloudflare account से Plex server नहीं चला पाना एक घातक कमी है
    संबंधित terms यहाँ देखे जा सकते हैं

    • क्या आपके ISP ने IPv6 दिया है?
      मैं IPv6 के आधार पर Emby और Jellyfin दोस्तों के साथ अच्छी तरह इस्तेमाल कर रहा हूँ
    • आखिर कौन उम्मीद करेगा कि कोई मुफ्त में video streaming traffic देगा?
      साधारण web traffic के मुकाबले एक फिल्म से ही सैकड़ों गुना bandwidth cost आती है
    • मेरे free account में cloudflared tunnel के साथ Jellyfin अच्छी तरह काम करता है
      मेरी girlfriend के work laptop पर Tailscale install नहीं हो सकता था, इसलिए यह तरीका काम आया
    • व्यवहार में अगर traffic बहुत ज़्यादा न हो तो terms को सख्ती से लागू नहीं किया जाता
    • मैं भी इसे Jellyfin के लिए इस्तेमाल कर रहा हूँ, और कई महीनों से बिना समस्या के चल रहा है
  • Cloudflare का इस्तेमाल कहीं vendor lock-in तो नहीं, यह सवाल है
    कम-से-कम Tailscale में ऐसी निर्भरता नहीं लगती

    • लेकिन यह जानकर हैरानी हुई कि Tailscale भी आखिरकार एक commercial vendor है
      मुझे लगा था कि यह open source project है, पर ऐसा नहीं था