قامت Cisco بإضافة ميزة جدار الحماية من نوع (stateful) في نظام Cisco IOS وتم تسميتها بجدار الحماية المستند إلى المنطقة (ZBF). لدى الـ ZBF نموذج سابق يسمى التحكم في الوصول المستند إلى السياق (CBAC) والتي تمثل اختصاراً لـ context-based access control والذي كان يوفر ميزات جدار الحماية الأساسية في نظام Cisco IOS. يسمح الـ ZBF لمهندس الشبكة أن يكون سياسات جدار الحماية الأكثر دقة ويقدم سياسة رفض الجميع الافتراضية التي تحظر حركة البيانات بين المناطق المراد تأمينها عن طريق جدار الحماية إلى أن يتم إعداد سياسات تمكين واضحة. تدور فكرة هذا الملف حول فهم ميزة ZBF وتنفيذها على جهاز توجيه يعمل بنظام IOS.
كيفية يعمل الـ ZBF
مع جدران الحماية المرتكزة على المناطق (ZBFs) يتم إسناد المنافذ إلى مناطق بحيث يتم إنشاء المناطق بواسطة مهندس الشبكة، باستخدام أي تسمية يراها منطقية (على الرغم من أن الأسماء مثل inside، outside، DMZ شائعة جدًا). ثم يتم تحديد السياسات بخصوص أي حركة مرور (للمستخدمين) يُسمح ببدئها (مثلاً من المستخدمين المتواجدين inside باتجاه الموارد في outside) وما هي الإجراءات التي يجب أن يتخذها جدار الحماية، مثل الفحص (inspection) وبعد فحص حركة البيانات يُسمح بعودة حركة البيانات التي تعتبر رد على طلب سابق بسبب ميزة كون جدار الحماية من نوع (stateful). تُطبق السياسات في اتجاه واحد (على سبيل المثال من inside إلى outside). وفي حال الرغبة في السماح بحركة البيانات الأولية في كلا الاتجاهين فيجب إنشاء سياسيتين أحاديتي الاتجاه الأولى لفحص حركة البيانات من الداخل إلى الخارج والثانية لفحص حركة البيانات من الخارج إلى الداخل وتُنفذ السياسيتين بشكل منفصل لأن السياسات نفسها يجب أن تكون أحادية الاتجاه.
أحد فوائد هذا النهج المعياري هو أنه وبعد وضع السياسات في مكانها إذا تم إضافة منافذ جديدة فكل ما يتطلبه الأمر هو إضافة تلك المنافذ إلى المناطق الموجودة وستكون السياسات تلقائياً في مكانها.
الميزات الخاصة لـ ZBF
تتضمن الميزات الرئيسية لجدار الحماية المبني على المناطق (ZBF) ما يلي:
§ فحص الحالة (Stateful inspection).
§ فحص التطبيقات (Application inspection).
§ تصفية الحزم (Packet filtering).
§ تصفية عناوين URL.
§ Transparent firewall
§ الدعم للتوجيه الافتراضي (VRF).
§ عدم الحاجة إلى قوائم التحكم في الوصول (ACL) كطريقة تصفية لتنفيذ السياسة.
فحص الحالة (Stateful inspection) يشير إلى القدرة على تتبع حالة الاتصالات الشبكية النشطة مما يسمح بتحديد ما إذا كانت الحزم المرورية تنتمي إلى اتصال معترف به أي أنه رد على طلب سابق أم لا. ويقصد بفحص التطبيقات (Application inspection) القدرة على فحص حركة البيانات على مستوى التطبيقات للتعرف على الاتصالات المشروعة وتمييزها عن الأنشطة الضارة. أما تصفية الحزم (Packet filtering) فتعني إمكانية تحليل الحزم بناءً على مجموعة محددة من القواعد لتحديد ما إذا كان ينبغي السماح لها بالمرور أو حجبها. ويقصد بتصفية عناوين URL إمكانية السماح أو المنع من الوصول إلى مواقع الويب بناءً على عناوين URL المحددة في سياسات الأمان. وبالنسبة لـ Transparent firewall فهو جدار حماية يعمل في الطبقة الثانية من نموذج OSI ويكون شفافاً بالنسبة للمستخدمين لكنه يستطيع إجراء تحليلات الطبقة الثالثة وما فوق. والـ (VRF) هي جداول التوجيه الافتراضية على جهاز توجيه سيسكو التي يمكن استخدامها لتجزئة جداول التوجيه على الجهاز بدلاً من الاحتفاظ بجميع الطرق في جداول التوجيه (الأساسية)
ماهي المناطق وما سبب الحاجة إليها؟
يقصد بالمنطقة التقسيم المنطقي بحيث تواجد في المنطقة الأجهزة ذات مستويات الثقة المتشابهة. على سبيل المثال يمكننا القيام بالتحديد المنطقي للمنطقة (DMZ) لأجهزة معينة في مؤسسة ما. ويتم إنشاء المنطقة بواسطة مهندس الشبكة وبعد ذلك يمكن إسناد المنافذ إلى المناطق. يمكن للمنطقة أن تحتوي على واحد أو أكثر من المنافذ المخصصة لها بينما لا يمكن أن ينتمي المنفذ إلا إلى منطقة واحدة فقط. هناك منطقة افتراضية تُسمى self zone. فلأي حزمة متوجهة مباشرة إلى جهاز الموجه بحيث يكون عنوان IP الوجهة هو عنوان منفذ الموجه سيعتبر الموجه تلقائياً أن هذه الحركة تدخل منطقة self zone. بالإضافة إلى ذلك يُعتبر أن أي حركة بيانات بدأت من الموجه على أنها مغادرة لمنطقة self zone. وبشكل افتراضي يُسمح بأي حركة مرور من أو إلى منطقة self zone علماً بأنه يمكن تغيير هذه السياسة.
بالنسبة لبقية المناطق التي ينشئها مهندس الشبكة لا يُسمح بأي حركة مرور بين المنافذ في مناطق مختلفة. بالنسبة للمنافذ التي هي أعضاء في نفس المنطقة يُسمح تماماً بحركة البيانات فيها افتراضياً. وعند الرغبة في السماح بحركة البيانات بين منطقتين مثل بين المنطقة الداخلية (المنافذ المواجهة للشبكة الداخلية) والمنطقة الخارجية (المنافذ المواجهة للإنترنت أو الشبكات غير الموثوقة) يجب إنشاء سياسة لحركة البينات بين المنطقتين وهنا يأتي دور المناطق. زوج المناطق (zone pair) والذي يعتبر مجرد إعداد على جهاز الموجه يتم لتحديد حركة البيانات من جهاز في المنطقة الأولى والمتجهة إلى جهاز في المنطقة الثانية. ثم يقوم مهندس الشبكة بعمل مجموعة من القواعد (السياسات) لهذا الزوج أحادي الاتجاه مثل فحص حركة البيانات ومن ثم طبيق تلك السياسة على هذا الزوج من المناطق.
قد ترغب شركة صغيرة بها مستخدمين متواجدين في شبكة داخلية من الاتصال بالخارج والاتصال الخارجي الوحيد لهم هو الإنترنت وبالتالي تقوم الشركة بإنشاء منطقتين الأولى inside والثانية outside. ثم يتم تعيين منفذ الـ inside إلى المنطقة الداخلية ومنفذ الـ outside إلى المنطقة الخارجية وبعد ذلك يتم إنشاء سياسة تحدد أن حركة البيانات التي يبدأها المستخدمون من الداخل وتتجه إلى الإنترنت يجب أن يتم فحصها ووضع المعلومات المأخوذة منها في قاعدة stateful database. ويتم تطبيق السياسة على زوج المناطق الذي تم تحديده بأنه لحركة البيانات من الداخل إلى الخارج وهذا يمكن الموجه من معرفة متى يجب عليه إجراء الفحص stateful inspection.
في سيناريو آخر وفي شركة أكبر لديها خادم متاح للعامة قد تمتلك الشركة ثلاث منافذ وثلاث مناطق. ويمكن على سبيل المثال أن تكون المناطق هي inside ، outside ، DMZ. ومقارنةً بالشركة الصغيرة السابقة ستقوم هذه الشركة متوسطة الحجم بإنشاء زوج مناطق إضافي (من outside إلى DMZ) ومن ثم تطبق سياسة محددة على هذا الزوج من المناطق لأجل السماح للمستخدمين الخارجيين من الوصول إلى الخوادم في منطقة DMZ.
تستخدم سيسكو لتنفيذ السياسة لغة تُعرف بلغة سياسات التصنيف المشترك في سيسكو (C3PL) Cisco Common Classification Policy Language وتتكون من ثلاث مكونات رئيسية:
■ خرائط الفئات (Class maps): تُستخدم لتحديد حركة البيانات كتلك التي يجب فحصها ويمكن تطبيقها على حركة البيانات ابتداءً من الطبقة الثالثة وحتى الطبقة السابعة من نموذج OSI بما في ذلك الفحص المبني على التطبيقات. يمكن أن تشير خرائط الفئات أيضاً إلى قوائم التحكم في الوصول (ACL) لغرض تحديد حركة البيانات أو للاستعانة بخرائط فئات أخرى. ويمكنها معالجة عدة بيانات لفحص التطابق وفي هذه الحالة يمكن تحديد جميع بيانات فحص التطابق (وهي حالة تطابق الكل match-all) أو يمكن تحديد تطابق جزئي لأي من المدخلات (وهي حالة تطابق الجزء match-any). وكذلك يمكن استخدام خريطة فئة افتراضية في النظام أسمها class-default والتي تمثل جميع حركة البيانات التي لم تتطابق مع أي خريطة فئة محددة (تم إعدادها إدارياً).
■ خرائط السياسات (Policy maps): تمثل الإجراءات التي يجب اتخاذها على حركة البيانات بحيث تستدعي خرائط السياسات خرائط الفئات لتصنيف حركة البيانات. خرائط السياسات ذات الأقسام المتعددة تراعي الترتيب في المعالجة والتنفيذ. الإجراءات الأساسية التي يمكن تنفيذها بواسطة خريطة السياسة هي الفحص، الإذن، الرفض، أو الحفظ.
■ سياسات الخدمة (Service policies): يمثل المكان الذي تطبق فيه السياسات المحددة من خلال خريطة السياسة على زوج المناطق وهذه الخطوة هي التي تنفذ السياسة فعلياً.
إذا احتوت خريطة السياسة على إجراءات متعددة استنادًا إلى حركة البيانات المختلفة المحددة من خرائط الفئات يتم معالجة خريطة السياسة من الأعلى إلى الأسفل، وتطبق الإجراءات كلما وجد تطابق حركة البيانات مع خرائط الفئات. وإذا تطابق قسم محدد من خريطة السياسة يتم اتخاذ الإجراء الخاص به. إذا لم تتطابق حركة البيانات يتم مقارنة الحزمة مع القسم التالي من خريطة السياسة فإذا لم تتطابق مع أي من الأقسام يتم اتخاذ الإجراء الافتراضي. السياسة الافتراضية لحركة البيانات التي تحاول أن تبدأ بين منطقتين وهي الرفض الضمني ولا ننسَ وجود الاستثناء لهذا الرفض الافتراضي هو حركة البيانات من أو إلى المنطقة “ self zone ” المدمجة والتي يُسمح بها افتراضياً.
الجدول أدناه يصف الإجراءات التي قد تحددها في خريطة السياسة
إجراء السياسة | الوصف | متى تُستخدم ؟ |
الفحص (Inspect) | السماح وفحص حالة حركة مرور البيانات (statefully inspect) | مع حركة المرور العابرة والتي بدأها المستخدمون الذين ينتظرون الرد من الأجهزة على الجانب الآخر من جدار الحماية |
الاجتياز (Pass) | السماح بحركة مرور البيانات ولكن بدون أي إدخال في قاعدة البيانات | مع حركة المرور التي لا تحتاج إلى رد وكذلك مع البروتوكولات التي لا تدعم الفحص، يمكن تطبيقها على زوج منطقة لحركة مرور إلى الخارج وتطبيقها على زوج منطقة ثانية لحركة المرور الواردة |
المنع (Drop) | منع الحزم | حركة المرور التي لا تريد السماح بها بين المناطق التي يتم فيها تطبيق خريطة السياسة هذه |
الإضافة للسجل (Log) | تسجيل الحزم | يتم تشفير كلمة المرور فقط فيما يتعلق بالحزم المرسلة ذهابا وإيابا بين الخادم وجهاز التوجيه. |
سياسات الخدمة (Service policies)
تُطبق سياسة الخدمة على زوج من المناطق ويمثل زوج المناطق تدفقاً أحادي الاتجاه لحركة البيانات بين نطاقين. وتذكر أنه يُعين لزوج مناطق محدد سياسة خدمة واحدة فقط لأن زوج المناطق أحادي الاتجاه أي أن خريطة السياسة المطبقة على زوج المناطق تنطبق على حركة البيانات المبدوءة من منطقة واحدة ومتجهة إلى المنطقة الآخرى وفي اتجاه واحد. فإذا كانت حركة البيانات الخاصة بالرد مرغوبة فيجب تطبيق إجراء الفحص (Inspect) في خريطة السياسة، والذي سيسمح بفحص الحالة وسيُسمح بالرد من الخوادم بشكل ديناميكي.
عندما يتلقى الراوتر حزمة، فإنه عادةً ما يتخذ قرار توجيه ثم يُرسل تلك الحزمة في طريقها. أما إذا تم إعداد ZBF فقد يُرسل الراوتر الحزمة وقد لا يُرسلها وذلك بناءً على الجدول الحالة (stateful table) والسياسات الموجودة. يصف الجدول أدناه تدفق حركة البيانات (الحزم) التي يتم توجيهها بين منافذ في مناطق مختلفة وذلك اعتمادًا على الاعداد. هذا الجدول ممتاز للمساعدة في تشخيص مشاكل ZBFs. يشير الدخول (Ingress) إلى الحزمة التي تدخل إلى منفذ الموجه، ويشير الخروج (egress) إلى الحزمة التي تخرج من منفذ الموجه.
عضو منفذ Ingress في المنطقة | عضو منفذ Egress في المنطقة | زوج المنطقة موجود، مع السياسة التطبيقية | النتيجة |
لا | لا | لا يهم | إعادة توجيه البيانات (forwarded) |
لا | نعم (أي منطقة) | لا يهم | إيقاف توجيه البيانات (dropped) |
نعم (منطقة A) | نعم (منطقة A) | لا يهم | إعادة توجيه البيانات (forwarded) |
نعم (منطقة A) | نعم (منطقة B) | لا | إيقاف توجيه البيانات (dropped) |
نعم (منطقة A) | نعم (منطقة B) | نعم | يتم تطبيق السياسة فإذا تم الفحص لها (Inspect) أو اجتيازها (Pass) فيتم إعادة توجيه حركة المرور الأولية. أما إذا تم المنع (Drop) فيتم إسقاط حركة المرور الأولية |
إذا كان هناك زوج من المناطق يحدد حركة البيانات بين منطقتين، ولم يتم تطبيق السياسة على زوج المناطق، فإن السلوك الافتراضي هو إسقاط حركة البيانات كما لو لم يكن هناك زوج مناطق في الأساس.
وقبل المضي قدماً سنستعرض إعداداً يشمل المكونات التالية لـ ZBF:
■ المناطق
■ المنافذ التي هي أعضاء في المناطق
■ خرائط الفئات التي تحدد حركة البيانات
■ خرائط السياسات التي تستخدم خرائط الفئات لتحديد حركة البيانات ثم تحدد الإجراءات التي يجب أن تُتخذ
■ أزواج المناطق، التي تحدد تدفق حركة بيانات أحادية الاتجاه، بدءًا من الأجهزة في منطقة محددة ويتم توجيهها خارج منفذ في منطقة أخرى
■ سياسة الخدمة التي تربط خريطة السياسة بزوج المناطق
تمثل القائمة أعلاه جميع القطع اللازمة وسنقف الآن على الأوامر اللازمة لسياسة السماح للمستخدمين داخل الشبكة بالوصول إلى الإنترنت كما هو معروض سابقًا في الشكل أدناه:
تقوم خريطة الفئة (class-map) بتصنيف أو تحديد حركة البيانات. وفي المثال ستتطابق الخريطة هذه إما مع حركة TELNET أو أي نوع من حركة ICMP
R3(config)# class-map type inspect match-any MY-CLASS-MAP
R3(config-cmap)# match protocol telnet
R3(config-cmap)# match protocol icmp
R3(config-cmap)# exit
تستدعي خريطة السياسة خريطة فئة معينة تريد استخدامها لتحديد حركة البيانات التي تنطبق عليها السياسة ثم تحدد إجراء السياسة وفي هذا المثال هو لفحص حركة البيانات
R3(config)# policy-map type inspect MY-POLICY-MAP
R3(config-pmap)# class type inspect MY-CLASS-MAP
R3(config-pmap-c)# inspect
R3(config-pmap-c)# exit
R3(config-pmap)# exit
بعد ذلك ننشئ المناطق الأمنية ويمكن تسميتها كما نريد وفي هذا المثال تمت تسميتها بـ inside و outside
R3(config)# zone security inside
R3(config-sec-zone)# exit
R3(config)# zone security outside
R3(config-sec-zone)# exit
ننشئ الآن زوج المنطقة مع تحديد المناطق والاتجاه (من أين إلى أين)
R3(config-sec-zone)# zone-pair security in-to-out source inside destination outside
استخدم أمر سياسة الخدمة في وضع إعداد زوج المنطقة لتطبيق خريطة السياسة التي نريد استخدامها لحركة البيانات التي تطابق زوج المنطقة هذا
R3(config-sec-zone-pair)# service-policy type inspect MY-POLICY-MAP
R3(config-sec-zone-pair)# exit
نقوم بإعداد المنافذ بحيث تصبح أعضاء في المناطق المعنية
R3(config)# interface GigabitEthernet 3/0
R3(config-if)# description Belongs to outside zone
R3(config-if)# zone-member security outside
R3(config-if)# exit
R3(config)# interface GigabitEthernet 1/0
R3(config-if)# description Belongs to inside zone
R3(config-if)# zone-member security inside
R3(config-if)# exit
R3(config)#
تقوم السياسة السابقة بإجراء فحص الحالة (stateful inspection) لحركة البيانات من المستخدمين الداخليين لحركة البيانات المتجهة إلى الإنترنت إذا كانت الحركة هذه هي حركة Telnet والتي تعني بروتوكول TCP على المنفذ 23 أو حركة ICMP فيمكن استخدام لوائح التحكم بالوصول ACL عن طريق خرائط الفئة لغرض المطابقة للبروتوكول العامة مثل UDP أو TCP كما تضيف المطابقة الخاصة بالتطبيقات قدرة أعلى لجدار الحماية على اكتشاف قنوات الاتصال الإضافية التي قد تتم بواسطة الأجهزة الخارجية كما هو الحال في فحص FTP حيث قد يبدأ الخادم اتصال البيانات على منفذ متفق عليه بشكل متبادل من قبل العميل وخادم بروتوكول نقل الملفات (FTP).
Self zone
تتضمن حركة البيانات المتجهة تحديداً إلى جهاز الموجه نفسه وليس حركة البيانات التي تمر مروراً فقط من خلال جهاز الموجه ما يسمى بالمنطقة الذاتية self zone. وتعتبر حركة البيانات الصادرة تحديداً من جهاز الموجه على أنها قادمة من المنطقة الذاتية. وبشكل افتراضي يتم السماح لجميع البيانات المتجهة إلى الـ self zone أو من الـ self zone (وهو ما يعني فعلياً كل حركة البيانات من جهاز الموجه أو إلى جهاز الموجه). ومع ذلك فعند الرغبة في إنشاء سياسات تتعلق بحركة البيانات من أو إلى هذه المنطقة فيمكن القيام بذلك بنفس الطريقة عن طريق إنشاء أزواج المنطقة وتعيين سياسة لزوج المنطقة. يصف الجدول أدناه سلوك حركة البيانات في الـ self zone.
عضو في حركة بيانات المصدر | عضو في حركة بيانات الوجهة | زوج المنطقة موجود، مع السياسة التطبيقية | النتيجة |
Self | منطقة A | لا | تمرير حركة البيانات (passed) |
منطقة A | Self | لا | تمرير حركة البيانات (passed) |
Self | منطقة A | نعم | تنفيذ السياسات |
منطقة A | Self | نعم | تنفيذ السياسات |
فيما يتعلق بالمنطقة الذاتية self zone إذا كان هناك زوج منطقة ولكن لم يتم تطبيق أي سياسة عليه فإن السلوك الافتراضي هو إعادة توجيه (forward) جميع حركة البيانات (والذي يختلف عن حركة البيانات بين المناطق التي تم إنشاؤها يدويًا). فعند إعداد زوج منطقة يتضمن المنطقة الذاتية يجب على المسؤول السماح بحركة مرور الإدارة لمنع رفض الاتصالات الإدارية.
الإعداد والتحقق من جدران الحماية المستندة إلى ZBF
في هذا الجزء سنعرض إعداد ميزة ZBF من CCP وكذلك واجهة سطر الأوامر (CLI).
في البداية ..
إن وضع سياسة أو خطة ابتداءً يعد فكرة جيدة قبل أي شيء مع مراعاة أن السياسة التي سنطبقها على جدار الحماية من المفترض أن تعكس احتياجات العمل الخاصة بالمؤسسة. ويمكن استخدام CCP بسهولة لإجراء إعدادات الـ ZBF حيث نستخدم فيها غالباً الـ wizard للإعدادات ثم نستخدم سطر الأوامر CLI للتحقق وهناك شيء ستلاحظه هو أن الـ wizard يضيف الكثير من الإعدادات الإضافية التي قد لا تنطبق على شبكة المؤسسة. وعليه فإن أحد التوصيات عند استخدام الـ CCP هو استخدام الـ wizard ولكن في مرحلة معينة خذ الأوامر الموصى بها والتي لا نريد من الـ CCP تنفيذها من خلال الـ wizard ووضعها في محرر نصوص ثم استبعاد الأجزاء غير المطلوبة أو غير المرغوب فيها ثم إعادة لصق الإعداد يدويًا بعد التحقق من صحته. لأجل الحصول على الشهادة واجتياز الاختبار من المستحسن فهم ومعرفة كيفية إعداد ZBF باستخدام CCP لتتمكن من تحديد الإجراءات التي سيتم اتخاذها على الحزمة التي تمر عبر جدار الحماية.
سنستخدم في الأمثلة نفس الهيكل السابق
استخدام CCP لتكوين جدار الحماية
في CCP نستطيع تحديد جهاز التوجيه المراد إعداده من القائمة المنسدلة من خلال الانتقال:
إلى Configure> Security> Firewall> Firewall ، كما هو موضح في الشكل المجاور:
يتضمن خيار جدار الحماية الأساسي منفذين موجودين في مناطق مختلفة. يمكّن خيار جدار الحماية المتقدم من تطبيق قواعد محددة مسبقًا ويسمح بإعداد منطقة ثالثة مثل منطقة DMZ. المفهوم الأساسي لـ ZBF هو أننا نتعامل مع منفذين فقط في نفس الوقت. يحتوي كل زوج من المنافذ على زوج منطقة لكل اتجاه تريد تطبيق السياسة عليه. إن العمل مع منافذ متعددة ومناطق متعددة هو ببساطة تكرار العملية مع التركيز على زوج منطقة واحد في كل مرة وتطبيق السياسات التي تريدها على كل زوج من المناطق.
يوجد خيار للإعداد بالطريقة القديمة لجدار الحماية المستند إلى IOS وهو CBAC يمكن تحديده بالنقر فوق الرابط Switch to Classic Firewall الموجود في أسفل الشاشة من الصورة السابقة. ولأننا لن نعود إلى الخلف فلن ننقر الرابط وانما سنمضي قدماً ونضغط على زر إطلاق المهمة المحددة (Launch the Selected Task) ونظرًا لأنه تم تحديد زر الاختيار Basic Firewall سيعرض المعالج شاشة الترحيب الموضحة في الشكل المجاور:
انقر فوق الزر التالي وحينها سيتم سؤالك عن المنافذ التي تقابل الشبكة الموثوقة والمنافذ المقابلة للشبكة غير الموثوقة كما هو موضح في الشكل المجاور:
لاحظ أنه إذا لم يتم تعريف المنافذ على أنها جزء من منطقة فلن يُسمح بحركة البيانات بين المنفذ غير المحدد والمنافذ في أي مناطق أخرى. ففي المثال السابق لا يستطيع منفذ Gigabit Ethernet 2/0 إعادة توجيه حركة البيانات إلى أي من المنفذين الآخرين. هذا الإعداد هنا لغرض العرض التوضيحي فقط. بعد النقر فوق التالي سيظهر إشعار بأن هذا المنفذ ليس عضوًا في المنطقة كما هو موضح في الشكل المجاور:
بعد النقر فوق نعم للمتابعة وإذا كان جهاز الموجه يدعم Call Manager Express (CME) فقد تظهر رسالة تحذير كما هو موضح في الشكل المجاور:
إذا لم تكن هذه الميزة متاحة على الشبكة فيمكن النقر فوق الزر لا أما إذا كانت متاحة فيمكن النقر فوق نعم وسيقوم CCP بإعداد السياسات الإضافية للسماح بحركة البيانات عبر جدار الحماية. بعد الإجابة على مربع الحوار هذا، ستظهر بعد ذلك رسالة تحذير توضح أن CCP لا يمكنه الوصول إلى جهاز الموجه هذا من خلال منافذ متصلة بالشبكات غير الموثوق بها. وفي مثالنا المقصود هو G3/0، كما هو موضح في التحذير في الشكل المجاور:
بعد النقر فوق الزر OK يسأل المعالج عن مستوى الأمان المراد تنفيذه كما هو موضح في الشكل المجاور:
عند تكوين معالج ZBF، يمكنك الاختيار من بين ثلاثة مستويات أمان:
■ أمان عالي: باستخدامه يقوم جدار الحماية بمعرفة الرسائل الفورية وبيانات نظير إلى نظير ومنعها. ويقوم بفحص حركة بيانات التطبيقات وذلك لبيانات الويب والبريد الإلكتروني ويمنع أي حركة بيانات غير متوافقة. ويقوم بإجراء فحص عام لتطبيقات TCP وUDP.
■ أمان متوسط: يشبه سابقه ولكنه لا يتحقق من حركة بيانات الويب والبريد الإلكتروني للتأكد من التوافق.
■ أمان منخفض: لا يقوم جهاز التوجيه بإجراء أي فحص لطبقة التطبيقات فهو يقوم بإجراء فحص عام لـ TCP وUDP.
من المهم ملاحظة أن تفاصيل ما يتم تنفيذه بالضبط في كل خيار من هذه الخيارات يخضع للـ CCP فمن الممكن أن أي تحديثات مستقبلية في الـ CCP قد تؤدي إلى تعديل التفاصيل لهذه الإعدادات.
في هذا المثال تم اختيار خيار الأمان المتوسط وبعد النقر فوق التالي فإذا لم يتم إعداد خادم نظام اسم المجال (DNS) سيطلب منك المعالج توفير عنوان IP الخاص بخادم DNS ليستخدمه جهاز التوجيه كما هو موضح في الشكل المجاور:
في هذا المثال، عنوان IP لخادم DNS هو 10.0.0.123 وبعد النقر فوق التالي فإن ملخص الميزات التي سيتم تنفيذها سيظهر كما هو موضح في الشكل المجاور:
بعد النقر فوق Finish، قد يقدم المعالج تحذير أو أكثر حول حركة البيانات التي قد تتم تصفيتها بواسطة السياسة ثم يقوم بتسليم الإعداد إلى جهاز التوجيه.
الآن من المهم معرفة أن CCP قد أنشأ عدة صفحات من الأوامر لتنفيذ السياسة يوضح المثال أدناه الأوامر التي أنشأها CCP وطبقها.
access-list 100 remark CCP_ACL Category=128
access-list 100 permit ip host 255.255.255.255 any
access-list 100 permit ip 127.0.0.0 0.255.255.255 any
access-list 100 permit ip 34.0.0.0 0.0.0.255 any
ip domain lookup
ip name-server 10.0.0.123
parameter-map type protocol-info yahoo-servers
server name scs.msg.yahoo.com
server name scsa.msg.yahoo.com
server name scsb.msg.yahoo.com
server name scsc.msg.yahoo.com
server name scsd.msg.yahoo.com
server name cs16.msg.dcn.yahoo.com
server name cs19.msg.dcn.yahoo.com
server name cs42.msg.dcn.yahoo.com
server name cs53.msg.dcn.yahoo.com
server name cs54.msg.dcn.yahoo.com
server name ads1.vip.scd.yahoo.com
server name radio1.launch.vip.dal.yahoo.com
server name in1.msg.vip.re2.yahoo.com
server name data1.my.vip.sc5.yahoo.com
server name address1.pim.vip.mud.yahoo.com
server name edit.messenger.yahoo.com
server name messenger.yahoo.com
server name http.pager.yahoo.com
server name privacy.yahoo.com
server name csa.yahoo.com
server name csb.yahoo.com
server name csc.yahoo.com
exit
parameter-map type protocol-info aol-servers
server name login.oscar.aol.com
server name toc.oscar.aol.com
server name oam-d09a.blue.aol.com
exit
parameter-map type protocol-info msn-servers
server name messenger.hotmail.com
server name gateway.messenger.hotmail.com
server name webmessenger.msn.com
exit
class-map type inspect match-any ccp-cls-protocol-im
match protocol ymsgr yahoo-servers
match protocol msnmsgr msn-servers
match protocol aol aol-servers
exit
class-map type inspect edonkey match-any ccp-app-edonkeydownload
match file-transfer
exit
class-map type inspect match-any ccp-h323annexe-inspect
match protocol h323-annexe
exit
class-map type inspect http match-any ccp-http-blockparam
match request port-misuse im
match request port-misuse p2p
match req-resp protocol-violation
exit
class-map type inspect aol match-any ccp-app-aol-otherservices
match service any
exit
class-map type inspect match-all ccp-protocol-pop3
match protocol pop3
exit
class-map type inspect msnmsgr match-any ccp-app-msn
match service text-chat
exit
class-map type inspect match-any ccp-cls-icmp-access
match protocol icmp
match protocol tcp
match protocol udp
exit
class-map type inspect match-all ccp-icmp-access
match class-map ccp-cls-icmp-access
exit
class-map type inspect match-all ccp-protocol-imap
match protocol imap
exit
class-map type inspect match-any ccp-cls-insp-traffic
match protocol cuseeme
match protocol dns
match protocol ftp
match protocol https
match protocol icmp
match protocol imap
match protocol pop3
match protocol netshow
match protocol shell
match protocol realmedia
match protocol rtsp
match protocol smtp extended
match protocol sql-net
match protocol streamworks
match protocol tftp
match protocol vdolive
match protocol tcp
match protocol udp
exit
class-map type inspect aol match-any ccp-app-aol
match service text-chat
exit
class-map type inspect edonkey match-any ccp-app-edonkey
match file-transfer
match text-chat
match search-file-name
exit
class-map type inspect kazaa2 match-any ccp-app-kazaa2
match file-transfer
exit
class-map type inspect fasttrack match-any ccp-app-fasttrack
match file-transfer
exit
class-map type inspect match-any ccp-h323-inspect
match protocol h323
exit
class-map type inspect match-any ccp-h323nxg-inspect
match protocol h323-nxg
exit
class-map type inspect match-all ccp-insp-traffic
match class-map ccp-cls-insp-traffic
exit
class-map type inspect edonkey match-any ccp-app-edonkeychat
match search-file-name
match text-chat
exit
class-map type inspect match-any ccp-h225ras-inspect
match protocol h225ras
exit
class-map type inspect msnmsgr match-any ccp-app-msn-otherservices
match service any
exit
class-map type inspect ymsgr match-any ccp-app-yahoo-otherservices
match service any
exit
class-map type inspect http match-any ccp-app-httpmethods
match request method bcopy
match request method bdelete
match request method bmove
match request method bpropfind
match request method bproppatch
match request method connect
match request method copy
match request method delete
match request method edit
match request method getattribute
match request method getattributenames
match request method getproperties
match request method index
match request method lock
match request method mkcol
match request method mkdir
match request method move
match request method notify
match request method options
match request method poll
match request method propfind
match request method proppatch
match request method put
match request method revadd
match request method revlabel
match request method revlog
match request method revnum
match request method save
match request method search
match request method setattribute
match request method startrev
match request method stoprev
match request method subscribe
match request method trace
match request method unedit
match request method unlock
match request method unsubscribe
exit
class-map type inspect match-any ccp-skinny-inspect
match protocol skinny
exit
class-map type inspect match-all ccp-protocol-im
match class-map ccp-cls-protocol-im
exit
class-map type inspect match-any ccp-cls-protocol-p2p
match protocol edonkey signature
match protocol gnutella signature
match protocol kazaa2 signature
match protocol fasttrack signature
match protocol bittorrent signature
exit
class-map type inspect http match-any ccp-http-allowparam
match request port-misuse tunneling
exit
class-map type inspect gnutella match-any ccp-app-gnutella
match file-transfer
exit
class-map type inspect match-any ccp-sip-inspect
match protocol sip
exit
class-map type inspect match-all ccp-invalid-src
match access-group 100
exit
class-map type inspect ymsgr match-any ccp-app-yahoo
match service text-chat
exit
class-map type inspect pop3 match-any ccp-app-pop3
match invalid-command
exit
class-map type inspect imap match-any ccp-app-imap
match invalid-command
exit
class-map type inspect match-all ccp-protocol-p2p
match class-map ccp-cls-protocol-p2p
exit
class-map type inspect match-all ccp-protocol-http
match protocol http
exit
policy-map type inspect http ccp-action-app-http
class type inspect http ccp-http-blockparam
log
reset
exit
class type inspect http ccp-app-httpmethods
log
reset
exit
class type inspect http ccp-http-allowparam
log
allow
exit
exit
policy-map type inspect imap ccp-action-imap
class type inspect imap ccp-app-imap
log
exit
exit
policy-map type inspect pop3 ccp-action-pop3
class type inspect pop3 ccp-app-pop3
log
exit
exit
policy-map type inspect p2p ccp-action-app-p2p
class type inspect edonkey ccp-app-edonkeychat
log
allow
exit
class type inspect edonkey ccp-app-edonkeydownload
log
allow
exit
class type inspect fasttrack ccp-app-fasttrack
log
allow
exit
class type inspect gnutella ccp-app-gnutella
log
allow
exit
class type inspect kazaa2 ccp-app-kazaa2
log
allow
exit
exit
policy-map type inspect im ccp-action-app-im
class type inspect aol ccp-app-aol
log
allow
exit
class type inspect msnmsgr ccp-app-msn
log
allow
exit
class type inspect ymsgr ccp-app-yahoo
log
allow
exit
class type inspect aol ccp-app-aol-otherservices
log
reset
exit
class type inspect msnmsgr ccp-app-msn-otherservices
log
reset
exit
class type inspect ymsgr ccp-app-yahoo-otherservices
log
reset
exit
exit
policy-map type inspect ccp-inspect
class type inspect ccp-invalid-src
drop log
exit
class type inspect ccp-protocol-http
no drop
inspect
service-policy http ccp-action-app-http
exit
class type inspect ccp-protocol-imap
no drop
inspect
service-policy imap ccp-action-imap
exit
class type inspect ccp-protocol-pop3
no drop
inspect
service-policy pop3 ccp-action-pop3
exit
class type inspect ccp-protocol-p2p
no drop
inspect
service-policy p2p ccp-action-app-p2p
exit
class type inspect ccp-protocol-im
no drop
inspect
service-policy im ccp-action-app-im
exit
class type inspect ccp-insp-traffic
no drop
inspect
exit
class type inspect ccp-sip-inspect
no drop
inspect
exit
class type inspect ccp-h323-inspect
no drop
inspect
exit
class type inspect ccp-h323annexe-inspect
no drop
inspect
exit
class type inspect ccp-h225ras-inspect
no drop
inspect
exit
class type inspect ccp-h323nxg-inspect
no drop
inspect
exit
class type inspect ccp-skinny-inspect
no drop
inspect
exit
exit
policy-map type inspect ccp-permit
class class-default
exit
policy-map type inspect ccp-permit-icmpreply
class type inspect ccp-icmp-access
no drop
inspect
exit
class class-default
no drop
pass
exit
exit
zone security in-zone
zone security out-zone
zone-pair security ccp-zp-out-self source out-zone destination self
service-policy type inspect ccp-permit
exit
zone-pair security ccp-zp-in-out source in-zone destination out-zone
service-policy type inspect ccp-inspect
exit
zone-pair security ccp-zp-self-out source self destination out-zone
service-policy type inspect ccp-permit-icmpreply
exit
interface GigabitEthernet3/0
description $FW_OUTSIDE$
zone-member security out-zone
exit
interface GigabitEthernet1/0
description $FW_INSIDE$
zone-member security in-zone
exit
التحقق من جدار الحماية
يمكن التحقق من جدار الحماية في كل من CCP وسطر الأوامر ولتحرير السياسة أو التحقق منها داخل CCP انتقل إلى Configure> Security> Firewall> Firewall وانقر فوق Edit كما هو موضح في المجاور:
إذا تم تفعيل خدمة التسجيل (logging) وكنت تقوم بتسجيل الدخول إلى خادم سجل النظام (syslog)، فيمكن التحقق من أي أحداث مسجلة من خلال النظر إلى تلك السجلات على الخادم.
تحتوي قائمة الـ CCP على قائمة منسدلة تمكّن من تعيين تفضيلات المستخدم مثل مستوى السجل وإظهار معلمات معاينة CLI. ويمكنك عرض رسائل السجل على جهاز التوجيه ضمن قسم مراقبة السجل من خلال الانتقال إلى Monitor> Router> Logging
لرؤية حالة جدار الحماية والنشاط الحالي يمكن استخدام ميزة المراقبة في CCP. وللوصول إلى ذلك، يتم الانتقال إلى Monitor> Security>Firewall Status وتحدد الخيارات التي المراد مراقبتها ويبين الشكل أدناه مثالاً على هذه الميزة :
يمكّن الزر (Stop Monitoring) من إيقاف المراقبة وبدئها والموجود في الصورة أعلاه. إن المخرجات الموضحة في الشكل حول الحزم المسموح بها وخريطة الفئة المخصصة هي مجرد مثال من سياسة جدار الحماية المخصصة وقد لا تعكس الإعدادات الافتراضية التي يتم تنفيذها بواسطة معالج ZBF. يتم عرضه هنا فقط لغرض توضيح المكان الذي يجب الانتقال إليه في واجهة المستخدم الرسومية لمراقبة حركة البيانات التي تمر عبر جدار الحماية.
التحقق من الإعداد في سطر الأوامر
كما ذكرت سابقاً أنه لأغراض الشهادة واجتياز الاختبار يكون التركيز على ZBF من منظور CCP. لذا واستعداداً للامتحان تأكد من التدرب على واجهة المستخدم الرسومية. في الحياة العملية الميدانية تعد المعرفة بـ CLI أكثر صلة ولهذا من المهم معرفتها. من سطر الأوامر يمكن استخدام الأوامر كما هو موضح في المثال أدناه للتحقق من إعدادات ZBF الخاصة بك.
R3# show class-map type inspect
Class Map type inspect match-any ccp-cls-protocol-p2p (id 27)
Match protocol edonkey signature
Match protocol gnutella signature
Match protocol kazaa2 signature
Match protocol fasttrack signature
Match protocol bittorrent signature
Class Map type inspect match-any ccp-skinny-inspect (id 25)
Match protocol skinny
Class Map type inspect match-all ccp-insp-traffic (id 19)
Match class-map ccp-cls-insp-traffic
Class Map type inspect match-any ccp-h323nxg-inspect (id 18)
Match protocol h323-nxg
Class Map type inspect match-any ccp-cls-icmp-access (id 8)
Match protocol icmp
Match protocol tcp
Match protocol udp
Class Map type inspect match-any ccp-cls-protocol-im (id 1)
Match protocol ymsgr yahoo-servers
Match protocol msnmsgr msn-servers
Match protocol aol aol-servers
Class Map type inspect match-all ccp-protocol-pop3 (id 6)
Match protocol pop3
Class Map type inspect match-any ccp-h225ras-inspect (id 21)
Match protocol h225ras
Class Map type inspect match-any ccp-h323annexe-inspect (id 3)
Match protocol h323-annexe
Class Map type inspect match-any ccp-cls-insp-traffic (id 12)
Match protocol cuseeme
Match protocol dns
Match protocol ftp
Match protocol https
Match protocol imap
Match protocol pop3
Match protocol netshow
Match protocol shell
Match protocol realmedia
Match protocol rtsp
Match protocol smtp extended
Match protocol sql-net
Match protocol streamworks
Match protocol tftp
Match protocol vdolive
Match protocol tcp
Match protocol udp
Class Map type inspect match-all ccp-protocol-p2p (id 35)
Match class-map ccp-cls-protocol-p2p
Class Map type inspect match-any ccp-h323-inspect (id 17)
Match protocol h323
Class Map type inspect match-all ccp-protocol-im (id 26)
Match class-map ccp-cls-protocol-im
Class Map type inspect match-all ccp-icmp-access (id 9)
Match class-map ccp-cls-icmp-access
Class Map type inspect match-all ccp-invalid-src (id 31)
Match access-group 100
Class Map type inspect match-any ccp-sip-inspect (id 30)
Match protocol sip
Class Map type inspect match-all ccp-protocol-imap (id 11)
Match protocol imap
Class Map type inspect match-all ccp-protocol-http (id 36)
Match protocol http
R3#
لاحظ أنه على الرغم من وجود الكثير من المخرجات فإن الهدف هو فهم الأوامر التي تسمح برؤية ما يحدث من واجهة سطر الأوامر (CLI). في محتوى المثال أدناه، نرى المعلومات التفصيلية المتعلقة بجلسة telnet التي تمر حاليًا عبر جدار الحماية بالإضافة إلى PING الذي يتم إرساله عبر جدار الحماية.
R3# show policy-map type inspect zone-pair ccp-zp-in-out sessions
policy exists on zp ccp-zp-in-out
Zone-pair: ccp-zp-in-out
Service-policy inspect : ccp-inspect
<snip>
Inspect
Class-map: ccp-insp-traffic (match-all)
Match: class-map match-any ccp-cls-insp-traffic
Match: protocol cuseeme
0 packets, 0 bytes
30 second rate 0 bps
Match: protocol dns
0 packets, 0 bytes
30 second rate 0 bps
Match: protocol ftp
0 packets, 0 bytes
30 second rate 0 bps
Match: protocol https
0 packets, 0 bytes
30 second rate 0 bps
Match: protocol imap
0 packets, 0 bytes
30 second rate 0 bps
Match: protocol pop3
0 packets, 0 bytes
30 second rate 0 bps
Match: protocol netshow
0 packets, 0 bytes
30 second rate 0 bps
Match: protocol shell
0 packets, 0 bytes
30 second rate 0 bps
Match: protocol realmedia
0 packets, 0 bytes
30 second rate 0 bps
Match: protocol rtsp
0 packets, 0 bytes
30 second rate 0 bps
Match: protocol smtp extended
0 packets, 0 bytes
30 second rate 0 bps
Match: protocol sql-net
0 packets, 0 bytes
30 second rate 0 bps
Match: protocol streamworks
0 packets, 0 bytes
30 second rate 0 bps
Match: protocol tftp
0 packets, 0 bytes
30 second rate 0 bps
Match: protocol vdolive
0 packets, 0 bytes
30 second rate 0 bps
Match: protocol tcp
0 packets, 0 bytes
30 second rate 0 bps
Match: protocol udp
0 packets, 0 bytes
30 second rate 0 bps
Inspect
Number of Established Sessions = 2
Established Sessions
<snip>
Session 673BBD00 (10.0.0.11:29333)=>(34.0.0.4:23) tacacs:tcp SIS_OPEN
Created 00:02:20, Last heard 00:00:37
Bytes sent (initiator:responder) [39:273572]
Session 673BC100 (10.0.0.22:8)=>(34.0.0.4:0) icmp SIS_OPEN
Created 00:00:40, Last heard 00:00:00
ECHO request
Bytes sent (initiator:responder) [69912:69912]
تنفيذ NAT مع ZBF
نستطيع إضافة خدمة الـ (NAT) أو Network Address Translation إلى نفس جهاز الموجه المعد للقيام بـ ZBF وأسهل طريقة لذلك هي استخدام المنفذ الخارجي لجهاز الموجه والتحميل على عنوان الـ IP العام (Public IP) لذلك المنفذ بحيث ستخرج كافة الحزم التي تمر عبر جدار الحماية وذلك المنفذ باتجاه الإنترنت على أنها مستخدمة لعنوان الـ IP العام المعطى لذلك المنفذ في جهاز الموجه. لاحظ أنه من المحتمل أن جهاز الموجه هذا قد حصل على عنوان IP العام له عن طريق خادم الـ (DHCP) الخاص بموفر الخدمة أو ربما تم إعداده بشكل ثابت. يمكننا التحقق من ذلك من خلال الاطلاع على تفاصيل المنفذ لتحديد كيفية حصوله على عنوان الـ IP وما هو رقم هذا العنوان حالياً.
ولإعداد الـ NAT، انتقل إلى Configure> Router> NAT ومن هناك نشغل معالج الـ NAT كما هو موضح في الشكل أدناه
إذا كان هناك منطقة DMZ أو كنا نستضيف خادم (على منفذ ثالث) ويحتاج هذا الخادم عند ترجمة أو تحويل العنوان إلى عنوان محدد بحيث يتمكن المستخدمون الراغبين في الوصول اليه من الخارج فيمكن استخدام معالج NAT المتقدم لإعداد ذلك كخيار إضافي إلى NAT الأساسي للمستخدمين من الداخل. لاحظ أن NAT الأساسي مخصص فقط للمستخدمين الداخليين الراغبين في الوصول إلى الموارد الخارجية.
في هذا المثال نستخدم معالج NAT الأساسي وعندما نضغط على زر تشغيل المهمة (Launch the Selected) ستظهر شاشة الترحيب الخاصة بمعالج NAT الأساسي كما هو موضح في الشكل المجاور:
عندما ننقر على (Next) للمتابعة يحتاج جهاز الموجه إلى معرفة أي من المنافذ هي المتصلة بالإنترنت. وسيكون هذ المنفذ غير الموثوق لدينا إذا قمنا بإعداد الـ ZBF. ويريد المعالج أيضًا معرفة الشبكات الداخلية التي سيتم السماح بترجمتها حيث يتم توجيه الحزم من الأجهزة الموجودة على تلك الشبكات عبر جهاز الموجه وخارجها نحو الإنترنت. ويبين الشكل أدناه مثالاً لاختيار هذه المنافذ:
إذا أردنا السماح بترجمة حركة البيانات من شبكة DMZ أيضًا إلى عنوان IP العام هذا على المنفذ الخارجي لجهاز التوجيه فيمكن فقط إضافتها عن طريق وضع علامة اختيار في خانة الاختيار بجوار نطاق عناوين الشبكة هذا. وعندما ننقر فوق (Next) للمتابعة يقدم المعالج ملخصاً للإعدادات التي هو على وشك تنفيذها كما هو موضح في الشكل المجاور:
انقر فوق الزر (Finish) للمتابعة ويمكن كذلك تنفيذ NAT من خلال واجهة سطر الأوامر (CLI) ويتم الذي باستخدام الأوامر الموضحة أدناه مع العلم أن قائمة التحكم بالوصول (ACL) التي سنبدأ بها الإعداد هي ببساطة عبارة آلية تقوم ببساطة بتحديد ومطابقة الحزم التي لها عنوان مصدر IP من شبكة 10.0.0.0/24
R3(config)# access-list 2 permit 10.0.0.0 0.0.0.255
يخبر الأمران التاليان جهاز الموجه أي من منافذه ومن منظور NAT متصل بالداخل باتجاه الخارج. الإعداد الطبيعي هو ترجمة الحزم القادمة من الداخل باتجاه الخارج. يُشار إلى هذا أيضًا بـ inside NAT لاحظ أيضاً بأن مصطلح NAT غالبًا هو المستخدم حتى عندما نستخدم في فعلياً ترجمة عنوان المنفذ (PAT) كما هو الحال في هذا المثال
R3(config)# interface GigabitEthernet3/0
R3(config-if)# ip nat outside
R3(config-if)# exit
R3(config)# interface GigabitEthernet1/0
R3(config-if)# ip nat inside
R3(config-if)# exit
تنص القاعدة التالية على أنه إذا تطابقت حركة البيانات مع لائحة التحكم بالوصول رقم 2 وكانت البيانات متجهة للخارج فيجب ترجمة عنوان IP المصدر إلى عنوان IP الذي تم إعداده ووضعه على المنفذ الخارجي لجهاز الموجه. تشير الكلمة overload إلى PAT ويمكنها دعم الآلاف من العملاء الداخليين
R3(config)# ip nat inside source list 2 interface GigabitEthernet3/0 overload
التحقق من عمل NAT
للتحقق من الإعدادات يمكن إظهار الإعدادات قيد التشغيل من سطر الأوامر أو من خلال CCP. وللقيام بذلك انتقل إلى Configure> Router> NAT ونحدد Edit NAT Configuration. يوضح الشكل أدناه الإعدادات الموجودة لدينا.
إذا كان هناك بالفعل حركة بيانات تتدفق عبر جهاز الموجه من الداخل إلى الإنترنت فيجب أن نكون قادرين على رؤية تلك الترجمات كما هو موضح أدناه بحيث تتضمن الترجمات الحالية والمستخدمة في اختبار ping من جهاز PC1 وكذلك جلسة اتصال telnet من PC1 وكذلك نقل ملفات TFTP أيضاً بواسطة PC2 ، لاحظ أن كل هذه الجلسات ترجمت إلى العنوان الخارجي لأجهزة التوجيه 34.0.0.3 باستخدام PAT.
R3# show ip nat translations
Pro Inside global Inside local Outside local Outside global
icmp 34.0.0.3:9 10.0.0.11:9 34.0.0.4:9 34.0.0.4:9
tcp 34.0.0.3:36906 10.0.0.11: 36906 34.0.0.4:23 34.0.0.4:23
udp 34.0.0.3:49213 10.0.0.22: 49213 34.0.0.4:69 34.0.0.4:69