مقال اليوم لشرح بروتوكول من البروتوكولات المستخدمة في مجال الشبكات وهو GRE Protocol
ماهو بروتوكول ال GRE ؟
يطلق عليه إسم بروتوكول الإتصال النفقي وهو إختصار ل Generic Routing Encapsulation وهو بروتوكول قامت سيسكو بتطويره لعمل encapsulation للداتا المنتقلة عبر ال point- to-point links أي من نقطة إلي نقطة.
الاستعمال والإستخدام الاساسي له هو عندما نريد ارسال داتا من network الى نتورك اخري مرورا بشبكة الانترنت او مرورا ب network غير امنة
ولتحقيق هذا يتم عمل virtual tunnel بين النهايتين endpoints والمقصود بها راوترين سيسكو وتنتقل الداتا عبر هذه ال tunnel
الداتا المنقولة عبر ال tunnel لا تكون مشفرة وانما يكون قد تم عليها عملية encapsulation باضافة GRE header على كل packet منها واذا كان تشفير الداتا مطلوبا لا بد من عمل configuration لل ipsec
ماهو الفرق بين ال GRE و ipsec site to site VPN ؟
ال GRE ليس مثل ال ipsec site-to-site vpn حيث أن الاختلاف الرئيسي هو ان ال GRE يسمح بمرور broadcast&multicast traffic وهو ما لا يوفره ipsec site to site vpn اي في ال large networks والتي يكون من الضروري تشغيل routing protocol فيها يكون ال GRE vpn tunnel الخيار الافضل
خطوات وإعدادات بروتوكول ال GRE :
1-انشاء ال GRE tunnel
2-عمل configuration لل ipsec لحماية وتشفير الداتا
مثال عملي :-
الصورة المرفقة هي اللاب الذي سنعمل عليه ومبدايا قمت باعداد العناوين وتشغيل eigrp على كل الراوترات حيث من الضروري ان يكون كل طرف قابلا للوصول من الطرف الاخر والا فان ال tunnel interface لن يصبح في حالة up/up
سنقوم ببناء ال tunnel بين الروترين :-

على R1 :
R(config)#int tunnel 0
R(config-if)#ip address 10.0.0.1 255.255.255.0
R(config-if)#tunnel source 192.168.50.1
R(config-if)#tunnel destination 192.168.80.1
على R2 :
R(config)#int tunnel 1
R(config-if)#ip add 10.0.0.2 192.168.1.2 255.255.255.0
R(config-if)#tunnel source 192.168.80.1
R(config-if)#tunnel destination 192.168.50.1
الان اصبحت ال tunnel جاهزة بقي حماية وتشفير الداتا عبر ipsec
بداية تشغيل وانشاء isakmp phase 1 وهو بروتوكول بتشغيله على الطرفين يجعلهما يتفاوضان على كيفية بناء ال ipsec vpn tunnel
على R1 :
R(config)#crypto isakmp policy 1
R(config-isakmp)#encapsulation 3des
R(config-isakmp)#hash md5
R(config-isakmp)#auth pre-share
R(config-isakmp)#group 2
الان نحدد ال key :
R1(config)#crypto isakmp key CISCO address 192.168.80.1
اخترنا خوارزمية التشفير 3des وخوارزمية الهاش md5 ولل authentication اخترنا pre-share key وفيما بعد حددناه CISCO اي ككلمة سر بين الطرفين واما ال group فاخترناه 2 وهو احد مجموعات diffe helman في التشفير
نقوم بعمل الاعدادات ذاتها على R2 مع مراعاة انه عند وضع ال key نغير ال address الى 10.0.0.1
الان يجب اعداد ال phase 2 المسؤولة عن حماية وتشفير الداتا المنتقلة
على R6 :
R(config)#crypto ipsec transform-set TS esp-3des esp-md5-hmac
R(config-crypto-trans)#exit
R(config)#crypto ipsec profile GRE-PRO
R(ipsec-profile)#set transform-set TS
ال transform-set هي المسؤولة عن تشفير الداتا المنتقلة قمنا بتسميتها TS واخترنا خوارزمية التشفير 3des وخوارزمية الهاش md5 ثم انشانا profile ونسند له ال transform-set المبنية
ولعمل ال phase 2 على R2 نقوم بعمل نفس الاعدادات نسخ لصق
الان بقي تفعيل هذا الكلام على ال tunnel interfaces في كلا الراوترين
على R6 :
R(config)#int tunnel 0
R(config-if)#tunnel protection ipsec profile GRE-PRO
نفس الامر على ال tunnel interface الموجود في R2 وبهذا ستعمل ال tunnel ان شاء الله
للتاكد من صحة العمل:
R#sh crypto session
في الخرج اذا كان العمل صحيحا ستلاحظ السطر التالي:
session status: UP-ACTIVE