تجربتي في الاستغناء عن نظام DNS الديناميكي التقليدي باستخدام ميزة Tailscale Funnels

0

بما أنني قمت بتوصيل نقاط التجربة ومحطات العمل الخاصة بالـ الاستضافة الذاتية بشبكتي المنزلية، يمكنني تسجيل الدخول إليها متى أردت العمل على مشروع من مشاريع “اصنعها بنفسك”. ومع ذلك، يصبح الوصول إلى إعداد المختبر المنزلي الخاص بي أمرًا صعبًا للغاية عندما أحتاج إلى السفر لفترات طويلة. على الرغم من أن Tailscale ليس استضافة ذاتية بالمعنى التقني، إلا أنه الأداة المفضلة لدي للعبث بخوادمي عندما أكون بعيدًا عن المنزل.

Raspberry Pi مع Tailscale على جهاز الكمبيوتر

ولكن، هناك مشكلة صغيرة في هذا الإعداد: على الرغم من أنه يمكنني الوصول إلى محطات العمل الخاصة بي عبر Tailscale، إلا أنه لا يمكنني السماح لأصدقائي وعائلتي بالدخول إلى شبكتي المنزلية دون الكشف عن بيانات اعتماد حسابي – وهذا شيء أرفض القيام به تمامًا. لحسن حظي، توفر خاصية Funnels من Tailscale طريقة سهلة لحل هذه المشكلة – كل ذلك دون إجباري على دفع فلس واحد! تعتبر Tailscale Funnels حلاً ممتازًا لـ “نشر” خدمات محددة من شبكتك الخاصة (المدعومة بواسطة Tailscale) إلى الإنترنت العام بشكل آمن ومتحكم فيه، مما يتيح لك مشاركة تطبيقات الويب أو الخوادم الصغيرة مع الآخرين دون تعريض شبكتك بأكملها للخطر أو الحاجة إلى تكوينات معقدة.

ما هي قنوات Tailscale (Tailscale Funnels)؟

تُعد قنوات Tailscale (Tailscale Funnels) آلية مبتكرة ضمن شبكة Tailscale الخاصة بك، تتيح لك مشاركة الخدمات والتطبيقات التي تستضيفها خلف جدار الحماية أو داخل شبكتك الخاصة بشكل آمن ومبسط مع العالم الخارجي. ببساطة، هي طريقة لنشر خدماتك على الإنترنت دون الحاجة إلى تعقيدات إعدادات إعادة توجيه المنافذ (Port Forwarding) أو خوادم الوكيل العكسي (Reverse Proxy Servers) التقليدية.

تخيل أنك قمت بتطوير تطبيق ويب رائع وتريد عرضه على زملائك أو العملاء، أو ربما لديك خادم وسائط (Media Server) ترغب في الوصول إليه من أي مكان. باستخدام قنوات Tailscale، يمكنك تحقيق ذلك بسهولة وأمان.

كيف تعمل قنوات Tailscale؟

تعتمد قنوات Tailscale على إنشاء نقطة نهاية (Endpoint) فريدة يمكن الوصول إليها عبر الإنترنت. عندما يقوم شخص ما بالوصول إلى هذه النقطة، تقوم Tailscale بتوجيه حركة المرور (Traffic) بشكل آمن عبر شبكتك الخاصة إلى الخدمة أو التطبيق المحدد.

مزايا استخدام قنوات Tailscale:

  1. الأمان: توفر Tailscale تشفيرًا شاملاً (End-to-End Encryption) لحركة المرور، مما يضمن حماية بياناتك من التجسس أو الاعتراض.
  2. البساطة: لا حاجة لإعدادات معقدة أو خبرة فنية متقدمة. يمكنك إعداد قناة Tailscale ببضع نقرات فقط.
  3. المرونة: تدعم قنوات Tailscale مجموعة واسعة من الخدمات والتطبيقات، بما في ذلك تطبيقات الويب، وخوادم الوسائط، وقواعد البيانات، وغيرها.
  4. التحكم: يمكنك التحكم في من يمكنه الوصول إلى قنواتك، مما يضمن أن الأشخاص المصرح لهم فقط هم من يمكنهم استخدام خدماتك.
    سهولة المشاركة: يمكنك مشاركة روابط قنواتك بسهولة مع الآخرين، مما يتيح لهم الوصول إلى خدماتك ببساطة.

حالات استخدام قنوات Tailscale:

  • عرض تطبيقات الويب: مشاركة تطبيقات الويب التجريبية أو النماذج الأولية مع العملاء أو الزملاء.
  • الوصول إلى خوادم الوسائط: الوصول إلى مكتبة الوسائط الخاصة بك من أي مكان في العالم.
  • اختبار واجهات برمجة التطبيقات (APIs): اختبار واجهات برمجة التطبيقات الخاصة بك من بيئات مختلفة.
  • التعاون عن بعد: مشاركة الأدوات والموارد مع فريقك عن بعد.
  • استضافة مواقع الويب الثابتة (Static Websites): استضافة مواقع الويب الثابتة بسهولة وأمان.

باختصار، قنوات Tailscale هي أداة قوية ومرنة تسهل مشاركة الخدمات والتطبيقات مع العالم الخارجي بطريقة آمنة ومبسطة، مما يجعلها خيارًا مثاليًا للمطورين، والفرق العاملة عن بعد، وأي شخص يحتاج إلى الوصول إلى خدماته من أي مكان.

وما هو الفرق بينهما وبين نظام DNS الديناميكي؟

لقطة شاشة لصفحة Tailscale الرئيسية تعرض مثيل TrueNAS Scale كعقدة خروج

عند محاولة إتاحة الخدمات المحلية للشبكات الخارجية، تُعد شبكات VPN (سواء كانت مستضافة ذاتيًا أو غير ذلك) الأداة الأكثر استخدامًا، ويعمل اتصال Tailscale بطريقة مماثلة. ما يفعله بشكل أساسي هو ربط أجهزتك في شبكة P2P متشابكة باستخدام خوادم Tailscale، مما يسمح لأي جهاز مرتبط بحسابك بالوصول إلى معدات المختبر المنزلي الخاص بك. من ناحية أخرى، تمنح Tailscale Funnels عنوان URL لمجموعتك المستضافة ذاتيًا وتسمح لأي جهاز على الإنترنت بالوصول إلى الإعداد الخاص بك، وليس فقط الأنظمة المسجلة في شبكة Tailscale الخاصة بك.

ثم هناك نظام DNS الديناميكي، الذي يخصص اسم نطاق ثابتًا لعنوان IP لإعداد المختبر المنزلي الخاص بك. وهو مسؤول أيضًا عن تحديث عناوين IP العامة لخدماتك، والتي يمكن أن تتغير بشكل متكرر، مما يجعلها أداة مفيدة للأشخاص الذين يتطلعون إلى إتاحة تطبيقاتهم المستضافة ذاتيًا لعدة مستخدمين على الشبكات الخارجية. شخصيًا؟ أنا أفضل Tailscale Funnels على الدوام.

ما الفائدة من استخدام مسارات Tailscale (Tailscale Funnels)؟

تتيح لك مسارات Tailscale (Tailscale Funnels) إمكانية مشاركة الخدمات التي تعمل على شبكة Tailscale الخاصة بك مع أي شخص على الإنترنت، حتى لو لم يكن لديهم Tailscale مثبتًا. فكر في الأمر على أنه طريقة آمنة وسهلة لنشر تطبيقات الويب، وعرض العروض التوضيحية، أو حتى استضافة واجهات برمجة التطبيقات (APIs) بشكل مؤقت دون الحاجة إلى القلق بشأن تعقيدات تكوين الشبكات التقليدية أو المخاطر الأمنية المرتبطة بها.

بعبارة أخرى، تعمل Tailscale Funnels على تبسيط عملية نشر الخدمات وجعلها في متناول جمهور أوسع، مع الحفاظ على مستوى عالٍ من الأمان والتحكم. يمكنك الآن مشاركة تطبيقاتك وخدماتك مع العملاء المحتملين، أو الزملاء، أو حتى الأصدقاء، ببضع نقرات فقط، دون الحاجة إلى إعدادات معقدة أو شهادات SSL. هذا يقلل بشكل كبير من الوقت والجهد اللازمين لنشر الخدمات، مما يسمح لك بالتركيز على تطوير تطبيقاتك بدلاً من إدارة البنية التحتية.

بالإضافة إلى ذلك، توفر Tailscale Funnels طبقة إضافية من الأمان، حيث يتم تشفير جميع الاتصالات وتمريرها عبر شبكة Tailscale الآمنة. هذا يضمن أن بياناتك محمية من الوصول غير المصرح به، حتى عند مشاركة خدماتك مع أشخاص خارج شبكتك الخاصة. هذه الميزة مهمة بشكل خاص للشركات التي تتعامل مع بيانات حساسة أو التي تحتاج إلى الامتثال للوائح أمنية صارمة.

لذا، سواء كنت مطورًا تبحث عن طريقة سهلة لنشر تطبيقاتك، أو شركة تحتاج إلى مشاركة خدماتها مع العملاء، أو مجرد شخص يريد مشاركة شيء مثير للاهتمام مع الأصدقاء، فإن Tailscale Funnels تقدم حلاً بسيطًا وآمنًا وفعالاً.

سهولة الإعداد على الشبكات المتأثرة بـ CGNAT

واجهة مستخدم Tailscale على الويب

أحد أكبر دواعي سروري في مزود خدمة الإنترنت الحالي هو أنه يحبس شبكتي خلف CGNAT. ولغير المبتدئين، فإن ترجمة عنوان الشبكة على مستوى شركة الاتصالات (Carrier-Grade Network Address Translation – CGNAT) هي “تسهيل” يمنح نفس عنوان IPv4 لعدة مستخدمين، بدلاً من تخصيص عنوان IP خاص لكل عميل. لسوء الحظ، هذا يزيد من صعوبة تعريض خدماتي للشبكات الخارجية عبر VPN ذاتي الاستضافة، حيث أفتقر إلى عنوان IP فريد يمكنه توجيه حركة المرور من وإلى معملي المنزلي.

في غضون ذلك، تستخدم Tailscale Funnels خوادم الترحيل الخاصة بالشركة كوسيط. بمجرد أن يحاول المستخدم الوصول إلى عنوان URL المرتبط بمحطات العمل المحلية الخاصة بي، يتم توجيه حركة المرور عبر خوادم ترحيل Tailscale، والتي بدورها تقوم بإعادة توجيه الحزم إلى العقد الخاصة بي. هذا يتيح تجاوز قيود CGNAT بسهولة، مما يجعل الوصول إلى الخدمات المستضافة ذاتيًا أكثر سلاسة وموثوقية، حتى في البيئات التي تفرض قيودًا على عناوين IP العامة.

لا حاجة لتعقيدات إعادة توجيه المنافذ أو خوادم البروكسي العكسي

على النقيض من ذلك، يتطلب نظام DNS الديناميكي (Dynamic DNS) فتح منافذ معينة على جهاز التوجيه (Router)، ونظرًا لأن شبكتي المنزلية تعاني من مشكلة CGNAT (ترجمة عنوان الشبكة على مستوى مزود الخدمة)، فإن القيام بذلك يكاد يكون مستحيلاً. وحتى إذا تمكنت من تفعيل إعادة توجيه المنافذ، فمن المحتمل أنني لن أفعل ذلك، حيث سأضطر إلى بذل جهد كبير في إعداد شهادات موقعة ذاتيًا بالإضافة إلى تأمين خدمة البروكسي العكسي. سأحتاج أيضًا إلى التعامل مع صداع التعامل مع مسجل نطاقات (Domain Registrar) – وكل هذا يبدو مرهقًا للغاية عندما أريد ببساطة مشاركة ملفات Nextcloud الخاصة بي مع زميل في مجال البرمجة.

الآن، لا تفهموني خطأ: توجد ثغرات أمنية خاصة بـ Tailscale Funnels، على الرغم من أنها أكثر أمانًا من إعداد إعادة توجيه المنافذ الذي تم إنشاؤه بواسطة مبتدئ. ومع ذلك، يتم تشفير حركة المرور بين الجهاز الذي يصل إلى عنوان URL العام وخدماتي المحلية باستخدام بروكسي TCP. علاوة على ذلك، يقوم بروكسي TCP بإخفاء عنوان IP لتطبيق الاستضافة الذاتية الخاص بي، ويمكنني زيادة تعزيز أمان التطبيق “المكشوف” عن طريق إنشاء مستخدمين متميزين بقواعد ACL (قوائم التحكم بالوصول) مشددة. هذا يوفر طبقة حماية إضافية ويقلل من مخاطر الاختراق أو الوصول غير المصرح به إلى بياناتي الحساسة. بالإضافة إلى ذلك، يمكن دمج Tailscale بسهولة مع أنظمة المصادقة الثنائية (2FA) لتعزيز الأمان بشكل أكبر.

نشر قناة Tailscale (Tailscale Funnel)

تتيح لك خدمة Tailscale Funnel نشر تطبيقات الويب وخدمات أخرى تعمل على جهازك المحلي أو في شبكتك الخاصة، وجعلها متاحة عبر الإنترنت بشكل آمن ومبسط. تعتبر هذه الميزة مفيدة بشكل خاص للمطورين الذين يرغبون في اختبار تطبيقاتهم أو عرضها للعملاء دون الحاجة إلى إعدادات معقدة للبنية التحتية أو القلق بشأن المخاطر الأمنية.

تقوم قناة Tailscale بإنشاء نقطة نهاية آمنة وموثوقة يمكن الوصول إليها عبر الإنترنت. بدلاً من الكشف المباشر عن خادمك أو تطبيقك على الإنترنت، تقوم قناة Tailscale بدور الوسيط، حيث تقوم بتوجيه حركة المرور المشفرة عبر شبكة Tailscale الخاصة بك. هذا يضمن أن الوصول إلى تطبيقك محمي بواسطة تشفير Tailscale القوي، ويقلل بشكل كبير من خطر التعرض للهجمات الإلكترونية.

خطوات نشر قناة Tailscale:

1. تثبيت Tailscale: تأكد من تثبيت Tailscale وتكوينه على الجهاز الذي يستضيف التطبيق أو الخدمة التي تريد نشرها. يجب أن يكون الجهاز متصلاً بشبكة Tailscale الخاصة بك.

2. تمكين Funnel: قم بتمكين ميزة Funnel على الجهاز الذي يستضيف التطبيق. يمكنك القيام بذلك عادةً من خلال واجهة سطر الأوامر (CLI) الخاصة بـ Tailscale. على سبيل المثال، يمكنك استخدام الأمر `tailscale funnel on 80` لنشر تطبيق ويب يعمل على المنفذ 80.

3. تكوين DNS (اختياري): يمكنك تكوين سجل DNS يشير إلى عنوان Funnel الخاص بك لتسهيل الوصول إليه. هذا يسمح للمستخدمين بالوصول إلى تطبيقك باستخدام اسم نطاق مألوف بدلاً من عنوان IP.

4. الاختبار والتحقق: بعد إعداد Funnel، تأكد من أنه يعمل بشكل صحيح عن طريق الوصول إلى تطبيقك من جهاز آخر متصل بشبكة Tailscale أو من الإنترنت (إذا سمحت بذلك إعدادات Funnel الخاصة بك).

باستخدام Tailscale Funnel، يمكنك بسهولة وأمان نشر تطبيقاتك وخدماتك على الإنترنت دون الحاجة إلى خبرة فنية متخصصة أو استثمارات كبيرة في البنية التحتية.

غاية في السهولة

إنشاء مسار Tailscale

بخلاف معظم تطبيقات الشبكات المعقدة، يتميز Tailscale بسهولة فائقة في الإعداد، وينطبق الأمر ذاته على ميزة “المسارات” (Funnels) الخاصة به. فبمجرد أن يكون Tailscale قيد التشغيل على الأجهزة الافتراضية، يمكنني ببساطة تنفيذ أمر `tailscale funnel` متبوعًا برقم المنفذ (Port) الذي أرغب في إتاحته.

بعد ذلك، يعرض Tailscale واجهة مستخدم ويب (Web UI) لتمكين المسار، وهذا كل شيء تقريبًا. يتولى Tailscale بقية العملية تلقائيًا، بدءًا من إنشاء شهادات HTTPS، والاتصال بالمرحلات (Relays)، وصولًا إلى تكوين سجلات نظام أسماء النطاقات (DNS). هذه السهولة تجعل Tailscale خيارًا جذابًا للمطورين ومحترفي تكنولوجيا المعلومات الذين يبحثون عن حلول شبكات آمنة وفعالة دون الحاجة إلى تعقيدات إدارية كبيرة.

قيود لا تزال قائمة في Tailscale Funnels

على الرغم من المزايا العديدة التي توفرها Tailscale Funnels، لا تزال هناك بعض القيود التي يجب أخذها في الاعتبار عند استخدام هذه الميزة. يجب على المستخدمين فهم هذه القيود لضمان الاستخدام الأمثل وتجنب المشكلات المحتملة. من بين هذه القيود:

  • الاعتماد على اتصال Tailscale: تعتمد وظيفة Funnels بشكل كامل على اتصال Tailscale النشط. إذا كان هناك انقطاع في اتصال Tailscale، فلن يكون الوصول إلى الخدمات المتاحة عبر Funnels ممكنًا.
  • القيود المتعلقة بالنطاق الترددي: قد يكون هناك قيود على النطاق الترددي المتاح عبر Funnels، خاصة إذا كان هناك عدد كبير من المستخدمين أو إذا كانت الخدمات تتطلب نطاقًا تردديًا عاليًا. يجب مراقبة استخدام النطاق الترددي لضمان الأداء الأمثل.
  • التعقيد المحتمل في الإعداد: على الرغم من أن Tailscale مصمم ليكون سهل الاستخدام، إلا أن إعداد Funnels قد يتطلب بعض المعرفة التقنية، خاصة عند التعامل مع تكوينات الشبكة المعقدة.
    مخاوف أمنية محتملة: على الرغم من أن Tailscale يوفر طبقة أمان قوية، إلا أنه يجب اتخاذ الاحتياطات الأمنية اللازمة عند تعريض الخدمات للإنترنت عبر Funnels. يجب التأكد من أن الخدمات محمية بشكل كافٍ وأن هناك آليات للمراقبة والكشف عن التهديدات.
  • القيود الجغرافية المحتملة: قد تكون هناك قيود جغرافية تفرضها بعض الخدمات أو القوانين المحلية، مما قد يؤثر على إمكانية الوصول إلى الخدمات عبر Funnels من مناطق معينة.

يجب على المستخدمين تقييم هذه القيود بعناية قبل الاعتماد على Tailscale Funnels كحل أساسي للوصول إلى الخدمات عن بعد. مع التخطيط السليم والوعي بالقيود، يمكن الاستفادة من Funnels بشكل فعال وآمن.

ولكن دفاعًا عن Tailscale، خاصية Funnels لا تزال في مرحلة تجريبية

بعض وحدات التخزين المتصلة بمحول 10GbE

لسوء الحظ، خاصية Tailscale Funnels ليست الحل الأمثل لعرض تطبيقات الاستضافة الذاتية، حيث أنها تأتي مع بعض القيود المزعجة. على سبيل المثال، يمكن لـ Tailscale Funnels الاستماع لحزم البيانات على عدد محدود من منافذ الشبكة، وهي تحديدًا المنافذ 443 و 8443 و 10000. وبالمثل، يمكنها فقط استخدام أسماء DNS الموجودة في شبكتي الخاصة (tailnet)، لذلك لا يمكنني استخدام عنوان URL غريب لإعداد المختبر المنزلي الخاص بي.

ولكن بالنظر إلى أن هذه الخدمة لا تزال في مرحلة تجريبية (beta)، فإن Tailscale Funnels قوية بشكل مدهش. في الواقع، إنها طريقتي المفضلة لمشاركة مجموعة تطبيقات الاستضافة الذاتية الخاصة بي مع الأصدقاء والعائلة. إن سهولة الإعداد والأداء الموثوق به يجعلانها أداة قيمة على الرغم من القيود الحالية، خاصةً عند مقارنتها بالبدائل الأكثر تعقيدًا. مع استمرار Tailscale في تطوير Funnels، يمكننا أن نتوقع المزيد من المرونة والميزات في المستقبل.

Leave A Reply

Your email address will not be published.