सामग्री पर जाएं
CivoCloudManager

Civo firewall अपने IP के लिए खोलिए, फिर बंद कर दीजिए।

पूरा मैनुअल तरीका, बदलते IP वाला जाल जो वह पीछे छोड़ जाता है, और एक मुफ़्त menu bar रास्ता जो रूल को तय समय पर बंद कर देता है।

आपको अभी, जहाँ बैठे हैं वहीं से, किसी Civo instance या cluster API तक पहुँचना है। जवाब एक firewall रूल है: अपना पब्लिक IPv4 निकालिए, फिर उसी एक पते से port की इजाज़त दीजिए और CIDR को /32 लिखिए। Civo पहला आधा हिस्सा आसान बना देता है और दूसरा खतरनाक, क्योंकि हाथ से जोड़ा गया रूल तब तक टिका रहता है जब तक कोई उसे मिटाए नहीं। यह पेज पहले पूरा मैनुअल तरीका दिखाता है, फिर वह हिस्सा जिसे लगभग कोई नहीं संभालता: उसे दोबारा बंद करना।

वही रूल, menu bar से खोला हुआ

  1. 01

    ऐप को बताइए कि कौन से firewall आप संभालते हैं

    पहली बार चलाने पर menu bar का shield onboarding चलाता है: Civo API key डालिए, जो macOS Keychain में जाती है, रीजन चुनिए, और वे firewall चुनिए जिन पर कंट्रोल चाहिए। हर चुने हुए firewall को एक port मिलता है, और वह फ़ील्ड 6443 से शुरू होती है।

  2. 02

    पब्लिक IPv4 उसे खुद ढूँढने दीजिए

    डिटेक्शन पहले api.ipify.org पर चलता है, फिर ifconfig.me/ip पर, फिर icanhazip.com पर, और जो पहला प्रोवाइडर सही पब्लिक पता लौटाता है वहीं रुक जाता है। IPv6 जवाब या प्राइवेट पता रूल में लिखने के बजाय एक मैसेज के साथ रिजेक्ट कर दिया जाता है, क्योंकि Civo के firewall रूल को IPv4 CIDR चाहिए।

  3. 03

    एक क्लिक रूल लिख देता है

    ऐप चुने हुए port पर ingress रूल बनाता है, CIDR में आपका पहचाना गया पता और /32 लगाकर, लेबल civo-cloud-<hostname>-<firewall-name> के साथ। Civo create रिस्पॉन्स में रूल की ठीक ID लौटा देता है, इसलिए ऐप को बाद में कभी अंदाज़ा नहीं लगाना पड़ता कि कौन सा रूल उसका अपना था।

  4. 04

    तय कीजिए कि वह कितनी देर खुला रहे

    टाइम वाला एक्सेस 15 मिनट, 30 मिनट, एक घंटा और दो घंटे देता है। Unlimited भी है, जो रूल खोल देता है और बंद करने का कोई शेड्यूल नहीं रखता, इसलिए उसे तभी चुनिए जब रूल खुद बंद करने का इरादा हो।

  5. 05

    डेडलाइन डिस्क पर लिखी जाती है

    हर क्लोज़र जॉब में firewall ID, रूल ID, रीजन और डेडलाइन रहती है, और वह ऐप की Application Support डायरेक्टरी की firewall-closures.json में एटॉमिक तरीके से लिखी जाती है। ऐप बंद कर दीजिए, डेडलाइन फिर भी बनी रहती है: अगली बार चलाने पर बीत चुके जॉब बिना popover खुले ही बंद कर दिए जाते हैं। सीमा साफ़ है, रूल मिटाने के लिए ऐप का चलना और Civo तक पहुँचना ज़रूरी है। ऐप छोड़ने या Mac के सोने से सर्वर पर कोई डिलीशन शेड्यूल नहीं होता।

  6. 06

    पते को नाम देकर प्रीसेट में सेव कीजिए

    मौजूदा IP को Home या Office जैसे नाम से रख लीजिए और बाद में उसी प्रीसेट के लिए firewall खोलिए, दोबारा डिटेक्ट किए बिना। यह तब काम आता है जब आप कहीं और बैठे हों और ऑफ़िस के स्टैटिक पते के लिए एक्सेस खोलना हो।

नया Civo firewall असल में करता क्या है

Civo के API दस्तावेज़ इस बारे में साफ़ हैं: रूल बनाते समय allow या deny चुनने को कुछ है ही नहीं, क्योंकि नए firewall का डिफ़ॉल्ट सब कुछ रोकना है और आप सिर्फ़ ज़रूरी port खोलते हैं। यानी आपका बनाया firewall बंद अवस्था से शुरू होता है और आपका जोड़ा हर रूल allow रूल है। जाल दूसरी तरफ़ है। हर रीजन में एक firewall आता है जिसका नाम शब्दशः Default (all open) है, और Civo के अपने दस्तावेज़ कहते हैं कि उसमें सारे port खुले हैं और उसे अपने हिसाब से बदल लेना चाहिए। इसलिए जो सवाल लोग बार-बार पूछते हैं उसका सही जवाब यह है: आपका अपना firewall डिफ़ॉल्ट रूप से रोकता है, रीजन वाला Default firewall नहीं रोकता।

पूरा मैनुअल तरीका

पहला कदम, अपना पब्लिक IPv4 लीजिए: curl -s https://api.ipify.org। दूसरा, रूल जोड़िए। Civo CLI में वह है civo firewall rule create <firewall_id> --protocol=TCP --startport=6443 --endport=6443 --cidr=203.0.113.42/32 --direction=ingress --label='laptop'। तीसरा, और यही वह हिस्सा है जो लोग छोड़ देते हैं, जो रूल ID वापस आती है उसे नोट कर लीजिए ताकि बाद में उसे मिटा सकें। डिफ़ॉल्ट पर नज़र रखिए: --cidr छोड़ देने पर CLI 0.0.0.0/0 लगा देता है, यानी port आपके लिए नहीं, पूरे इंटरनेट के लिए खुल जाता है। dashboard वाला रास्ता भी वैसी ही शक्ल का है: Actions, फिर Rules, फिर एक port या रेंज, प्रोटोकॉल, दिशा और CIDR।

रूल उस वजह से ज़्यादा जीता है जिसके लिए जोड़ा गया था

Civo के firewall रूल की कोई एक्सपायरी नहीं होती। वह तब तक रहता है जब तक कोई इंसान या कोई API कॉल उसे हटाए। स्टैटिक पते वाली बिज़नेस लाइन पर यह बस बिखरापन है। घर के कनेक्शन पर यह असली खतरा है, क्योंकि ज़्यादातर कंज़्यूमर ISP दोबारा कनेक्ट होने पर या रात की लीज़ रिन्यूअल पर पता बदल देते हैं। जो /32 आपने खोला था वह किसी और के राउटर को मिल जाता है, और अब आपका रूल किसी अजनबी को port 6443 तक जाने देता है, जबकि आप बाहर खड़े दूसरा रूल लिख रहे होते हैं। हाथ से लिखा हर रूल एक छोटा कर्ज़ है, और यह कर्ज़ तभी चुकता है जब आपको उसे मिटाना याद रहे।

ऐप आपका लिखा रूल कभी क्यों नहीं मिटा सकता

मालिकाना हक लेबल से तय होता है, port या पते से नहीं। ऐप सिर्फ़ civo-cloud-<hostname>-<firewall-name> लेबल वाले रूल बनाता है, और Kubernetes API कनेक्शन के लिए खुले रूल पर इसके बजाय k8s-api सफ़िक्स लगता है। Bulk Close All हर मैनेज किए firewall के रूल लिस्ट करता है और सिर्फ़ वही हटाता है जिनका लेबल इस मशीन के उस प्रीफ़िक्स से शुरू होता है। हाथ से लिखे प्रोडक्शन रूल पर ऐसा कोई लेबल नहीं होता, इसलिए वह कभी उम्मीदवार बनता ही नहीं। एक बात कह देना ज़रूरी है: स्टेटस लुकअप फेल होने पर भी menu bar में बंद या अनजान ही दिखता है, इसलिए वहाँ का दिखावा सर्वर पर बंद होने का सबूत नहीं है। जब मामला अहम हो, Civo dashboard देख लीजिए।

port 6443 और वह बार-बार क्यों आता है

6443, Kubernetes API server का port है। Civo का k3s cluster अपना endpoint https://<master-ip>:6443 के रूप में पब्लिश करता है, और kubectl, kubeconfig तथा कोई भी Kubernetes क्लाइंट उसी से बात करता है। अगर cluster का firewall आपके पते से 6443 नहीं खोलता, तो हर कमांड टाइमआउट हो जाता है, इसीलिए Civo firewall की खोजों में यह नंबर छाया रहता है। ऐप में 6443 onboarding का डिफ़ॉल्ट port है, और cluster से जुड़ते समय API एक्सेस जाँचा जाता है और रूल न हो तो आपके लिए खोल दिया जाता है। वह Kubernetes वाला रास्ता अपना रूल मेमोरी में रखता है और डिसकनेक्ट पर साफ़ कर देता है; उसे menu bar वाली टाइम्ड कतार की परसिस्टेंस और रीट्राई नहीं मिलती।

लोग असल में जो पूछते हैं

Civo firewall सिर्फ़ अपने IP के लिए कैसे खोलें?
curl -s https://api.ipify.org से अपना पब्लिक IPv4 लीजिए, फिर उस firewall पर ingress रूल बनाइए और वह पता /32 CIDR के रूप में लिखिए। Civo CLI में: civo firewall rule create <firewall_id> --protocol=TCP --startport=6443 --endport=6443 --cidr=203.0.113.42/32 --direction=ingress। API में allow या deny चुनने को कुछ है ही नहीं, क्योंकि आपका बनाया firewall तब तक सब रोकता है जब तक आप कोई port न खोलें। जो रूल ID वापस आती है उसे रख लीजिए ताकि बाद में रूल मिटा सकें।
Civo firewall रूल में /32 का क्या मतलब है?
CIDR नोटेशन में स्लैश के बाद का नंबर बताता है कि पते के कितने शुरुआती बिट तय हैं। IPv4 पता 32 बिट का होता है, इसलिए /32 सारे बिट तय कर देता है और रूल ठीक एक ही पते पर लगता है। 203.0.113.42/32 यानी वही होस्ट और कोई नहीं। तुलना के लिए, /24 में 256 पते आते हैं और 0.0.0.0/0 में पूरा इंटरनेट, और CIDR के बिना रूल बनाने पर Civo यही लगा देता है।
मेरा IP पता बदल जाए तो क्या होगा?
रूल आपके साथ नहीं बदलता। वह पुराने पते को इजाज़त देता रहता है, इसलिए आपका एक्सेस चला जाता है और आपको दूसरा रूल जोड़ना पड़ता है, जबकि ISP वह पता आगे जिसे देगा उसे आपकी खोली हुई जगह मिल जाएगी। घर के कनेक्शन पर यह सामान्य बात है, जहाँ पता आमतौर पर दोबारा कनेक्ट होने पर या रात की लीज़ रिन्यूअल पर बदलता है। इसका इलाज बेहतर IP नहीं है, बल्कि ऐसा रूल है जो खुद बंद हो जाए: port एक तय अवधि के लिए खोलिए और डेडलाइन को उसे हटाने दीजिए।
क्या CivoCloudManager मेरे मौजूदा firewall रूल छेड़ेगा?
नहीं। वह सिर्फ़ अपने बनाए रूल मिटाता है, जिन्हें civo-cloud-<hostname>-<firewall-name> लेबल से पहचाना जाता है, और Kubernetes API एक्सेस पर k8s-api सफ़िक्स लगता है। Bulk Close All कुछ भी मिटाने से पहले हर मैनेज किए firewall की रूल लिस्ट उसी प्रीफ़िक्स से छानता है, इसलिए Civo dashboard, CLI या Terraform में आपका हाथ से लिखा रूल किसी लेबल से मेल नहीं खाता और कभी नहीं हटता।
क्या ऑटो-क्लोज़ टाइमर ऐप बंद करने के बाद भी रहता है?
डेडलाइन रहती है। हर जॉब firewall ID, रूल ID, रीजन और बंद करने का समय Application Support में एटॉमिक तरीके से लिखी JSON फ़ाइल में रखता है, और बीत चुके जॉब अगली बार ऐप चलाने पर बंद होते हैं। जो नहीं बचता वह है आपकी गैरमौजूदगी में बंद होना: डिलीशन आपके Mac से जाने वाली API कॉल है, इसलिए ऐप का चलना और Civo तक पहुँचना ज़रूरी है। डेडलाइन के बाद ऐप बंद रहने या Mac के सोने से बंद होना टल जाता है, सर्वर पर कुछ शेड्यूल नहीं होता।

डीप डाइव

हर Civo प्रोडक्ट के लिए एक फ़ोकस्ड पेज।

CivoCloudManager जिन Civo सरफ़ेस को छूता है, उन सबका अपना पेज है, बारीकियों, ट्रेड-ऑफ़ और आर्किटेक्चर के ब्योरे के साथ। जो आपके आज के काम के सबसे करीब है, वही चुनिए।

firewall कंट्रोल ही मुफ़्त हिस्सा है।

menu bar से मौजूदा IP के लिए खोलना और बंद करना, नाम वाले प्रीसेट और ऑटो-क्लोज़ डेडलाइन, ये सात दिन का पूरा एक्सेस खत्म होने के बाद भी मुफ़्त रहते हैं, इसलिए इस पेज पर जो लिखा है उसे आज़माने में कुछ नहीं लगता।