- होम
- मल्टी-क्लाउड नेटवर्किंग
- Customer Edge diagnostics
- Reaching a Customer Edge
- साइट कंसोल
साइट कंसोल
इस डिप्लॉयमेंट के एक CE से 2026-07-28 को कैप्चर किया गया। sitecli/capture-manifest.json
यह दर्ज करता है कि कौन सा नोड था, और scripts/capture-sitecli.sh --check एक लाइव CE के विरुद्ध
कमांड सरफ़ेस को पुनः सत्यापित करता है।
प्रत्येक Customer Edge, F5 के साइट कंसोल को https://<sli-ip>:65500 पर सर्व करता है। इस
डिप्लॉयमेंट पर यह आमतौर पर सबसे पहले आज़माने वाला रास्ता होता है।
यह आपसे सबसे कम मांगता है: वितरित करने के लिए कोई SSH कुंजी नहीं, बनाए रखने के लिए कोई जंप होस्ट नहीं, नोड पर कोई सार्वजनिक IP नहीं,
और इसे सक्षम करने के लिए कोई VM प्रतिस्थापन नहीं। कौन कनेक्ट कर सकता है, यह एक Azure RBAC
निर्णय बन जाता है। और इसे साइट के पंजीकृत होने की आवश्यकता नहीं है: यह पृष्ठ पहली बार तब कैप्चर किया गया था
जब तीनों साइटें site_state: FAILED रिपोर्ट कर रही थीं, और उन्हीं नोड्स के विरुद्ध ONLINE होने के बाद
अपरिवर्तित रूप से पुनः सत्यापित किया गया।
अड़चन यह है कि साइट कंसोल केवल नोड के आंतरिक (SLI) पते पर उत्तर देता है, जो केवल VNet के भीतर से पहुँच योग्य है। Azure Bastion नेटवर्क पर कुछ और रखे बिना उस अंतर को समाप्त कर देता है।
शुरू करने से पहले
Section titled “शुरू करने से पहले”-
Azure में साइन इन करें और Bastion एक्सटेंशन जोड़ें। टनलिंग एक नेटिव-क्लाइंट सुविधा है और एक्सटेंशन डिफ़ॉल्ट रूप से इंस्टॉल नहीं होता।
Terminal window az loginaz extension add --name bastion -
CE वर्चुअल मशीन, उसके नेटवर्क इंटरफ़ेस, और Bastion होस्ट पर Reader रखें। यह Microsoft की दस्तावेज़ीकृत आवश्यकता है और यहाँ असत्यापित है — इस डिप्लॉयमेंट में प्रत्येक रन सब्सक्रिप्शन ओनर के रूप में था, इसलिए कोई निम्नतर भूमिका पर्याप्त या अपर्याप्त सिद्ध नहीं की गई है।
-
पुष्टि करें कि Bastion डिप्लॉय है और सक्षम है। Basic SKU न टनलिंग का समर्थन करता है न IP-आधारित कनेक्शन का, इसलिए यहाँ
StandardऔरTrueदोनों महत्वपूर्ण हैं।Terminal window az network bastion list -g "$(terraform output -raw resource_group_name)" \--query "[].{name:name, sku:sku.name, tunneling:enableTunneling}" -o tableName Sku Tunneling----------------- -------- -----------mcn-ce-ha-bastion Standard True
टनल खोलें
Section titled “टनल खोलें”मानों को टाइप करने के बजाय terraform output से लें — रिसोर्स id ऐसी चीज़ नहीं है
जिसे हाथ से जोड़ा जाए।
-
Bastion होस्ट का नाम, रिसोर्स ग्रुप, और लक्षित CE का VM रिसोर्स id पढ़ें।
Terminal window cd terraformBASTION=$(terraform output -raw bastion_name)RG=$(terraform output -raw resource_group_name)VM_ID=$(terraform output -json ce_vm_ids | jq -r '.eastus01')mcn-ce-ha-bastionrg-mcn-ce-ha-<deployer>/subscriptions/…/providers/Microsoft.Compute/virtualMachines/f5-xc-ce-vm-01 -
टनल शुरू करें। यह रोके जाने तक पोर्ट खुला रखता है, इसलिए इसे बैकग्राउंड में चलाएँ या दूसरा टर्मिनल उपयोग करें।
Terminal window az network bastion tunnel \--name "$BASTION" \--resource-group "$RG" \--target-resource-id "$VM_ID" \--resource-port 65500 \--port 65500 &WARNING: Opening tunnel on port: 65500WARNING: Tunnel is ready, connect on port 65500WARNING: Ctrl + C to closeतीनों पंक्तियों में
WARNING:उपसर्ग है। यह Azure CLI द्वारा प्रगति को stderr पर लिखा जाना है, कोई समस्या नहीं। कनेक्ट करने से पहलेTunnel is readyकी प्रतीक्षा करें। -
पुष्टि करें कि लिसनर लोकल है, loopback पर:
Terminal window lsof -nP -iTCP:65500 -sTCP:LISTENCOMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEPython 41648 you 7u IPv4 … 0t0 TCP 127.0.0.1:65500 (LISTEN) -
कंसोल खोलें। टनल इसे लोकल बना देता है, इसलिए पता
localhostहै — नोड का पता नहीं।Terminal window open https://localhost:65500/ # macOSxdg-open https://localhost:65500/ # Linux -
समाप्त होने पर टनल रोकें —
Ctrl-C, या यदि आपने इसे बैकग्राउंड किया था तोkill %1। इसे खुला छोड़ना लोकल पोर्ट 65500 और Bastion सत्र को रोके रखता है।
आप क्या देखेंगे
Section titled “आप क्या देखेंगे”एक क्रेडेंशियल डायलॉग, लॉगिन पेज नहीं। कंसोल HTTP Basic प्रमाणीकरण का उपयोग करता है, इसलिए ब्राउज़र अपना स्वयं का उपयोगकर्ता नाम और पासवर्ड प्रॉम्प्ट उठाता है। देखने के लिए कोई फ़ॉर्म नहीं है:
curl -skI https://localhost:65500/HTTP/1.1 401 UnauthorizedWWW-Authenticate: Basic realm="Volterra Site Console"Content-Type: text/html; charset=utf-8Content-Length: 0उस realm के साथ 401 का अर्थ है कंसोल सही ढंग से काम कर रहा है। एक अप्रमाणित
अनुरोध को यही मिलना चाहिए — और उसी URL को admin क्रेडेंशियल देने पर
200 उत्तर मिलता है, और ब्राउज़र खोलने से पहले क्रेडेंशियल की पुष्टि इसी तरह की जाती है:
curl -sk -u admin -o /dev/null -w '%{http_code}\n' https://localhost:65500/Enter host password for user 'admin':200बिना कोलन के -u admin curl को कमांड लाइन से पासवर्ड लेने के बजाय उसके लिए प्रॉम्प्ट करने को कहता है,
जहाँ वह शेल इतिहास और प्रोसेस सूची में पहुँच जाता।
एक प्रमाणपत्र चेतावनी, एक साथ तीन कारणों से। प्रमाणपत्र की सीधे जाँच करने पर:
openssl s_client -connect localhost:65500 -servername localhost </dev/null 2>/dev/null \ | openssl x509 -noout -subject -issuer -datessubject=C=US, ST=California, L=Santa Clara, O=Volterra, OU=Volterra Edge Services, CN=site-local.volterra.ioissuer=C=US, ST=California, L=Santa Clara, O=Volterra, OU=Volterra Edge Services, CN=site-local.volterra.ionotBefore=Oct 25 04:51:31 2024 GMTnotAfter=Oct 25 04:51:31 2025 GMTSubject, issuer के बराबर है, अतः यह स्व-हस्ताक्षरित है। नाम site-local.volterra.io है जबकि
आप localhost से कनेक्ट कर रहे हैं, इसलिए यह मेल नहीं खाएगा। और जिस बिल्ड पर यह डिप्लॉयमेंट
चलता है, उस पर प्रमाणपत्र 25 अक्टूबर 2025 को समाप्त हो गया — उपकरण इसे शिप करता है, और इस
रिपॉज़िटरी में कुछ भी इसका नवीनीकरण नहीं करता।
एक स्पष्ट ब्राउज़र चेतावनी की अपेक्षा करें, और हर बार उसकी अपेक्षा करें। ऊपर की subject पंक्ति उपयोगी हिस्सा है: यही वह तरीका है जिससे आप पुष्टि करते हैं कि आप उपकरण तक पहुँचे, न कि लोकल पोर्ट 65500 पर सुन रही किसी और चीज़ तक।
admin क्रेडेंशियल
Section titled “admin क्रेडेंशियल”admin के रूप में साइन इन करें। यह दस्तावेज़ीकरण पासवर्ड प्रकाशित नहीं करता, और नहीं करना चाहिए।
इसे प्रकाशित न करने के दो कारण यहाँ जितना दिखता है उससे अधिक महत्वपूर्ण हैं:
- यह दस्तावेज़ीकरण सार्वजनिक है। फ़्लीट का वर्तमान कंसोल पासवर्ड छापना “Bastion पर Reader रखता है” को इस पृष्ठ को पढ़ने वाले किसी भी व्यक्ति के लिए पूर्ण उपकरण एक्सेस में बदल देगा।
- दस्तावेज़ीकरण में प्रकाशित पासवर्ड उस क्षण गलत हो जाता है जब कोई उसे रोटेट करता है, और सबसे भ्रामक तरीके से गलत — पाठक निष्कर्ष निकालता है कि उसकी पहुँच टूटी हुई है, न कि यह कि पृष्ठ पुराना है।
एक बार रोटेट हो जाने के बाद, इसे वहाँ से लें जहाँ आपकी टीम परिचालन गुप्त जानकारी रखती है।
टनल को रिसोर्स id ही क्यों लक्षित करना चाहिए
Section titled “टनल को रिसोर्स id ही क्यों लक्षित करना चाहिए”--target-resource-id आवश्यक है। इसके बजाय नोड के पते को लक्षित करना अस्वीकार कर दिया जाता है —
आप जो भी पता उपयोग करें, इसलिए यहाँ जानबूझकर कोई वास्तविक पता नहीं छापा गया है:
az network bastion tunnel --name "$BASTION" -g "$RG" \ --target-ip-address <any-sli-address> --resource-port 65500 --port 65501ERROR: Custom ports are not allowed. Allowed ports for Tunnel with IP connect is 22, 3389.कारण यह नहीं है कि IP-आधारित कनेक्शन अक्षम है — इस Bastion पर
ip_connect_enabled true है। Microsoft उस सेटिंग की परवाह किए बिना IP-आधारित
नेटिव-क्लाइंट कनेक्शनों पर कस्टम पोर्ट का समर्थन नहीं करता
(Azure docs), और 65500
एक कस्टम पोर्ट है। यहाँ Bastion कॉन्फ़िगरेशन का निरीक्षण करना कहीं नहीं ले जाता; रिसोर्स
id का उपयोग करें।
जब यह काम न करे
Section titled “जब यह काम न करे”| लक्षण | कारण | समाधान |
|---|---|---|
ERROR: Custom ports are not allowed. Allowed ports for Tunnel with IP connect is 22, 3389. | --target-ip-address का उपयोग किया | --target-resource-id का उपयोग करें |
ERROR: Defined port is currently unavailable | कोई अन्य टनल पहले से उस लोकल पोर्ट को रोके हुए है | दूसरा टनल रोकें, या एक भिन्न --port पास करें; --resource-port 65500 ही रहता है |
terraform output -raw bastion_name null या खाली है | Bastion डिप्लॉय नहीं है | enable_bastion = true सेट करें और apply करें |
| टनल शुरू होता है लेकिन रिसोर्स id खाली है | jq फ़िल्टर ने साइट की के बजाय VM नाम का उपयोग किया | eastus01/02/03 पर की करें |
401 Unauthorized, realm Volterra Site Console | कोई खराबी नहीं — अप्रमाणित अनुरोध | admin क्रेडेंशियल दें |
| ब्राउज़र प्रमाणपत्र अस्वीकार करता है | स्व-हस्ताक्षरित, नाम बेमेल, और अक्टूबर 2025 से समाप्त | अपेक्षित; पुष्टि करें कि subject CN=site-local.volterra.io है और आगे बढ़ें |
अन्य रास्ते
Section titled “अन्य रास्ते”ONLINE होनी चाहिए।