GhostMesh के router/Linux TUN mode के पीछे की safety net
TUN mode किसी device के default route और DNS को tunnel के जरिए redirect करता है — router पर या ऐसे box पर जिसे आप सिर्फ SSH से पहुंचते हैं, यह सबसे risky बदलाव है, क्योंकि एक गलत config उसी connection को काट सकता है जिसे आप उसे ठीक करने के लिए इस्तेमाल करते। GhostMesh इस बदलाव को दो independent watchdogs से guard करता है।

Desktop से ज्यादा यह router पर क्यों मायने रखता है
Desktop पर, एक routing गलती परेशान करने वाली होती है लेकिन आप machine के सामने बैठे होते हैं। ऐसे router पर जिसे उसी link के जरिए administer किया जाता है जिसे TUN mode redirect करने वाला है, एक गलती आपको पूरी तरह lock out कर सकती है — वही classic 'firewall rule बदली, SSH session खो दिया' वाला failure mode।
Protection की दो independent layers
हर watchdog एक-दूसरे से independent होकर fail हो सकता है बिना device को stranded छोड़े, क्योंकि वे न तो एक-दूसरे पर निर्भर हैं, न same process के जीवित रहने पर।
| Layer | किस रूप में चलता है | यह क्या catch करता है |
|---|---|---|
| In-process | srsp-client का ही एक हिस्सा | अगर confirm timeout (default 30s) के अंदर कोई upstream reachable नहीं होता, तो अभी लगाए गए routes/DNS को revert करता है, फिर proxy-only पर fallback करता है |
| Shell-level | एक detached watchdog process, कुछ भी शुरू होने से पहले armed | srsp-client के पूरी तरह kill होने पर भी काम करता रहता है, या अगर TUN mode ही उस session को काट देता है जिसने इसे शुरू किया था |
क्या roll back होता है
दोनों layers सिर्फ वही हटाते हैं जो GhostMesh ने खुद जोड़ा था — कभी भी router या server का पहले से मौजूद default route नहीं। यही वजह है कि manual break-glass rollback command किसी भी समय चलाना सुरक्षित है, सिर्फ किसी failure के दौरान नहीं।
- Proxy mode के पास शुरू से ही roll back करने के लिए कुछ नहीं है, क्योंकि यह routing या DNS को कभी नहीं छूता।
- TUN mode का rollback सिर्फ उन्हीं routes/DNS entries तक सीमित है जो GhostMesh ने connect पर लगाई थीं।
- Shell-level watchdog connection attempt शुरू होने से पहले armed होता है, इसलिए यह बहुत पहले handshake के दौरान होने वाली failure से भी बचाता है।
FAQ
Rollback trigger होने से पहले default timeout कितना है?
कोई upstream reachable न होने पर 30 seconds (confirm_timeout_secs), जिसके बाद in-process watchdog अपने बदलाव revert कर देता है और proxy-only पर fallback करता है।
क्या watchdog मेरे router का अपना default route हटा देता है?
नहीं। दोनों layers सिर्फ वही हटाते हैं जो GhostMesh ने connect पर खुद जोड़ा था — आपका पहले वाला default route कभी नहीं छुआ जाता।
अगर srsp-client सिर्फ connect करने में fail होने की बजाय crash हो जाए तो?
Shell-level watchdog एक अलग detached process है जो connection शुरू होने से पहले armed होता है, इसलिए यह तब भी काम करता रहता है जब srsp-client पूरी तरह kill हो जाए या TUN बदलाव ही उस session को काट दे जिसने इसे शुरू किया था।