Thursday, January 31, 2013

Juniper Interfaces

فى محاولة لتغطية جميع او معظم مواضيع شهادة JNCIA  اكتب اليوم عن Juniper Interfaces , وسوف اتناول او اتعرض بالشرح لهذه الجزئيات :
1- Basic Interfaces Types.
2- Interfaces Naming.
3-Basic Configuring & Troubleshooting.

فكما نرى بهذه الصورة juniper j2320 series :

تنقسم ال interfaces  الى نوعين رئيسيين :
1- Permanent Interfaces :وكما وضحت لهم على الصورة باللون الاحمر و هم ال interfaces  الموجودة بال chassis  الخاص بالrouter اى built-in interfaces  كما هو موضح على الصورة مثل ال :
Console port , AUX port , 4 Giga Ethernet ports , 2 USB ports .
يندرج ايضا تحت تصنيف ال Permanent Interfaces نوع اخر يسمى بال Management Interfaces  مثل :
- fxp0 : وهذا ال interface  يسمى بال Out Of Band management interface  او OOB و هذا ال interface  يكون متصل مباشرة بال Router Engine (RE)s و يستخدم هذا ال Interface  فى ارسال ال SNMP-Traps messages  او ال Informs messages... مثله بالضبط ال me0 interface : الموجود بال Ex series Juniper switches .
- fxp1 : وهذا ال interface  يوجد فى ال MX series  و هو يستخدم فى ربط ال Packet Forwarding Engine - PFE  بال Routing Engine -RE وهو logical interface .... مثله بالضبط ال me1 interface : الموجود بال Ex series Juniper switches .
- loopback interfaces : مثل ال lo1, lo0 ,........
- dsc interfaces : او discard interfaces  ووظيفة هذا ال interface  هو عمل discard لل packets  بصورة silent و معنى silently  اى انه بعد عمل ال discard  لل packets  لن يقوم بارسال ICMP error message لل sender , ويستخدم فى الحماية من هجمات ال DOS  و اعتقد انه سوف اقوم بشرح ذلك فى تدوينة قادمة , وهو عامة اشبه الى حد كبير بال Null0 interface  فى Cisco world .
2-Transient Interfaces :
وكما وضحت لهم على الصورة باللون الاسود وهم ال Interfaces  الموجودة بداخل ال modules  المضافة و نقوم بشراء هذه ال modules على حسب ال design  لل network  و على حسب احتياجاتنا ويمكن ازالتها وتركيبها بشكل منفصل عن ال router chassis فمثلا هذا ال router  يحتوى على 2 modules  :
          - serial module  يحتوى بداخله على 2 serial ports .
          - fast ethernet module يحتوى بداخله على 16 fast ethernet ports .

ولتلخيص ما سبق يمكنك مراجعة الصورة الاتية :

نأتى الان لتوضيح ال Juniper interfaces naming :
تنقسم عملية ال Interface Naming  الى جزئين :
       - أولا : Physical interface Naming 
                وتكون على هذا النحو        type-fpc / pic / port       
                 type : يمثل نوع ال media 
                   fpc : يمثل ال chassis number 
                   pic : يمثل ال   slot number 
                 port : يمثل ال port number 

              فلو قلنا ge-0/0/0 :
ge-0/0/0   ---->   type=Giga Ethernet , fpc=0 , pic=0 , port=0

     -ثانيا : Logical interface Naming 
              وتكون على هذا النحو         type-fpc / pic / port.logical number
              ويكون ال logical number عباره عن رقم من 0:16384  وهذا الرقم 
              يمثل شىئ يدعى ال unit number , وسنفهم هذه الجزئية اكثر عند تناول  
              الجزء الخاص بال configuratios .

ناتى الان للجزء الخاص بال configuration & Troubleshooting :
                -أولا : كيفية اعداد ال ip الخاص ب interface  معين :

juniper@j2350#set ge-0/0/2.0 family inet address 172.16.100.2/24
                ال family هنا تحدد نوعية ال ip فمثلا inet  تمثل انه ipv4 address  ولو اردنا اعداد ال Interface  ب ipv6 address  سوف                      
                نحدد ال family  لتكون inet6.

               -ثانيا : كيفية عمل troubleshooting  لل interfaces :
                الامر الاول يعرض ال interfaces  الموجودة على ال router مع عرض بيانات مختصرة عن كل interface  مثله بالضبط فى cisco          
 show ip int brief 


و لعرض بيانات تفصيلية عن interface  من خلال هذا ال command  و نلاحظ انه منقسم الى جزئين كما قلنا قبل قليل physical & logical 
ما بداخل ال مستطيل الاسود هو ال physical information data  و المستطيل الاحمر يحتوى على ال logical information data


أرجو ان الموضوع يكون  بسيط و مفهوم ....


Monday, January 28, 2013

JunOS Firewall Filters


موضوع اليوم هو احد المواضيع الرئيسية لكل المتعاملين مع اجهزة juniper  و كل من يقوم بالتحضير لشهادة ال JNCIA  الا وهو ال Firewall Filters  .
تعتبر ال
firewall filters  هى المكافئ لل extended acl  فى اجهزة cisco  , و لها نفس ال structure  الخاص بال route policy  حيث انهم بيطبقوا عملية ال match  بمطابقة ال condition  من خلال If statement  و يتم تطبيق ال action  من خلال then statement

و الاختلاف بينهما :
·        ان ال route policy  بت match ال route attributes  و لكن ال firewall filter  بت match ال packet fields  مثل ال fields  التى بداخل TCP/UDP/IP headers , ….
·        ان ال route policy بيختلف ال default behavior  لها باختلاف ال routing protocol  المستخدم فنجد ان ال default behavior  الخاص به يختلف عنه فى كلا من OSP , BGP ,…ولكن فى ال Firewall filters  ال default behavior ثابت وهو عمل DISCARD   كما هو الحال فى ال Cisco ACL  فكانت تنتهى بجملة Deny any  وهى نفس ال concept  فال firewall filter  تنتهى ب Discard لل packet فى حالة عدم وجود matching.
·        ايضا فى ال routing policies  كانت يتم تطبيقها على ال routing protocols  او على ال routing table  و لكن ال firewall filters  يتم تطبيقها على مستوى ال interface.
·        فى الrouting policies  لم يكن علينا بعمل تسمية لل terms  ولكن فى ال firewall filters  لابد من عمل تسمية او naming  لل terms  التى لدينا بداخلها .

يتم تطبيق ال firewall filters  على مستوى كلا من ال control plane  الخاص بال routers  ذاته مثل ال telnet  او ال icmp traffic  مثل ال COPP  فى اجهزة cisco  التى كانت تعتمد على ال  والتى تناولتها بالشرح فى تدوينة سابقة ACL  للتحكم فى ال traffic  على ال control plane أو يتم تطبيق ال firewall filter  على مستوى ال data plane . لها الامكانية على عمل deep inspection  لل traffic  وذلك بالتحقق من ال state  الخاصة بال traffic  من خلال عمل check  داخل ال TCP fields و هذا ما يسمى بال stateful filtering  فى عالم ال security بالاضافة الى عمل policing  لل traffic يضا  يمكن استخدامها فى عمليات ال monitoring  حيث أن  لها الامكانية فى عمل counting  و بعض الاحصائيات لعددpackets  معينة او traffic محددة مثل  يمكن استخدامها فى عمل counting  لل UDP packets  الخارجة او الداخلة على ال router  .

تستخدم ال filewall filters  ل terms  3رئيسية وهم :

1-Terms ( named terms )
2-From ( matching )
3-then ( action)
كما هو موضح بالصورة :

قمنا باعداد firewall filter  بها 3 terms  و كل term  يختلف عن ال term  الاخر فى ال criteria التى سوف يستخدمها لعمل matching  لل traffic  ففى حالة عدم حدوث match  لل term  الاول  سوف يتم اللجوء لل Trem  الثانى ففى حالة انه قد حدث match  مع ال criteria  الموجودة بال from condition  له سوف يتم تنفيذ ال action  المحدد من ال then و ان لم يحدث match  مع ال term  الثانى سوف يتم الذهاب لل term  الثالث و بالمثل ولك هذا اخر  term فلا يوجد term اخر قد تم اعداده لذلك سوف  يكون ال action  فى حالة عدم وجود match  هو عمل discard  لل packet .

نتناول الان بالتوضيح أكثر كل من matching & actions
1-    Matching  :
يتم عمل match لكل مما يلى :
-         ال fields  بداخل layer3 & layer 4 Headers  .
-         ال ip addresses  سواء كان source address  او destination address.
-         ال protocols  المستخدمة .
-         ال numeric range  و المقصود بها ال Port numbers.
-         ال Bit fields  مثل ال ACK, SYN سواء بالقيمة 1  او 0.
و على حسب نوع ال PROTOCOLS  المستخدمة نستطيع عمل matching  لل fields  الخاصة به فمثلا لو نظرنا الى ال headers  الخاصة بكل من TCP , UDP , IP  نلاحظ ان كل منهم  له ال structure  الخاص به و ال fields  الخاصة به  فمثلا يمكننا عمل matching  لل flags  الخاصة بال TCP  فقط لأن ال UDP  لا يحتوى على flags  و هكذا فباختلاف البروتوكول يمكننا عمل matching  و deep inspections  لمحتويات ال fields  الخاصة به.


2-    ال Actions  تنقسم الى 3 انواع :
1-    Terminating :
وهى ال actions  القاطعة التى يتم تطبيقها مثل كلا من (Accept, Reject,Discard)
2-    Flow control
مثل عملية توجيه ال traffic  او ال Packet  من term الى term اخر .
3-    Modifiers
مثل عمل counting  لنوع محدد من ال packets  لغرض ال monitoring  أو عمل logging وارسال ال syslog messages  ل syslog server  خاص بال monitoring & Troubleshooting  و غيرها من ال features.
  
ملحوظة:ليس من المفترض وجود From statement  ففى حالة عدم وجودها فهذا يعنى " match all"


ناتى الان لكيفية عمل configuration  لل firewall filters  على ال juniper routers  بالتوضيح من المثال التالى : 
نريد ان ننشئ Firewall filter  وظيفتها هى السماح فقط ل network محددة بالخروج عبر ال interface  المواجه لل ISP  للدخول لل Internet  و نقوم بمنع اى network  اخرى بالخروج و ايضا نريد ان نقوم بعد ال packets  التى سوف تخرج عبر الinternet .
أولا : نقوم بانشاء firewall filter  و نقوم بتسميته وليكن Filter_out
ثانيا : ان نقوم بانشاء ال terms  الخاصة بال firewall filter   .. ال term  الاول ونسميه وليكن deny-spoof  و هييعمل match  لاى ip  غير تابع لل network  172.30.102.0/24  و ال action  سيكون عمل log  له و يعمل discard  له   و ال network  لو كانت 172.30.102.0  سوف يذهب لعمل check  لل term  الثانى  Accept-else  و هنا لم نضع matching  اى انه سوف يقوم بعمل matching  لل 172.30.101.2  و من ثم سوف يكون ال action  هنا هو عمل count  لل packets  و عمل accept  لها للخروج.
ثالثا : ان نقوم بتطبيق ال firewall filter  على ال interface  المواجه لل internet  و نقوم بتحدبيد ال direction  و هو out  اى يتم تطبيقها على ال packets  الخارجة من هذا ال interface
وهذه الصورة توضح الخطوات التى سوف نقوم باعدادها :

وها هى الاوامر المستخدمة :



المصادر التى استندت اليها :
 ·        Juniper online Documentations
·        Michael Shannon @ cbt nuggets           
        
أرجو ان يكون الموضوع بسيط ومفهوم....