في الواقع ، يمكنك (نوع)
إنه معقد بعض الشيء ولن يعمل طوال الوقت ، ولكن هنا هو جوهر كيفية عمله:
معطى:
Routera مع IP العام 1.2.3.4
PC1 مع IP الخاص ABCD (خلف جهاز التوجيه أ)
RouterB مع IP العام 5.6.7.8
PC2 مع IP efgh الخاص (خلف جهاز التوجيه B)
الآن ، بالنظر إلى حل مثالي (أي لا بات) ...
الخطوة أ:
أرسل أي رسالة من PC1 على أي منفذ (10000 لهذا المثال) إلى IP العام لـ RouterB (4.5.6.7). سيقوم هذا بتسجيل ABCD: 10000 -> 4.5.6.7:10000 على NAT و PAT لجهاز التوجيه. سوف يتجاهل RouterB هذه الحزمة (كما هو متوقع لأنه لم يتم طلبه).
الخطوة ب: في الوقت نفسه ، أرسل باستمرار حزمة من PC2 إلى IP العام لجهاز التوجيه A (1.2.3.4) على نفس المنفذ (10000). سيقوم هذا بتسجيل EGFH: 10000 -> 1.2.3.4:10000 على Routerb's Nat and Pat.
الخطوة ج:
الآن ، ها هو المكان الذي يحدث فيه السحر:
يقوم PC2 بإرسال الحزمة باستمرار إلى Routera وبالتالي الحفاظ على "الثقب" مفتوحًا في جهاز التوجيه للاستجابة للعودة. عندما ترسل PC1 حزمة واحدة إلى RouterB ، سيظهر أن جهاز التوجيه كاستجابة وبالتالي سيتم إعادة توجيهه إلى PC2. بمجرد أن يتلقى PC2 هذه "الاستجابة" ، تأكد من خروج حزمة أخرى وتوقف عن إرسال حزم مستمرة. ستكون هذه الحزمة الأخيرة بمثابة "استجابة" لـ PC1 وتذهب عبر "الثقب" الذي تم إنشاؤه في الخطوة A. و Voila! لديك الآن Nat Transversal. ما عليك سوى إرسال حزمة واحدة كل دقيقة أو نحو ذلك كلا الاتجاهين للحفاظ على "الثقب" مفتوحًا.
ملاحظة: يعمل هذا فقط مع UDP لأنه بدون اتصال (الحزم المسقطة على ما يرام).
الآن تستخدم جميع أجهزة التوجيه تقريبًا PAT ، لذلك عليك "تخمين" ما هو المنفذ "للرد" على معظم أجهزة التوجيه سوف يقوم بإزاحة +-10 (IEABCD: 10000 -> 5.6.7.8:10010).
فقط جرب عدد قليل في هذا النطاق (-10 إلى +10 حتى تحصل على استجابة)
بقية أجهزة التوجيه عشوائية على بات. إذا كان الأمر كذلك ، فأنت مشدود ... جرب الاتجاه الآخر (أي في البداية الاتجاه الآخر). إذا فشل ذلك ، لا يمكنك الاتصال ... آسف)