sayd_ahmad

زيزوومى محترف
إنضم
3 ديسمبر 2009
المشاركات
2,003
مستوى التفاعل
110
النقاط
750
الإقامة
مصر
غير متصل
54f4246e526fe3045967028899fba83a.png


f952d191e9e49dc378174babe2e6fb67.png

منقول

اسعد الله أوقاتكم بكل خير و بعد السلام بداية و ختاما
والصلاة علي نبينا محمد صلى الله عليه وسلم أشرف وأفضل من مشى على الأرض
وخير من وجه وأرشد

أما بعد أعود أليكم اليوم أعزائي أعضاء ومشرفي منتديا الإبداع و التميز منتدي




c88169692aad027a063218c79f48c316.gif




اليوم أن شاء الله ها قوم بشرح تنصيب Server 2008 R2 Windows لكى يستفيد ألاجوه ألأعضاء بالجديد أن شاء الله

ثم بعد طريقة تنصيب أل Active Directory وبعد ذلك أن شاء الله سأقوم بشرح طريقة تحديث DC 2003 الى DC 2008

وبالنسبة لسير فر 2008 قامة مايكروسوفت بتحديثه وإنهاضه نهضه كبيره جدا بينه وبين 2003

وان شاء الله سنشاهد مع بعض في الدروس الجديد في 2008

نبدئ الشرح تابعو الشرح بالصور

طبعا اول حاجه هن جيب أسطوانة سير فر 2008 وهن ضفها قي أل DVD-rom تبع السير فر

ونعمل بها boot ونتابع الشرح

65220376393384bd787bfe3becf805ef.png

اول شيئ سنختار الوقت تبع ألبلده تبعنا أنا طبعا من مصر واخترت من مصر لكى يدعم ألكتابه بال عربيه طبعا وده المهم

e48a4246f9f5670efa941667d665506b.png

نختار Install ونكمل

155de45aa525d3215cb2c7dbc81657d1.png

42b515479d748991de87879e3baa217e.png

نحتار نوع ألنسخه وأنا طبعا اخترت Standard لسهولة تكريكها

5cb9ed09f197ab3428aaa887b3adbc45.png

b433a8d7d454e1dbe398ef9c08003fb9.png

نختار Custom​

1c5bef54bf714bcaf2526bb6607f89c8.png

نقوم بتقسيم الهارد كيفما نشاء أنا هنه ها عمله Partition واحد فقط

f060dddf4d2bcb662be6af076ff60857.png

a2120d4cd90a3ced04eb3fa53dd45c5e.png

6040f5c096dba87a56b8eb907ff4c0e5.png

هنا طبعا ظهر كمان واحد مع الأساسي وده لوضع ال System file وال boot فيه

a953d863830e16bab77ecf40359a85c0.png





b5ac3815508260271f39d15e8436e045.png

aab4316fb489031b9ecba801801a1953.png

003c0fe6d5cadfc265c064c0cf13046c.png

نقوم بوضع الباص الخاص بينا بس ملحوظه الباص هنا يكون معقد شويه يعنى حروف وأرقام ما يكون مثل

أو أي حاجه تريدها انت Ahmed - totowawa وهكذا يعنى يكون @#tUnea مثل هذا كده

6b25e75ea8cb360bdaa8ea71e09621f6.png

58bb20de7203e5e5371d1e2647fd412f.png

837b7bed0173439e4c2cd35b5a467cc6.png

b36c834b7c379a76dd9d67f91e487d97.png

7bc4e3ab986acd71710079d17361e0b0.png

سنذهب اول شيئ لنقوم بتغير اسم السير فر لانه ينزل باسم أفتراضى وأنا هنا ها سميه باسم
DC-Sery​

5daa912c64d684accee0dd5b4a1e7baa.png

0e76382e3882df7f8b416df6c8c17a3a.png

هنا سنذهب ونغير أعدادات أل IPs تبع السير فر لدينا

cd1bc01f6dca521e634f74224ee9752a.png

b57fb961ad78a6e9a279fd89841b363f.png

da51feebc1e2056274d77ca3df09d9c3.png

وهنا نكون انتهينا من شرح التنصيب وأعداد السير فر ليكون سير فر DC وان شاء الله في الشرح القادم

سأشرح طريقة تنزيل أل DC خطوه بخطوه بالتوفيق أن شاء الله
أخوكم احمد بيدق


c88169692aad027a063218c79f48c316.gif



cf14ba00cc4f359787fabb5b297d74d3.gif

312e7uh.jpg
 

التعديل الأخير بواسطة المشرف:
توقيع : sayd_ahmad
مشكووووووووور ما قصرت
 
توقيع : خليل....
بورك فيكم وعزك الله يوم لا عز ألا له
 
توقيع : sayd_ahmad
شكرا ياغالي
 
توقيع : noran
بورك فيك و دمت في حفظ الله و رعايته
 
توقيع : sayd_ahmad
بارك الله فيك وبك وسدد الله خطاك وعافاك من كل سؤ
 
توقيع : sayd_ahmad
windows server 2008 r2

هل يمكن تكرمنا بمعرفتكم كيف يمكن برمجة

vpn

على

windows server 2008 r2

جزاك الله خيرا وادام المعروف
 
بارك الله فيك
 
توقيع : أبوقمر
هل يمكن تكرمنا بمعرفتكم كيف يمكن برمجة

vpn

على

windows server 2008 r2

جزاك الله خيرا وادام المعروف

شبكة الـ VPN هي عباره عن عملية تجسير/ربط لطرفين (جهازين أو شبكتين) أو أكثر من خلال شبكة الأنترنت.
وسواء كان هنالك عنوان ثابت Fix IP أو لم يكن. وسواء كان هنالك جهاز راوتر أو لم يكن. فيمكن إنشاء شبكة VNP...
و وجود العنوان الثابت بشكل عام هو للسهوله والضمان في شبكات الـ VNP, وليس بشرط أساسي لتكوين هذا النوع من الشبكات.

مثال:
من 5 أو 6 سنوات تقريباً كنا نتجنب إستخدام العناوين الثابته لإنشاء شبكة VNPوهذا لإرتفاع الأسعار حينها $$$.. فكنا نقوم بتحديد/تخزين عناوين الطرفين IP's (بشكل ألي ودوري) في ملف مخزن على شبكه الأنترنت(في إحدى المواقع) ومن خلاله يمكن لكل طرف معرفة عنوان IP للطرف الأخر..
عمليه سهله وبسيطه وغير مكلفه, وكانت تستغرق دقيقه أو دقيقتين ليتم الأتصال..
وأحياناً نستخدم البريد لمعرفة العنوان الجديد في حال تغيره..
وهكذا...إلخ.

لن أطيل عليكم كثير. وبالمختصر, العنوان الثابت أو جهاز راوتر لسا بشرط أساسي في تكوين/إنشاء شبكات الـ VNP.




في إعدادات شبكة الـ VNP يجب توحيد ID واحد لتصبح شبكه واحده. وهذا برينج IP واحد و SubNet Mask واحد..سواءً بـ DHCP أو بالتحديد الثابت.(يفضل بأن يكون الـ ID مختلف عما لديك في الشبكه المحليه).
وعملية المشاركه عاديه وكأنك في شبكه محليه.
وإن لم تظهر لديك الأجهزه فبحث عنها بالإسم أو بالعنوان للجهاز...

في هذا الموضوع سنقوم بالتعرف على كيفية الإتصال بالـ VPN بإستعمال برنامج GNOME Network Manager … البرنامج هذا والذي هو موجود بأعلى الشاشة لديك على اليمين وعلى شكل شاشتين كمبيوتر يحتوي على صفحة خاصة بالإتصال بالـ VPN ولكنه يحتاج الى إضافات معينة لكي يتفعل … الآن في حالتنا نريد الإتصال بشبكة OpenVPN ولهذا سنقوم بإضافة الإضافة:
PHP:
sudo apt-get install network-manager-openvpn
أما إن كنت تريد الإتصال بشبكة VPN من نوع Cisco، فقم بإضافة:

PHP:
sudo apt-get install network-manager-vpnc
ولو كنت تريد الإتصال بشبكة VPN من نوع PPTP، قم بإضافة:

PHP:
sudo apt-get install network-manager-pptp
ملاحظة: سأختصر في باقي الموضوع عبارة Network Manager بـ NM.

الآن أضغط على أيقونة الـ NM وقم بإختيار VPN Connections ومن ثم Configure VPN كما في الصورة:

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي


يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي


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

في حالة لم تعمل هذه الطريقة بشكل صحيح وتريد عملها بشكل يدوي؟ كل ما عليك فعله هو الضغط على Add ومن ثم إختيار نوع الشبكة والتي هنا هي OpenVPN كما في الصورة:

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي


الآن ضع أسم لهذا الإتصال مثلاً انا اخترت BinaryVPN ضع ما تريد انت. بعد ذلك قم بوضع الـ IP الخاص بالـ Gateway الذي ستشبك عليه، وقم بإختيار Certificates كما في الصورة وذلك لأنني أستعمل الشهادات. وأختر الشهادة الخاصة بالمستخدم الذي تريده، والشهادة الخاصة بالـ CA والمفتاح الخاص بك. وأخيراً ضع الكلمة السرية التي تستعملها للمفتاح، هذا إن كنت تستعمل كلمة سرية على المفتاح.

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي


الآن أضغط على صفحة IPv4 Settings وقم بوضع الـ Method:
Automatic (VPN) addresses only

ومن ثم أضغط على Routes وقم بوضع صح على:
Ignore automatically obtained routes

إذا لم تقم بإختيارها لن تستطيع الإتصال بالأنترنت وذلك لأنه كل الحزم ستمر وتذهب الى الشبكة VPN … شغلها أحسنلك
act-up.png


كما في الصورة:

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي


الآن أرجع للصفحة الأولية وأختر Advanced، ومن ثم أذهب الى صفحة Certificates وقم بإختيار نوع التشفير المستعمل وأيضاً قم بإختيار المفتاح الخاص بالخادم VPN، كما في الصورة:

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي


الآن أضغط OK لحفظ الإعدادات وأخرج من صفحة إعداد الـ VPN وأذهب الى NM مرة أخرى وأضغط عليه وأذهب الى VPN Connections وقم بإختيار الشبكة التي عملناها وأنتظر بعض الوقت كما في الصورة:

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي


سيظهر لك إشارة “قفل” على NM توضح بإنه تم الإتصال بهذه الشبكة. في حالة كان هناك خلل سيظهر لك رسالة بذلك، ولمعرفة الخلل:
كود: sudo tail -f /var/log/syslog /var/log/messages
وأنظر ما هو الخلل وحاول تحله، ولكن بالعادة لن يكون هناك إذا كانت إعدادت الخادم صح مثل الي عندي وكنت أخترت الخيارات صح، إلا إنه ممكن تظهر لك مشكلة في التصاريح التي على الشهادات والمفاتيح التي عندك، ولهذا يفضل أن تكون كلها مسموح قرائتها والتعديل وتشغيلها من قبل صاحبها فقط …

إن شاء الله في الدرس القادم، سأشرح كيفية الإتصال بأكثر من شبكة VPN من خلال الويندوز وبعدها من خلال جنو/لينوكس، لأن NM في جنو/لينوكس لا يدعم الإتصال سوى بواحدة في المرة الواحدة …

هذا الأسبوع كان كل شغلي على IPSec والـ VPN’s … بصراحة تعقدت من كثر الخيارات والإختلافات بأنواعهم وطرق الحماية التي يقدمها كل نوع … قرأت عن مختلف البروتوكولات PPTP و L2TP والقليل عن النوع الخاص بشركة cisco … جميع ما تعلمته وطبقته بإذن الله سأبدأ بالكتابة عنه بالتدريج حبة حبة … سأبدأ بطرق الإتصال بهذه الأنواع من الخوادم أو الـ Hardware وبالأخير إن شاء الله سأشرح طريقة تركيب
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
لمن لا يملكها من الأساس … وكيفية عمل تقوية لها وغيرها من الأمور التي ربما يستفيد منها أحد …

أول شرح والذي هو هذا الذي تقرؤونه هو جاهز وقمت بالأسبوع هذا بعمله كشرح بسيط للموظفين بالشركة كيف يقومون بالإتصال بخادم
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
من خلال الويندوز بإستعمال برنامج OpenVPN GUI الخاص بالويندوز (كم هم محترمين جماعة المصادر الحرة لم يقوموا بإحتكار الأمر على جنو/لينوكس بل هو متاح للجميع) … لأن جميعهم الى حد الآن لا يعرف يستعمل جنو/لينوكس ولكنهم صعقوا من إمكانياته وبعضهم أخذ مني نسخة Ubuntu 9.04 وقام بتركيبه … وساعمل لهم دورات بين الحين والآخر على إستعماله لانهم فعلا يستعملون بالوقت الحالي الكثير من برامج المصادر الحرة ولا يستعملون الأب الروحي لهذه المصادر GNU/Linux …

ملاحظة: هذه الطريقة هي لعمل إعدادات للإتصال بـ VPN تستعمل Certificates ولا تعمل بواسطة pre-shared key والتي سأقوم بشرحها ولكن على Hardware Firewall Appliance والذي يسمح بعمل IPSec VPN لاحقاً إن شاء الله … أو ممكن شرحها عندما أشرح تنصيب الـ
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي


المهم الطريقة بسيطة جداً يا شباب كل الي عليكم تعملوه بالبداية هو تحميل البرنامج
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
من
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
لهذه الأداة … وبعد ذلك قم بتركيبها وطريقة تركيبها سهلة جداً ومعروفة للجميع Next Next Next ومن ثم Finish … بعد ذلك أذهب الى:
Start > Programs > OpenVPN > Open Configuration File Directory

سيفتح لك المجلد الرئيسي للإعدادات والذي هو
C:\Program Files\OpenVPN\config

قم بنسخ جميع الـ Certificates والمفاتيح الخاصة بإتصالك، وأيضاً ملف الإعدادات الخاص بإتصالك الى هذا المجلد … هذه الملفات تتظمن:
User Certificate والتي هي بالغالب بإسمك وتنتهي بـ .crt
User
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
والتي هي أيضاً بالغالب نفس الإسم السابق ولكن تنتهي بـ .csr
User Key والذي هو المفتاح الخاص بالمستخدم وينتهي بـ .key
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
التي قامت بتوقيع هذه الشهادات (هذا إن كانت الشهادات لديك موقعة من طرف موثوق مثل Verisign وهكذا) عندي كلهم موقعين والحمد لله ولذلك يجب وضعها بالمجلد وتكون بالغالب إسم الشركة وتنتهي أيضاً بـ .crt
أيضا لا تنسى المفتاح والشهادة حق الخادم الذي تشبك عليه … وبالأخير الملف الخاص بالإعدادات والذي يكون بالغالب .ovpn … يعني عندك ما شاء الله تشكيلة من الملفات :)

الآن قم بتشغيل البرنامج (هذا إن لم يكن قد عمل لوحده بعد التثبيت) … وقم بعمل ضغطة يمين عليه كما في الصورة:
openvpn-win-gui.png


وبعد ذلك قم بإختيار شبكة الـ VPN التي تريد الإتصال بها (في حالة لديك أكثر من واحدة) وأضغط على Connect … بعد ذلك أنتظر القليل ليقول لك بإنه تمت العملية بنجاح …

الآن للتأكد من ذلك، أفتح طرفية cmd في الويندوز وقم بعمل ping على أحد الأجهزة التي تعرف بإنها موجودة على الشبكة هناك …

وهكذا إنتهينا من عمل الإتصال بواسطة الويندوز … سنشرح في الموضوع القادم على جنو/لينوكس كيف يتم ذلك وطرق عمل ذلك لانه يوجد اكثر من طريقة … وحتى على الويندوز يوجد طرق متعددة على فكرة

طريقه ثانيه وبرنامج أخر


OpenVPN


img91685.jpg

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي


ببساطة OpenVPN، ماهو إلا VPN. بكل ماتحمله الكلمة من معان وفوائد جما.

غالبا المؤسسات تشتري Cisco ASA، ولا F5 مثلا، أو غيرهم، لتقديم خدمة VPN للعملاء، او الموظفين، أو حتى الربط بين الفروع. الفوائد تتلخص في التالي:

  • بإمكان الموظفين الدخول إلى موارد المؤسسة من المنزل. مثلا مشاركة الملفات والطابعات، استخدام الـintranet أو VoIP
  • الربط بين الفروع. فعوضا من شراء Leased line أو MPLS للربط بين الفروع، يكفي انشاء VPN بين الفرعين عبر فضاء الإنترنت - وهكذا يكون السعر أرخص وتقريبا نفس معدل الأمان.
  • كذلك للأفراد. شخصيا استخدم هذا في المنزل كذلك، حتى أدخل على ملفاتي أو أي شيء آخر من محل العمل.
  • زيادة الأمان في الشبكات المحلية، سواء سلكية أو لاسلكية.


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

  • عائلة الـBSD و توزيعات Linux، سنتحدث عن واجهة الأوامر، لكن الواجهة الرسومية أيضا موجودة
    dock-connected.png
  • Windows مع واجهة رسومية للـclient​
  • connect-balloon.png
  • وإستخدامه للعلم أسهل من Cisco IPSec Client​


هذا البرنامج، بإمكانه توفير الخدمة لمئات بل آلاف المستخدمين. الـScalability فيه مرنة جدا. كل ماعليك هو تنصيب خادم OpenVPN، وعندما تريد تتوسع، فقط تضع خادم جديد. الخادم الجديد سيملك _نفس_ الإعدادات لكن فقط رقم IP مختلف. High Availability & High Performance.

لماذا نضيع مالا لشراء مايمكن الحصول عليه بالمجان + مرونة أكبر؟

الفهرس

  • مقدمة عن OpenVPN


  • التثبيت على FreeBSD و Linux و Windows


  • اعدادات الخادم - Server


  • اعدادات العميل - Client


  • التشغيل وتجربة أول اتصال

مقدمة عن OpenVPN
OpenVPN يعتبر SSL VPN، ووجه اختلافه أنه ليس بداخل الـkernel كما هو الحال مع IPSec. لذا لا داعي لـkernel recompile على سبيل المثال. وكذلك البرنامج ممكن نسميه end-to-end، فلا توجد مخافة incompatibility كما هو الحال مع IPSec. صحيح أن IPSec معيار عالمي، إلا أن التطبيقات بواسطة عدة مصنعين تتكون أحيانا غير متوافقة.

لذا برنامج OpenVPN من أسهل أنواع الـVPN. لكن عدم وجوده داخل الـKernel سيؤدي إلى بعض البطئ. هذا البطئ غير ملحوظ في معظم الأحيان، وخاصة مع الـscalability العالية ممكن استخدام عدة سيرفرات. ناهيك أن هناك مزودات vpn على فضاء الإنترنت تستخدم OpenVPN، هذا دليل على الـscalability.

آلية OpenVPN من منظور الشبكة
طريقة عمل الـOpenVPN بسيطة. فهو يتنسط على منفذ TCP أو UDP (انت تختار)، وجميع البيانات المستقبلة والمرسة بين الخادم والعميل يتم تمريرها داخل هذا المنفذ. يعني TCP/UDP tunnel.

بالإعدادات الإفتراضية يكون UDP 1194، وهذا الرقم مخصص للبرنامج بواسطة IANA للـOpenVPN. فعندما يشبك العميل مع الـVPN سيقوم بإرسال كل شيء داخل UDP 1194. وإذا تشغل wireshark ستجد أن جميع الداخل والخارج هو UDP1194، وطبعا كل مابداخله مشفر بإحكام.

مثال تطبيقي، عندما يقوم العميل، الموصول من خلال OpenVPN، إرسال طلب مشاهدة موقع جوجل، يعني HTTP GET Request to Google.com سيكون شكل الـpacket كالتالي (الأحمر مشفر):


LEFT TO RIGHT
IP_Header(SrcIP:ClientRealIP, DstIP:OpenVpnServerRealIP)
UDP_Header(SrcPort:Random, DstPort:1194)
IP_Header(SrcIP:OpenVPNVirtualIP, DstIP:Google.comIP)
TCP_Header(SrcPort:Random, DstPort:80)
HTTP_Header(GET /HTTP/1.1, Host:google.com..etc)


ممكن تختار اي منفذ TCP أو UDP. الـUDP جيد اذا كنت تنقل بيانات صوت كالـRTP - VoIP مثلا. والـTCP جيد اذا كنت تريده لتبادل ملفات. هذا بحكم تجربة عملية. ليس هذا فحسب، بل ايضا يعتمد على معدل الـdrop rate بين العميل وخادم OpenVPN. إذا كان الـdrop rate او معدل سقوط الـpackets قليل فممكن تذهب مع UDP للجميع الحالات، فهو أخف ولا يحتاج handshake.

آلية OpenVPN من منظور الخادم
داخل الخادم، الـopenvpn process يتنسط على udp1194 بالإعدادات الإفتراضية، أو ممكن تخليه tcp اذا تريد. في البداية لا يقبل الخادم أي بكت، إلا وفقط بعدما تتم عملية الـauthentication. هناك عدة طرق authentication والبرنامج مرن جدا. في هذا الدرس سأتحدث بإذن الله عن أبسطها من منظور الشرح (حتى الطرق الأخرى سهلة التطبيق).

بعدما تتم عملية الـauthentication ويتم تحديد مفاتيح التشفير وفكها، يقوم الخادم بإستقبال البكتس وتمريرها كما يجب بناء على الـrouting table. السؤال الذي يطرح نفسه. أين تتم عملية التشفير وفكه؟

آلية OpenVPN من منظور العميل
العميل لا يقوم بتشفير كل مايدخل ويخرج من المنفذ الفيزيائي، مثلا لنلق ethernet. الذي يحدث أنه سيفتح عنده tunnel interface كذلك. وجميع مايدخل ويخرج منه سيتعرض لعملية الـتشفير وفك التشفير بواسطة البرنامج وبناء على كلمات السر التي تم الاتفاق عليها.

ولهذا السبب، لو تقوم بتشغيل wireshark وتجعله يتجسس على الـtunnel interface ستشاهد كل شيء plain text لماذا؟ لأن البرنامج يقوم بفكر تشفيره عندما يستقبل قبل أن يمرره على نظام التشغيل، وكذلك يقوم بتشفيره بعدما يستقبل من نظام التشغيل وقبل ارساله إلى الـtunnel interfaces.

ولنفس السبب أيضا، لو تقوم بتشغيل wireshark وتجعله يتجسس على الـمنفذ الفيزيائي، مثلا ethernet network card، ستجد أن البيانات مشفرة وماهي إلا udp1194. والسبب أنه لا يحدث تشفير وفك تشفير في هذه المرحلة، فهنا تنظر للبكت مثلما ينظر إليه أي شخص آخر. جميع عمليات تشفير وفك تشفير تتم على الـtunnel interface.

التثبيت بمختلف الطرق
الغرنيق FreeBSD

CONSOLE
cd /usr/ports/security/openvpn
make
make install
rehash


توزيعات Linux
Redhat/Fedora/Suse أو ماشابه

CONSOLE
rpm -i path-to-installation-rpm-package.rpm


debian/ubuntu/linuxmint او ماشابه

CONSOLE
sudo apt-get install openvpn


Gentoo (اقرب لينكس للصواب حسب رأيي)

CONSOLE
emerge openvpn


Windows
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
نزله من هنا ثم next next حتى ينجلي.

التثبيت بالطريقة اليدوية
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي


حمل الـtar ball من هنا. ثم:

CONSOLE
tar -xzf path-to-my-lovely-tar-ball.tar.gz
cd path-to-extracted-tar-ball-directlry/
./configure
make
make install

لكن قبل هذا تأكد ان لديك نسخة مثبتة من:

  • openssl
  • lzo
  • pam


اعدادات الخادم - Server
مقدمة عن X.509 Certificate
أولا وقبل ذي بدء، يجب علينا انشاء Certificate Authority. طبعا عندما نسمع Authority نتخيل شيء ضخم منل جونقار ولا غرانديزر
q220472841129610.jpg
بينما في الواقع هو عبارة عن ملفين فقط. public key, private key - قضي الأمر.

الذي يحدث كالتالي:

  • certificate authority أو ca يعتبر بمثابة الجد الأكبر الذي يسمع كلامه الجميع ويثق به
  • الـCA هذا، عبارة عن private key و public key: الـpublic مشهور عند الكل، والـprivate سري لا يعلمه أحد إلا صاحب الخادم ورب الأرباب سبحانه، جل عما يشبهه الأنام.
  • خادم الـopenvpn، يحتاج شهادة SSL أو X.509، لذا عليه إرسال طلب وهذا اسمه CSR - Certificate SIgn Request
  • الـCA - الجد الأكبر - يستقبل الطلب الـCSR ويقوم بختمه بالـprivate key الخاص به
  • الملف الناتج، يكون اسمه certificate for vpm server.
  • عندما يقوم العميل بالشبك مع خادم الـopenvpn، يقوم الخادم بإعطائه ذلك الـcertificate. وحتى يقوم العميل بالتأكد أن هذه الشهادة موقعة 100% بواسطة الجد الأكبر الـCA يجب على العميل أن يملك نسخة public key للـجد الأكبر الـCA، وإذا قام بفك تشفير شهادة الـopenvpn server بواسطة الـCA Public key فهذا دليل _قاطع_ أنها كانت موقعة بواسطة الـprivate key للـجد الأكبر.
  • يعني ببساطة هناك قانون مع الـRSA (المعادلة المستخدمة في التشفير وفك التشفير بواسطة public/private keys) تنص على أن المفتاحين قابلين للتبادل: يعني ماتم تشفيره بالأول يتم فكه بالثاني، والعكس صحيح. ولهذا السبب اذا قام العميل بفك التشفير بالـpublic key معناه مشفر بالـprivate.

إنشاء الـX.509 Certificate + Private Key للـ Certificate Authority
أين الـpublic key؟ هو داخل شهادة الـX.509.

بما أننا على بيئة يونكس، سواء freebsd/linux، بإمكاننا انتاج هذه الشهادة بواسطة أداة openssl الغنية عن التعريف. لكن من باب التسهيل ولتجنب اخطاء ثغرات الأمان، openvpn يأتي مع مجموعة اسكربتات تقوم بالمطلوب اسمها easy-rsa. تجدها في مجلد معين. مثلا مع الغرنيق Freebsd ومع طريقة التنصيب الآلية يكون في هذا المسار:

CONSOLE

cd /usr/local/share/doc/openvpn/easy-rsa

بقية الأنظمة القضية شبيهة، إذا لم تعلم اين هي استخدم الأمر find / -name easy-rsa وانتظر حتى تحصل على المسار.

ثم طبق الأوامر التالية حتى تصنع certificate and private key للـCA

CONSOLE
./clean-all
. ./vars
./build-ca

السطر الأول حتى يمسح جميع المفاتيح السابقة. صحيح لا توجد مفاتيح، لكن فقط حتى يطمئن قلبي.
السطر الثاني حتى يقوم بتعيين قيم في متغيرات. هذه المتغيرات حتى تعلم الscript التالية عن مسارات الملفات والإعدادات المطلوبة.
السطر الثالث حتى تنشئ certificate/private key للـca. كل ماعليك هو اتباع الخطوات فالإسكربت interactive و يشرح نفسه بنفسه.

الآن لو تنظر إلى مجلد keys ستجد أنه اصبح يحتوي على private key + الـX.509 certificate للـCA.

انشاء الـ private key + X.509 Certificate للـOpenVPN Server

CONSOLE
./build-key-server server

سيسألك أسئلة سهلة مرفقة بشرح. يعني مثل next-next بالوندوز لكن كتابي. وبالتختام سيقوم بصنع Private Key + CSR مصاحب له. وثم يختم الـCSR بواسطة الـCA التي أنشأناها مسبقا. وبعدما يختمه لك ستحصل على شهادة X.509 خاصة للخادم. طبعا ممكن تمسح ملف الـCSR لاحقا إذا شئت لا مشكلة انتهى الغرض منه. المهم الآن لديك private key + certificate

اعداد Diffie-Hellman
حسب معيار rfc5246 فـTLS1.2 يسمح لك بإختيار Cipher suites ومن ضمنها آلية اختيار مفاتيح التشفير والتوثيق من خلال عدة آليات كما هو مذكور في كما في appendix A.5. صحيح أن آلية RSA تستطيع القيام بتكوين المفاتيح، إلا أنه ممكن أيضا تترك هذه الوظيفة لـDH والذي يفعله OpenVPN. يعني RSA فقط للـauthentication و DH لتكوين مفاتيح MAC send/receive encrypt/decrypt. فحتى يعمل Diffie-Hellman بسرعة أكبر، نتجنب انتاج prime-number جديد في كل مرة، فننتجه مرة واحدة ونخزنه في ملف. وهذا بواسطة:

CONSOLE
./build-dh

والناتج ملف اسمه dh-1024.pem وهذا فقط يحتوي على prime number حجمه 1024bit وسيتم استخدامه محل الـp في المعادلة بالأسفل.

من ناحية الأمان، لا يوجد أي تأثير اطلاقا، لأنه في كلا الحالتين فإن الـPrime Number هذا سيتم تبادله بطريقة علنية. وهذا حسب الـalgorithm الخاص بـDH. حيث أن القيم التي ممكن تبادلها علنيا ولا تؤثر في الأمان هي: prime number (p) و group/base (g) والناتج من الـmod. الرقم السري الوحيد هو الـexponent أو الأس.
400pxdiffiehellmanschlc.png

فخلاصة الكلام، كما ترى، لاخوف إطلاقا من استخدام نفس الـprime-number، فالقضية علنية أساسا في الحالتين.

استخدام الملفات السابقة
الآن، بناء على ماسبق، أنشأنا هذه الملفات السابقة:

  • ca.crt
  • ca.key
  • server.crt
  • server.key
  • dh-1024.pem
الملفات الزرقاء، يجب أن تنسخها على الخادم والعميل يدويا.
الملفات البرتقالية، يجب أن تكون قابلة للإستخدام بواسطة الخادم OpenVPN
الملف الأحمر، يجب أن تجعله سريا، حتى تمنعه من openvpn، أفضل شيء ضعه في usb disk وضعه في صندوق ثم ابلع الصندوق حتى لا يأخذه أحد
smile.gif
.

هذه الملفات ستكون موجودة في المسار:

CONSOLE
/usr/local/share/doc/openvpn/easy-rsa/keys

انسخها وضعها في مسار يستطيع openvpn قراءته. مثلا مع freebsd، ضعه في:

CONSOLE
/usr/local/etc/openvpn/keys


وثم قم بخلق ملف جديد، اسمه:

CONSOLE
nano my_servers_configuration.conf
port 1149
proto tcp
dev tun

ca /usr/local/etc/openvpn/keys/ca.crt
cert /user/local/etc/openvpn/keys/server.crt
key /usr/local/etc/openvpn/keys/server.key
dh /usr/local/etc/openvpn/keys/dh-1024.pem

server 10.2.0.0. 255.255.255.0

push "redirect-gateway"
push "dhcp-option DNS 10.1.0.1"

keepalklive 10 120

comp-lzo

auth-user-pass-verify /usr/local/etc/openvpn/auth.pl via-file
client-cert-not-required
username-as-common-name


الأوامر تشرح نفسها بنفسها. ففي البداية نحدد أن الخادم يتنسط على منفذ 1194 tcp و dev tun يعني أن هذا الـvpn سيكون routing وليس bridging. لمعظم المستخدمين اختر tun وانت مغمض العينين. للبعض الآخر ربما يريد bridging حتى يجمع الـbroadcast domains للبروتوكولات القديمة الغير مبنية على IP التي لاتدعم routing.

ثم نحدد الملفات المتعلقة بالتشفير وفك التشفير. بالتحديد ملفات الـTLS/SSL

ثم مدى الـIPs التي يتم توزيعها للعملاء. فالخادم سيوزع من 10.2.0.1 إلى 10.2.0.254. والأمر push "redirect-gateway" سيجعل الخادم يرسل طلب إلى العميل بأن يقوم بتغير الـrouting table عند العميل ويجعل الـdefault gateway مشيرا إلى رقم خادم OpenVPN الإفتراضي والذي أيضا سيكون في المدى نفسه.

push "dhcp-option DNS 10.1.0.1" حتى يحول خادم الـDHCP عند العميل إلى خادم آخر. هكذا ستتمكن من resolve local domain names أيضا.

keepalklive 10 120 يعني ارسل رسالة للتأكد من صحة العميل كل 10 ثواني، وإذا لم تسمع رد عقب 120 ثانية فهذا معناه العميل ميت وتعامل معه وكانه disconnected.

comp-lzo هذا حتى تقوم بضغط البيانات المستقبلة والمرسلة لزيادة الـthroughput. ميزته أنه سريع.

client-cert-not-required حتى يعلم الخادم أن العميل ليس لديه شهادة. اذا لم تضع هذا سيظن الخادم أنك تريد العميل يعطيك شهادة + كلمة سر واسم مرور. فمن باب التسهيل وضعت هذا حتى يكتفي الخادم بتوثيق اسم المستخدم وكلمة السر.

username-as-common-name هذا حتى يقوم الخادم بإستخدام اسم المستخدم كإسم موحد للمستخدم. لأنك إذا لم تفعل هذان سيتوقع الخادم أن يكون الإسم الموحد مستلخص من الـCN من الـX.509 التابعة للعميل (والتي نحن لا نستخدمها اساسا في مثالنا هذا). وهذا الغرض منه ليس للتعريف بالهوية، إنما للإستخدام الداخلي. هذا مفيد مستقبلا إذا أردت استخدام learn-address /path/to/script لكن هذه خاصية أخرى رائعة خارجة عن الموضوع (ربما لاحقا إن شاء الله)

auth-user-pass-verify سيقوم بتمرير اسم المستخدم والكلمة السرية إلى إسكربت خارجي. هذا الإسكربت كتبته بنفسي بلغة بيرل كنموذج حتى أخبركم مدى السهولة والمرونة. وطبعا بكل سهولة ممكن تجعله Integrated مع حسابات Active Directory بواسطة بروتوكول LDAP، الإحتمالات غير متناهية. كل مايقوم به return 0 اذا صحيح، أو return 1 إذا خطأ.

هذا المثال، قمت ببرمجة اسكربت صغير، اسمه auth.pl وهذا يستخدم ملفى text بسيط كـbackend للـauthentication. ملف الـtxt يحتوي على حسابات مستخدمين بصيغة uname:pword حيث أن كل سطر يحتوي على اسم مستخدم، وثم نقطتين فوق بعض، وثم الكلمة السرية. اسم المستخدم الثاني يكون نفس الشيء على السطر الثاني، وهكذا..الخ. هذا هو الإسكربت الذي يستخدمه OpenVPN بواسطة الأمر auth-user-pass-verify. الauth.pl يقوم بـreturn code 0 في حالجة النجاح، أو 1 في حالة فشل التعريف.

CONSOLE
#!/usr/bin/perl
use warnings;
use strict;

open (FH, "<$ARGV[0]") or die "unable to open!\n";
my $uname=<FH>;
my $pword=<FH>;
chomp $uname;
chomp $pword;
close (FH);

open (FH, "/usr/local/etc/open/accounts.txt") or die "unable to open account file\n";
my @accounts=<FH>;
close (FH);

foreach (@accounts){
chomp $_;
if ($_ =~ m/^$uname\:$pword$/i){
exit 0;
}
}

exit 1;


لاحظوا فالقضية مرنة _جدا_ وأنت حر تبرمج ماتريد، بأي لغة تريد، طالما أنك تقوم بالجواب بـreturn 0 أو 1 تباعا. هذا الإسكربت كتبته بغرض التعليم وليس بغرض الـbest performance. كما تلاحظ لا يوجد indexing، إذا تريد طريقة أسرع ممكن تستخدم BerkeleyDB مثلا (تعتبر embeded db ويستخدمها العديد من LDAP implementations حتى المغلقة).

اعدادات العميل
كل ما عليك هو، أخذ نسخة من ca.cert ووضعه في مجلد openvpn حيث توجد الإعدادات. والإعدادات ماهي إلا ملف واحد، وهو بالتحديد:
CONSOLE
client # نخبره أنه عميل، وليس خادم
dev tun # مطابق للإعداد في الخادم، سبق الشرح
proto tcp # مطابق للإعداد بالخادم، سبق الشرح
remote vpn.domainname.org 1194 # خادم الفيبي إن الذي سبقنا شرحه بالأعلى
ca /path/to/ca.cert # المسارر إلى شهادة السيرتيفيكيت أوثوريتي
auth-user-pass # مهم جدا، حتى يسأل المستخدم بكلمة سر
comp-lzo # حتى يضغط البيانات.


اعداد واستخدام العميل على توزيعات لينكس و أنظمةBSD
نفس الإعدادات بالأعلى. وحتى تشغله تكتب الأمر
CONSOLE
sudo openvpn --config configfile.cfg

مع freebsd لا يوجد sudo لذا تقوم بـsu.
سيسألك عن اسم المستخدم والكلمة السرية. وفقط.

مبروك عليك OpenVPN مع simplified authentication
smile.gif



اعداد واستخدام العميل على وندوز
نفس الإعدادات بالأعلى. تنزل العميل بالواجهة الرسومية من موقع openvpn.se
ضع الإعدادات في مساره + شهادة الـCA في هذا المسار:

CONSOLE
C:\Program files\OpenVPN\config

بعدها اضغط كلك ماوس يمين على ايقونة openvpn واختر connect.
سيسألك عن اسم المستخدم والكلمة السرية. وفقط.

مبروك عليك OpenVPN مع simplified authentication
smile.gif




Train Signal Windows Server 2008 MCITP Server Administrator 70.646

هذه الاسطوانة التي توهلك لكي تصبح من افضل مهندسي الشبكات على الاطلاق >طبعا مع الجهد والعزيمة والتعلم الصحيح وبعض التضحية < الخاصة في الوندوز سرفر 2008

server_administrator_2008_hero.jpg


محتويات القرص
كود:
Windows Server 2008 Server Administrator Training
Course Outline
Video 1
Introduction to the Course
Get a first look at the scenario we will be using throughout the course, learn who your instructor is, and find out what you can expect in the course.

Key Points:
* About the Instructor and Train Signal
* What’s Covered in this Course
* The Globomantics Scenario
* What You Will Need

Video 2
Windows Server 2008 Installation and Upgrade
Learn about the different versions of Windows Server 2008 and dive right into installing Windows Server 2008 from scratch. Plus, we'll install the Active Directory Domain Services role and perform an upgrade from Windows Server 2003 to Server 2008.


Key Points:
* Windows Server 2008 Versions
* Installing Windows Server 2008 from Scratch
* Initial Configuration Tasks (ICT)
* Adding Active Directory Role
* Creating Active Directory Domain Controller
* Server Manager Overview
* Globomantics Network Diagram
* Upgrading Server 2003 to Server 2008


Video 3
Simplifying Installations Using Windows Deployment Services (WDS)
Save time and become more efficient by using Windows Deployment Services to automate installations of Windows Server 2008 and to implement unattended installations.



Key Points:
* Getting Ready for WDS
* Installing DHCP Role
* Installing WDS Role
* Configuring WDS
* Adding Image to WDS
* Setting Up and Deploying Multicast Transmission
* Installing Automated Installation Kit (AIK)
* Creating an Answer File with Windows System Image Master (SIM) Tool
* Running Unattended Installation


Video 4
Installing Windows Server 2008 Server Core
Not everyone has the system resources to implement a full installation of Windows Server 2008. In this video you will learn how to install and configure a command line version of the Server 2008 Operating System called Windows Server Core, which can be implemented on systems that have minimal resources.

Key Points:
* What is Server Core?
* When Should I Use Server Core?
* Installing Windows Server 2008 Server Core
* Installing Core Configurator Utility
* Setting Up Windows Server Core with Core Configurator
* Remote Management
* Downloading, Installing, and Setting Up Remote Server Administration Tools (RSAT)
* Setting Up Secondary DNS Server on Server Core
* Remote Desktop Management


Video 5
Deploying Read Only Domain Controllers (RODC)
Using a typical Domain Controller from a branch office may pose problems such as inadequate physical security, slow logon times, and inconsistent access to network resources. You'll learn how to deploy Read Only Domain Conrtrollers to greatly improve upon these issues.

Key Points:
* RODC Benefits
* Installing Read Only Domain Controller (RODC)
* Testing Replication Between a DC and RODC
* Configuring a Password Replication Policy
* Administrative Role Separation


Video 6

PHP:
http://rapidshare.com/files/214376138/TSWSMSA0110.zip.001.html
http://rapidshare.com/files/214376145/TSWSMSA0110.zip.002.html
http://rapidshare.com/files/214376159/TSWSMSA0110.zip.003.html
http://rapidshare.com/files/214376203/TSWSMSA0110.zip.004.html
http://rapidshare.com/files/214376198/TSWSMSA0110.zip.005.html
http://rapidshare.com/files/214376229/TSWSMSA0110.zip.006.html
http://rapidshare.com/files/214376238/TSWSMSA0110.zip.007.html
http://rapidshare.com/files/214376240/TSWSMSA0110.zip.008.html
http://rapidshare.com/files/214376516/TSWSMSA0110.zip.009.html
http://rapidshare.com/files/214376333/TSWSMSA0110.zip.010.html

http://rapidshare.com/files/214377036/TSWSMSA1120.zip.001.html
http://rapidshare.com/files/214377459/TSWSMSA1120.zip.002.html
http://rapidshare.com/files/214377060/TSWSMSA1120.zip.003.html
http://rapidshare.com/files/214377058/TSWSMSA1120.zip.004.html
http://rapidshare.com/files/214377511/TSWSMSA1120.zip.005.html
http://rapidshare.com/files/214377065/TSWSMSA1120.zip.006.html
http://rapidshare.com/files/214377172/TSWSMSA1120.zip.007.html
http://rapidshare.com/files/214377121/TSWSMSA1120.zip.008.html
http://rapidshare.com/files/214377697/TSWSMSA1120.zip.009.html
http://rapidshare.com/files/214377436/TSWSMSA1120.zip.010.html

http://rapidshare.com/files/214377102/TSWSMSA2130.zip.001.html
http://rapidshare.com/files/214377708/TSWSMSA2130.zip.002.html
http://rapidshare.com/files/214377736/TSWSMSA2130.zip.003.html
http://rapidshare.com/files/214377674/TSWSMSA2130.zip.004.html
http://rapidshare.com/files/214377603/TSWSMSA2130.zip.005.html
http://rapidshare.com/files/214377854/TSWSMSA2130.zip.006.html
http://rapidshare.com/files/214379581/TSWSMSA2130.zip.007.html
http://rapidshare.com/files/214379560/TSWSMSA2130.zip.008.html
http://rapidshare.com/files/214380113/TSWSMSA2130.zip.009.html
http://rapidshare.com/files/214379475/TSWSMSA2130.zip.010.html

http://rapidshare.com/files/214380081/TSWSMSA3140.zip.001.html
http://rapidshare.com/files/214379569/TSWSMSA3140.zip.002.html
http://rapidshare.com/files/214379578/TSWSMSA3140.zip.003.html
http://rapidshare.com/files/214379587/TSWSMSA3140.zip.004.html
http://rapidshare.com/files/214379619/TSWSMSA3140.zip.005.html
http://rapidshare.com/files/214380200/TSWSMSA3140.zip.006.html
http://rapidshare.com/files/214379667/TSWSMSA3140.zip.007.html
http://rapidshare.com/files/214379789/TSWSMSA3140.zip.008.html
http://rapidshare.com/files/214379893/TSWSMSA3140.zip.009.html
http://rapidshare.com/files/214380159/TSWSMSA3140.zip.010.html

http://rapidshare.com/files/214380316/TSWSMSA4149.zip.001.html
http://rapidshare.com/files/214380280/TSWSMSA4149.zip.002.html
http://rapidshare.com/files/214380356/TSWSMSA4149.zip.003.html
http://rapidshare.com/files/214380363/TSWSMSA4149.zip.004.html
http://rapidshare.com/files/214380443/TSWSMSA4149.zip.005.html
http://rapidshare.com/files/214380460/TSWSMSA4149.zip.006.html
http://rapidshare.com/files/214380493/TSWSMSA4149.zip.007.html
http://rapidshare.com/files/214380548/TSWSMSA4149.zip.008.html
http://rapidshare.com/files/214380444/TSWSMSA4149.zip.009.html
…​
بالتوفيق لكم …
 
توقيع : sayd_ahmad
بارك الله فيكم وبكم وسدد الله خطاك وعافاك من كل سؤ

أتمنى أن تكونا في أحسن حال و أن يمن الله عليكم بأفضل النعم ويرزقكم الشكر
عليها أتمنى أن تكونا على أتم الصحة والعافية يأرب العالمين يأرب
 
توقيع : sayd_ahmad
لا اعلم كيف اشكرك

مجهود رائع وجبار وعظيم

بس لدي سؤال
ما هو الفرق بين إصدار r1 وr2
 
توقيع : زاد
بارك الله فيك
 
توقيع : dhwr32
شبكة الـ VPN هي عباره عن عملية تجسير/ربط لطرفين (جهازين أو شبكتين) أو أكثر من خلال شبكة الأنترنت.
وسواء كان هنالك عنوان ثابت Fix IP أو لم يكن. وسواء كان هنالك جهاز راوتر أو لم يكن. فيمكن إنشاء شبكة VNP...
و وجود العنوان الثابت بشكل عام هو للسهوله والضمان في شبكات الـ VNP, وليس بشرط أساسي لتكوين هذا النوع من الشبكات.​

مثال:
من 5 أو 6 سنوات تقريباً كنا نتجنب إستخدام العناوين الثابته لإنشاء شبكة VNPوهذا لإرتفاع الأسعار حينها $$$.. فكنا نقوم بتحديد/تخزين عناوين الطرفين IP's (بشكل ألي ودوري) في ملف مخزن على شبكه الأنترنت(في إحدى المواقع) ومن خلاله يمكن لكل طرف معرفة عنوان IP للطرف الأخر..
عمليه سهله وبسيطه وغير مكلفه, وكانت تستغرق دقيقه أو دقيقتين ليتم الأتصال..
وأحياناً نستخدم البريد لمعرفة العنوان الجديد في حال تغيره..
وهكذا...إلخ.​

لن أطيل عليكم كثير. وبالمختصر, العنوان الثابت أو جهاز راوتر لسا بشرط أساسي في تكوين/إنشاء شبكات الـ VNP.​




في إعدادات شبكة الـ VNP يجب توحيد ID واحد لتصبح شبكه واحده. وهذا برينج IP واحد و SubNet Mask واحد..سواءً بـ DHCP أو بالتحديد الثابت.(يفضل بأن يكون الـ ID مختلف عما لديك في الشبكه المحليه).
وعملية المشاركه عاديه وكأنك في شبكه محليه.
وإن لم تظهر لديك الأجهزه فبحث عنها بالإسم أو بالعنوان للجهاز...​

في هذا الموضوع سنقوم بالتعرف على كيفية الإتصال بالـ VPN بإستعمال برنامج GNOME Network Manager … البرنامج هذا والذي هو موجود بأعلى الشاشة لديك على اليمين وعلى شكل شاشتين كمبيوتر يحتوي على صفحة خاصة بالإتصال بالـ VPN ولكنه يحتاج الى إضافات معينة لكي يتفعل … الآن في حالتنا نريد الإتصال بشبكة OpenVPN ولهذا سنقوم بإضافة الإضافة:​


PHP:
sudo apt-get install network-manager-openvpn
أما إن كنت تريد الإتصال بشبكة VPN من نوع Cisco، فقم بإضافة:​



PHP:
sudo apt-get install network-manager-vpnc
ولو كنت تريد الإتصال بشبكة VPN من نوع PPTP، قم بإضافة:​



PHP:
sudo apt-get install network-manager-pptp
ملاحظة: سأختصر في باقي الموضوع عبارة Network Manager بـ NM.​


الآن أضغط على أيقونة الـ NM وقم بإختيار VPN Connections ومن ثم Configure VPN كما في الصورة:​

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي


يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي

الآن بما إنه لدينا الإعدادات جاهزة في ملف ovpn كما رأينا في الموضوع السابق، فكل ما عليك فعله هو عمل import. لعمل ذلك اضغط على زر import وقم بإختيار الملف الذي ينتهي بـ ovpn وسيكون كل شيء تمام وجاهز …​

في حالة لم تعمل هذه الطريقة بشكل صحيح وتريد عملها بشكل يدوي؟ كل ما عليك فعله هو الضغط على Add ومن ثم إختيار نوع الشبكة والتي هنا هي OpenVPN كما في الصورة:​

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي

الآن ضع أسم لهذا الإتصال مثلاً انا اخترت BinaryVPN ضع ما تريد انت. بعد ذلك قم بوضع الـ IP الخاص بالـ Gateway الذي ستشبك عليه، وقم بإختيار Certificates كما في الصورة وذلك لأنني أستعمل الشهادات. وأختر الشهادة الخاصة بالمستخدم الذي تريده، والشهادة الخاصة بالـ CA والمفتاح الخاص بك. وأخيراً ضع الكلمة السرية التي تستعملها للمفتاح، هذا إن كنت تستعمل كلمة سرية على المفتاح.​

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي


الآن أضغط على صفحة IPv4 Settings وقم بوضع الـ Method:




Automatic (VPN) addresses only​


ومن ثم أضغط على Routes وقم بوضع صح على:​


Ignore automatically obtained routes​


إذا لم تقم بإختيارها لن تستطيع الإتصال بالأنترنت وذلك لأنه كل الحزم ستمر وتذهب الى الشبكة VPN … شغلها أحسنلك
act-up.png

كما في الصورة:​

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي

الآن أرجع للصفحة الأولية وأختر Advanced، ومن ثم أذهب الى صفحة Certificates وقم بإختيار نوع التشفير المستعمل وأيضاً قم بإختيار المفتاح الخاص بالخادم VPN، كما في الصورة:​

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي

الآن أضغط OK لحفظ الإعدادات وأخرج من صفحة إعداد الـ VPN وأذهب الى NM مرة أخرى وأضغط عليه وأذهب الى VPN Connections وقم بإختيار الشبكة التي عملناها وأنتظر بعض الوقت كما في الصورة:​

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي

سيظهر لك إشارة “قفل” على NM توضح بإنه تم الإتصال بهذه الشبكة. في حالة كان هناك خلل سيظهر لك رسالة بذلك، ولمعرفة الخلل:​


كود: sudo tail -f /var/log/syslog /var/log/messages
وأنظر ما هو الخلل وحاول تحله، ولكن بالعادة لن يكون هناك إذا كانت إعدادت الخادم صح مثل الي عندي وكنت أخترت الخيارات صح، إلا إنه ممكن تظهر لك مشكلة في التصاريح التي على الشهادات والمفاتيح التي عندك، ولهذا يفضل أن تكون كلها مسموح قرائتها والتعديل وتشغيلها من قبل صاحبها فقط …​


إن شاء الله في الدرس القادم، سأشرح كيفية الإتصال بأكثر من شبكة VPN من خلال الويندوز وبعدها من خلال جنو/لينوكس، لأن NM في جنو/لينوكس لا يدعم الإتصال سوى بواحدة في المرة الواحدة …​

هذا الأسبوع كان كل شغلي على IPSec والـ VPN’s … بصراحة تعقدت من كثر الخيارات والإختلافات بأنواعهم وطرق الحماية التي يقدمها كل نوع … قرأت عن مختلف البروتوكولات PPTP و L2TP والقليل عن النوع الخاص بشركة cisco … جميع ما تعلمته وطبقته بإذن الله سأبدأ بالكتابة عنه بالتدريج حبة حبة … سأبدأ بطرق الإتصال بهذه الأنواع من الخوادم أو الـ Hardware وبالأخير إن شاء الله سأشرح طريقة تركيب
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
لمن لا يملكها من الأساس … وكيفية عمل تقوية لها وغيرها من الأمور التي ربما يستفيد منها أحد …​

أول شرح والذي هو هذا الذي تقرؤونه هو جاهز وقمت بالأسبوع هذا بعمله كشرح بسيط للموظفين بالشركة كيف يقومون بالإتصال بخادم
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
من خلال الويندوز بإستعمال برنامج OpenVPN GUI الخاص بالويندوز (كم هم محترمين جماعة المصادر الحرة لم يقوموا بإحتكار الأمر على جنو/لينوكس بل هو متاح للجميع) … لأن جميعهم الى حد الآن لا يعرف يستعمل جنو/لينوكس ولكنهم صعقوا من إمكانياته وبعضهم أخذ مني نسخة Ubuntu 9.04 وقام بتركيبه … وساعمل لهم دورات بين الحين والآخر على إستعماله لانهم فعلا يستعملون بالوقت الحالي الكثير من برامج المصادر الحرة ولا يستعملون الأب الروحي لهذه المصادر GNU/Linux …​

ملاحظة: هذه الطريقة هي لعمل إعدادات للإتصال بـ VPN تستعمل Certificates ولا تعمل بواسطة pre-shared key والتي سأقوم بشرحها ولكن على Hardware Firewall Appliance والذي يسمح بعمل IPSec VPN لاحقاً إن شاء الله … أو ممكن شرحها عندما أشرح تنصيب الـ
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
…​

المهم الطريقة بسيطة جداً يا شباب كل الي عليكم تعملوه بالبداية هو تحميل البرنامج
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
من
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
لهذه الأداة … وبعد ذلك قم بتركيبها وطريقة تركيبها سهلة جداً ومعروفة للجميع Next Next Next ومن ثم Finish … بعد ذلك أذهب الى:
Start > Programs > OpenVPN > Open Configuration File Directory​

سيفتح لك المجلد الرئيسي للإعدادات والذي هو
C:\Program Files\OpenVPN\config​

قم بنسخ جميع الـ Certificates والمفاتيح الخاصة بإتصالك، وأيضاً ملف الإعدادات الخاص بإتصالك الى هذا المجلد … هذه الملفات تتظمن:
User Certificate والتي هي بالغالب بإسمك وتنتهي بـ .crt
User
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
والتي هي أيضاً بالغالب نفس الإسم السابق ولكن تنتهي بـ .csr
User Key والذي هو المفتاح الخاص بالمستخدم وينتهي بـ .key
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
التي قامت بتوقيع هذه الشهادات (هذا إن كانت الشهادات لديك موقعة من طرف موثوق مثل Verisign وهكذا) عندي كلهم موقعين والحمد لله ولذلك يجب وضعها بالمجلد وتكون بالغالب إسم الشركة وتنتهي أيضاً بـ .crt
أيضا لا تنسى المفتاح والشهادة حق الخادم الذي تشبك عليه … وبالأخير الملف الخاص بالإعدادات والذي يكون بالغالب .ovpn … يعني عندك ما شاء الله تشكيلة من الملفات :)

الآن قم بتشغيل البرنامج (هذا إن لم يكن قد عمل لوحده بعد التثبيت) … وقم بعمل ضغطة يمين عليه كما في الصورة:
openvpn-win-gui.png

وبعد ذلك قم بإختيار شبكة الـ VPN التي تريد الإتصال بها (في حالة لديك أكثر من واحدة) وأضغط على Connect … بعد ذلك أنتظر القليل ليقول لك بإنه تمت العملية بنجاح …​

الآن للتأكد من ذلك، أفتح طرفية cmd في الويندوز وقم بعمل ping على أحد الأجهزة التي تعرف بإنها موجودة على الشبكة هناك …​

وهكذا إنتهينا من عمل الإتصال بواسطة الويندوز … سنشرح في الموضوع القادم على جنو/لينوكس كيف يتم ذلك وطرق عمل ذلك لانه يوجد اكثر من طريقة … وحتى على الويندوز يوجد طرق متعددة على فكرة​

طريقه ثانيه وبرنامج أخر


OpenVPN


img91685.jpg

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي


ببساطة OpenVPN، ماهو إلا VPN. بكل ماتحمله الكلمة من معان وفوائد جما.​

غالبا المؤسسات تشتري Cisco ASA، ولا F5 مثلا، أو غيرهم، لتقديم خدمة VPN للعملاء، او الموظفين، أو حتى الربط بين الفروع. الفوائد تتلخص في التالي:​

  • بإمكان الموظفين الدخول إلى موارد المؤسسة من المنزل. مثلا مشاركة الملفات والطابعات، استخدام الـintranet أو VoIP
  • الربط بين الفروع. فعوضا من شراء Leased line أو MPLS للربط بين الفروع، يكفي انشاء VPN بين الفرعين عبر فضاء الإنترنت - وهكذا يكون السعر أرخص وتقريبا نفس معدل الأمان.
  • كذلك للأفراد. شخصيا استخدم هذا في المنزل كذلك، حتى أدخل على ملفاتي أو أي شيء آخر من محل العمل.
  • زيادة الأمان في الشبكات المحلية، سواء سلكية أو لاسلكية.

كل هذه الخواص يوفرها أيضا OpenVPN إلا أنه مجاني ومفتوح المصدر، وممكن تثبيته تقريبا على أي جهاز PC أو سيرفر. أنظمة التشغيل التي يدعمها:​

  • عائلة الـBSD و توزيعات Linux، سنتحدث عن واجهة الأوامر، لكن الواجهة الرسومية أيضا موجودة
    dock-connected.png
  • Windows مع واجهة رسومية للـclient​
  • connect-balloon.png
  • وإستخدامه للعلم أسهل من Cisco IPSec Client​


هذا البرنامج، بإمكانه توفير الخدمة لمئات بل آلاف المستخدمين. الـScalability فيه مرنة جدا. كل ماعليك هو تنصيب خادم OpenVPN، وعندما تريد تتوسع، فقط تضع خادم جديد. الخادم الجديد سيملك _نفس_ الإعدادات لكن فقط رقم IP مختلف. High Availability & High Performance.​

لماذا نضيع مالا لشراء مايمكن الحصول عليه بالمجان + مرونة أكبر؟​

الفهرس

  • مقدمة عن OpenVPN

  • التثبيت على FreeBSD و Linux و Windows

  • اعدادات الخادم - Server

  • اعدادات العميل - Client

  • التشغيل وتجربة أول اتصال
مقدمة عن OpenVPN
OpenVPN يعتبر SSL VPN، ووجه اختلافه أنه ليس بداخل الـkernel كما هو الحال مع IPSec. لذا لا داعي لـkernel recompile على سبيل المثال. وكذلك البرنامج ممكن نسميه end-to-end، فلا توجد مخافة incompatibility كما هو الحال مع IPSec. صحيح أن IPSec معيار عالمي، إلا أن التطبيقات بواسطة عدة مصنعين تتكون أحيانا غير متوافقة.​

لذا برنامج OpenVPN من أسهل أنواع الـVPN. لكن عدم وجوده داخل الـKernel سيؤدي إلى بعض البطئ. هذا البطئ غير ملحوظ في معظم الأحيان، وخاصة مع الـscalability العالية ممكن استخدام عدة سيرفرات. ناهيك أن هناك مزودات vpn على فضاء الإنترنت تستخدم OpenVPN، هذا دليل على الـscalability.​

آلية OpenVPN من منظور الشبكة
طريقة عمل الـOpenVPN بسيطة. فهو يتنسط على منفذ TCP أو UDP (انت تختار)، وجميع البيانات المستقبلة والمرسة بين الخادم والعميل يتم تمريرها داخل هذا المنفذ. يعني TCP/UDP tunnel.​

بالإعدادات الإفتراضية يكون UDP 1194، وهذا الرقم مخصص للبرنامج بواسطة IANA للـOpenVPN. فعندما يشبك العميل مع الـVPN سيقوم بإرسال كل شيء داخل UDP 1194. وإذا تشغل wireshark ستجد أن جميع الداخل والخارج هو UDP1194، وطبعا كل مابداخله مشفر بإحكام.​

مثال تطبيقي، عندما يقوم العميل، الموصول من خلال OpenVPN، إرسال طلب مشاهدة موقع جوجل، يعني HTTP GET Request to Google.com سيكون شكل الـpacket كالتالي (الأحمر مشفر):​


LEFT TO RIGHT
IP_Header(SrcIP:ClientRealIP, DstIP:OpenVpnServerRealIP)
UDP_Header(SrcPort:Random, DstPort:1194)
IP_Header(SrcIP:OpenVPNVirtualIP, DstIP:Google.comIP)
TCP_Header(SrcPort:Random, DstPort:80)
HTTP_Header(GET /HTTP/1.1, Host:google.com..etc)


ممكن تختار اي منفذ TCP أو UDP. الـUDP جيد اذا كنت تنقل بيانات صوت كالـRTP - VoIP مثلا. والـTCP جيد اذا كنت تريده لتبادل ملفات. هذا بحكم تجربة عملية. ليس هذا فحسب، بل ايضا يعتمد على معدل الـdrop rate بين العميل وخادم OpenVPN. إذا كان الـdrop rate او معدل سقوط الـpackets قليل فممكن تذهب مع UDP للجميع الحالات، فهو أخف ولا يحتاج handshake.​

آلية OpenVPN من منظور الخادم
داخل الخادم، الـopenvpn process يتنسط على udp1194 بالإعدادات الإفتراضية، أو ممكن تخليه tcp اذا تريد. في البداية لا يقبل الخادم أي بكت، إلا وفقط بعدما تتم عملية الـauthentication. هناك عدة طرق authentication والبرنامج مرن جدا. في هذا الدرس سأتحدث بإذن الله عن أبسطها من منظور الشرح (حتى الطرق الأخرى سهلة التطبيق).​

بعدما تتم عملية الـauthentication ويتم تحديد مفاتيح التشفير وفكها، يقوم الخادم بإستقبال البكتس وتمريرها كما يجب بناء على الـrouting table. السؤال الذي يطرح نفسه. أين تتم عملية التشفير وفكه؟​

آلية OpenVPN من منظور العميل
العميل لا يقوم بتشفير كل مايدخل ويخرج من المنفذ الفيزيائي، مثلا لنلق ethernet. الذي يحدث أنه سيفتح عنده tunnel interface كذلك. وجميع مايدخل ويخرج منه سيتعرض لعملية الـتشفير وفك التشفير بواسطة البرنامج وبناء على كلمات السر التي تم الاتفاق عليها.​

ولهذا السبب، لو تقوم بتشغيل wireshark وتجعله يتجسس على الـtunnel interface ستشاهد كل شيء plain text لماذا؟ لأن البرنامج يقوم بفكر تشفيره عندما يستقبل قبل أن يمرره على نظام التشغيل، وكذلك يقوم بتشفيره بعدما يستقبل من نظام التشغيل وقبل ارساله إلى الـtunnel interfaces.​

ولنفس السبب أيضا، لو تقوم بتشغيل wireshark وتجعله يتجسس على الـمنفذ الفيزيائي، مثلا ethernet network card، ستجد أن البيانات مشفرة وماهي إلا udp1194. والسبب أنه لا يحدث تشفير وفك تشفير في هذه المرحلة، فهنا تنظر للبكت مثلما ينظر إليه أي شخص آخر. جميع عمليات تشفير وفك تشفير تتم على الـtunnel interface.​

التثبيت بمختلف الطرق
الغرنيق FreeBSD

CONSOLE
cd /usr/ports/security/openvpn
make
make install
rehash​


توزيعات Linux
Redhat/Fedora/Suse أو ماشابه​

CONSOLE
rpm -i path-to-installation-rpm-package.rpm​


debian/ubuntu/linuxmint او ماشابه​

CONSOLE
sudo apt-get install openvpn​


Gentoo (اقرب لينكس للصواب حسب رأيي)​

CONSOLE
emerge openvpn


Windows
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
نزله من هنا ثم next next حتى ينجلي.​

التثبيت بالطريقة اليدوية
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي

حمل الـtar ball من هنا. ثم:​

CONSOLE
tar -xzf path-to-my-lovely-tar-ball.tar.gz
cd path-to-extracted-tar-ball-directlry/
./configure
make
make install​

لكن قبل هذا تأكد ان لديك نسخة مثبتة من:​

  • openssl
  • lzo
  • pam

اعدادات الخادم - Server
مقدمة عن X.509 Certificate
أولا وقبل ذي بدء، يجب علينا انشاء Certificate Authority. طبعا عندما نسمع Authority نتخيل شيء ضخم منل جونقار ولا غرانديزر
q220472841129610.jpg
بينما في الواقع هو عبارة عن ملفين فقط. public key, private key - قضي الأمر.​

الذي يحدث كالتالي:​

  • certificate authority أو ca يعتبر بمثابة الجد الأكبر الذي يسمع كلامه الجميع ويثق به
  • الـCA هذا، عبارة عن private key و public key: الـpublic مشهور عند الكل، والـprivate سري لا يعلمه أحد إلا صاحب الخادم ورب الأرباب سبحانه، جل عما يشبهه الأنام.
  • خادم الـopenvpn، يحتاج شهادة SSL أو X.509، لذا عليه إرسال طلب وهذا اسمه CSR - Certificate SIgn Request
  • الـCA - الجد الأكبر - يستقبل الطلب الـCSR ويقوم بختمه بالـprivate key الخاص به
  • الملف الناتج، يكون اسمه certificate for vpm server.
  • عندما يقوم العميل بالشبك مع خادم الـopenvpn، يقوم الخادم بإعطائه ذلك الـcertificate. وحتى يقوم العميل بالتأكد أن هذه الشهادة موقعة 100% بواسطة الجد الأكبر الـCA يجب على العميل أن يملك نسخة public key للـجد الأكبر الـCA، وإذا قام بفك تشفير شهادة الـopenvpn server بواسطة الـCA Public key فهذا دليل _قاطع_ أنها كانت موقعة بواسطة الـprivate key للـجد الأكبر.
  • يعني ببساطة هناك قانون مع الـRSA (المعادلة المستخدمة في التشفير وفك التشفير بواسطة public/private keys) تنص على أن المفتاحين قابلين للتبادل: يعني ماتم تشفيره بالأول يتم فكه بالثاني، والعكس صحيح. ولهذا السبب اذا قام العميل بفك التشفير بالـpublic key معناه مشفر بالـprivate.
إنشاء الـX.509 Certificate + Private Key للـ Certificate Authority
أين الـpublic key؟ هو داخل شهادة الـX.509.​

بما أننا على بيئة يونكس، سواء freebsd/linux، بإمكاننا انتاج هذه الشهادة بواسطة أداة openssl الغنية عن التعريف. لكن من باب التسهيل ولتجنب اخطاء ثغرات الأمان، openvpn يأتي مع مجموعة اسكربتات تقوم بالمطلوب اسمها easy-rsa. تجدها في مجلد معين. مثلا مع الغرنيق Freebsd ومع طريقة التنصيب الآلية يكون في هذا المسار:​

CONSOLE​

cd /usr/local/share/doc/openvpn/easy-rsa​

بقية الأنظمة القضية شبيهة، إذا لم تعلم اين هي استخدم الأمر find / -name easy-rsa وانتظر حتى تحصل على المسار.​

ثم طبق الأوامر التالية حتى تصنع certificate and private key للـCA​

CONSOLE
./clean-all
. ./vars
./build-ca​

السطر الأول حتى يمسح جميع المفاتيح السابقة. صحيح لا توجد مفاتيح، لكن فقط حتى يطمئن قلبي.
السطر الثاني حتى يقوم بتعيين قيم في متغيرات. هذه المتغيرات حتى تعلم الscript التالية عن مسارات الملفات والإعدادات المطلوبة.
السطر الثالث حتى تنشئ certificate/private key للـca. كل ماعليك هو اتباع الخطوات فالإسكربت interactive و يشرح نفسه بنفسه.​

الآن لو تنظر إلى مجلد keys ستجد أنه اصبح يحتوي على private key + الـX.509 certificate للـCA.​

انشاء الـ private key + X.509 Certificate للـOpenVPN Server

CONSOLE
./build-key-server server​

سيسألك أسئلة سهلة مرفقة بشرح. يعني مثل next-next بالوندوز لكن كتابي. وبالتختام سيقوم بصنع Private Key + CSR مصاحب له. وثم يختم الـCSR بواسطة الـCA التي أنشأناها مسبقا. وبعدما يختمه لك ستحصل على شهادة X.509 خاصة للخادم. طبعا ممكن تمسح ملف الـCSR لاحقا إذا شئت لا مشكلة انتهى الغرض منه. المهم الآن لديك private key + certificate​

اعداد Diffie-Hellman
حسب معيار rfc5246 فـTLS1.2 يسمح لك بإختيار Cipher suites ومن ضمنها آلية اختيار مفاتيح التشفير والتوثيق من خلال عدة آليات كما هو مذكور في كما في appendix A.5. صحيح أن آلية RSA تستطيع القيام بتكوين المفاتيح، إلا أنه ممكن أيضا تترك هذه الوظيفة لـDH والذي يفعله OpenVPN. يعني RSA فقط للـauthentication و DH لتكوين مفاتيح MAC send/receive encrypt/decrypt. فحتى يعمل Diffie-Hellman بسرعة أكبر، نتجنب انتاج prime-number جديد في كل مرة، فننتجه مرة واحدة ونخزنه في ملف. وهذا بواسطة:​

CONSOLE
./build-dh​

والناتج ملف اسمه dh-1024.pem وهذا فقط يحتوي على prime number حجمه 1024bit وسيتم استخدامه محل الـp في المعادلة بالأسفل.​

من ناحية الأمان، لا يوجد أي تأثير اطلاقا، لأنه في كلا الحالتين فإن الـPrime Number هذا سيتم تبادله بطريقة علنية. وهذا حسب الـalgorithm الخاص بـDH. حيث أن القيم التي ممكن تبادلها علنيا ولا تؤثر في الأمان هي: prime number (p) و group/base (g) والناتج من الـmod. الرقم السري الوحيد هو الـexponent أو الأس.
400pxdiffiehellmanschlc.png

فخلاصة الكلام، كما ترى، لاخوف إطلاقا من استخدام نفس الـprime-number، فالقضية علنية أساسا في الحالتين.​

استخدام الملفات السابقة
الآن، بناء على ماسبق، أنشأنا هذه الملفات السابقة:​

  • ca.crt
  • ca.key
  • server.crt
  • server.key
  • dh-1024.pem
الملفات الزرقاء، يجب أن تنسخها على الخادم والعميل يدويا.
الملفات البرتقالية، يجب أن تكون قابلة للإستخدام بواسطة الخادم OpenVPN
الملف الأحمر، يجب أن تجعله سريا، حتى تمنعه من openvpn، أفضل شيء ضعه في usb disk وضعه في صندوق ثم ابلع الصندوق حتى لا يأخذه أحد
smile.gif
.​

هذه الملفات ستكون موجودة في المسار:​

CONSOLE
/usr/local/share/doc/openvpn/easy-rsa/keys​

انسخها وضعها في مسار يستطيع openvpn قراءته. مثلا مع freebsd، ضعه في:​

CONSOLE
/usr/local/etc/openvpn/keys​


وثم قم بخلق ملف جديد، اسمه:​

CONSOLE
nano my_servers_configuration.conf
port 1149
proto tcp
dev tun​


ca /usr/local/etc/openvpn/keys/ca.crt
cert /user/local/etc/openvpn/keys/server.crt
key /usr/local/etc/openvpn/keys/server.key
dh /usr/local/etc/openvpn/keys/dh-1024.pem​

server 10.2.0.0. 255.255.255.0​

push "redirect-gateway"
push "dhcp-option DNS 10.1.0.1"​

keepalklive 10 120​

comp-lzo​


auth-user-pass-verify /usr/local/etc/openvpn/auth.pl via-file
client-cert-not-required
username-as-common-name​


الأوامر تشرح نفسها بنفسها. ففي البداية نحدد أن الخادم يتنسط على منفذ 1194 tcp و dev tun يعني أن هذا الـvpn سيكون routing وليس bridging. لمعظم المستخدمين اختر tun وانت مغمض العينين. للبعض الآخر ربما يريد bridging حتى يجمع الـbroadcast domains للبروتوكولات القديمة الغير مبنية على IP التي لاتدعم routing.​

ثم نحدد الملفات المتعلقة بالتشفير وفك التشفير. بالتحديد ملفات الـTLS/SSL​

ثم مدى الـIPs التي يتم توزيعها للعملاء. فالخادم سيوزع من 10.2.0.1 إلى 10.2.0.254. والأمر push "redirect-gateway" سيجعل الخادم يرسل طلب إلى العميل بأن يقوم بتغير الـrouting table عند العميل ويجعل الـdefault gateway مشيرا إلى رقم خادم OpenVPN الإفتراضي والذي أيضا سيكون في المدى نفسه.​

push "dhcp-option DNS 10.1.0.1" حتى يحول خادم الـDHCP عند العميل إلى خادم آخر. هكذا ستتمكن من resolve local domain names أيضا.​

keepalklive 10 120 يعني ارسل رسالة للتأكد من صحة العميل كل 10 ثواني، وإذا لم تسمع رد عقب 120 ثانية فهذا معناه العميل ميت وتعامل معه وكانه disconnected.​

comp-lzo هذا حتى تقوم بضغط البيانات المستقبلة والمرسلة لزيادة الـthroughput. ميزته أنه سريع.​

client-cert-not-required حتى يعلم الخادم أن العميل ليس لديه شهادة. اذا لم تضع هذا سيظن الخادم أنك تريد العميل يعطيك شهادة + كلمة سر واسم مرور. فمن باب التسهيل وضعت هذا حتى يكتفي الخادم بتوثيق اسم المستخدم وكلمة السر.​

username-as-common-name هذا حتى يقوم الخادم بإستخدام اسم المستخدم كإسم موحد للمستخدم. لأنك إذا لم تفعل هذان سيتوقع الخادم أن يكون الإسم الموحد مستلخص من الـCN من الـX.509 التابعة للعميل (والتي نحن لا نستخدمها اساسا في مثالنا هذا). وهذا الغرض منه ليس للتعريف بالهوية، إنما للإستخدام الداخلي. هذا مفيد مستقبلا إذا أردت استخدام learn-address /path/to/script لكن هذه خاصية أخرى رائعة خارجة عن الموضوع (ربما لاحقا إن شاء الله)​

auth-user-pass-verify سيقوم بتمرير اسم المستخدم والكلمة السرية إلى إسكربت خارجي. هذا الإسكربت كتبته بنفسي بلغة بيرل كنموذج حتى أخبركم مدى السهولة والمرونة. وطبعا بكل سهولة ممكن تجعله Integrated مع حسابات Active Directory بواسطة بروتوكول LDAP، الإحتمالات غير متناهية. كل مايقوم به return 0 اذا صحيح، أو return 1 إذا خطأ.​

هذا المثال، قمت ببرمجة اسكربت صغير، اسمه auth.pl وهذا يستخدم ملفى text بسيط كـbackend للـauthentication. ملف الـtxt يحتوي على حسابات مستخدمين بصيغة uname:pword حيث أن كل سطر يحتوي على اسم مستخدم، وثم نقطتين فوق بعض، وثم الكلمة السرية. اسم المستخدم الثاني يكون نفس الشيء على السطر الثاني، وهكذا..الخ. هذا هو الإسكربت الذي يستخدمه OpenVPN بواسطة الأمر auth-user-pass-verify. الauth.pl يقوم بـreturn code 0 في حالجة النجاح، أو 1 في حالة فشل التعريف.​

CONSOLE
#!/usr/bin/perl
use warnings;
use strict;​

open (FH, "<$ARGV[0]") or die "unable to open!\n";
my $uname=<FH>;
my $pword=<FH>;
chomp $uname;
chomp $pword;
close (FH);​


open (FH, "/usr/local/etc/open/accounts.txt") or die "unable to open account file\n";
my @accounts=<FH>;
close (FH);​

foreach (@accounts){
chomp $_;
if ($_ =~ m/^$uname\:$pword$/i){
exit 0;
}
}​

exit 1;​



لاحظوا فالقضية مرنة _جدا_ وأنت حر تبرمج ماتريد، بأي لغة تريد، طالما أنك تقوم بالجواب بـreturn 0 أو 1 تباعا. هذا الإسكربت كتبته بغرض التعليم وليس بغرض الـbest performance. كما تلاحظ لا يوجد indexing، إذا تريد طريقة أسرع ممكن تستخدم BerkeleyDB مثلا (تعتبر embeded db ويستخدمها العديد من LDAP implementations حتى المغلقة).​

اعدادات العميل
كل ما عليك هو، أخذ نسخة من ca.cert ووضعه في مجلد openvpn حيث توجد الإعدادات. والإعدادات ماهي إلا ملف واحد، وهو بالتحديد:​

CONSOLE
client # نخبره أنه عميل، وليس خادم
dev tun # مطابق للإعداد في الخادم، سبق الشرح
proto tcp # مطابق للإعداد بالخادم، سبق الشرح
remote vpn.domainname.org 1194 # خادم الفيبي إن الذي سبقنا شرحه بالأعلى
ca /path/to/ca.cert # المسارر إلى شهادة السيرتيفيكيت أوثوريتي
auth-user-pass # مهم جدا، حتى يسأل المستخدم بكلمة سر
comp-lzo # حتى يضغط البيانات.


اعداد واستخدام العميل على توزيعات لينكس و أنظمةBSD
نفس الإعدادات بالأعلى. وحتى تشغله تكتب الأمر​

CONSOLE
sudo openvpn --config configfile.cfg
مع freebsd لا يوجد sudo لذا تقوم بـsu.
سيسألك عن اسم المستخدم والكلمة السرية. وفقط.​

مبروك عليك OpenVPN مع simplified authentication
smile.gif


اعداد واستخدام العميل على وندوز
نفس الإعدادات بالأعلى. تنزل العميل بالواجهة الرسومية من موقع openvpn.se
ضع الإعدادات في مساره + شهادة الـCA في هذا المسار:​

CONSOLE
C:\Program files\OpenVPN\config​

بعدها اضغط كلك ماوس يمين على ايقونة openvpn واختر connect.
سيسألك عن اسم المستخدم والكلمة السرية. وفقط.​

مبروك عليك OpenVPN مع simplified authentication
smile.gif



Train Signal Windows Server 2008 MCITP Server Administrator 70.646

هذه الاسطوانة التي توهلك لكي تصبح من افضل مهندسي الشبكات على الاطلاق >طبعا مع الجهد والعزيمة والتعلم الصحيح وبعض التضحية < الخاصة في الوندوز سرفر 2008​

server_administrator_2008_hero.jpg

محتويات القرص
كود:
Windows Server 2008 Server Administrator Training
Course Outline
Video 1
Introduction to the Course
Get a first look at the scenario we will be using throughout the course, learn who your instructor is, and find out what you can expect in the course.​

Key Points:
* About the Instructor and Train Signal
* What’s Covered in this Course
* The Globomantics Scenario
* What You Will Need​

Video 2
Windows Server 2008 Installation and Upgrade
Learn about the different versions of Windows Server 2008 and dive right into installing Windows Server 2008 from scratch. Plus, we'll install the Active Directory Domain Services role and perform an upgrade from Windows Server 2003 to Server 2008.​


Key Points:
* Windows Server 2008 Versions
* Installing Windows Server 2008 from Scratch
* Initial Configuration Tasks (ICT)
* Adding Active Directory Role
* Creating Active Directory Domain Controller
* Server Manager Overview
* Globomantics Network Diagram
* Upgrading Server 2003 to Server 2008​


Video 3
Simplifying Installations Using Windows Deployment Services (WDS)
Save time and become more efficient by using Windows Deployment Services to automate installations of Windows Server 2008 and to implement unattended installations.​



Key Points:
* Getting Ready for WDS
* Installing DHCP Role
* Installing WDS Role
* Configuring WDS
* Adding Image to WDS
* Setting Up and Deploying Multicast Transmission
* Installing Automated Installation Kit (AIK)
* Creating an Answer File with Windows System Image Master (SIM) Tool
* Running Unattended Installation​


Video 4
Installing Windows Server 2008 Server Core
Not everyone has the system resources to implement a full installation of Windows Server 2008. In this video you will learn how to install and configure a command line version of the Server 2008 Operating System called Windows Server Core, which can be implemented on systems that have minimal resources.​

Key Points:
* What is Server Core?
* When Should I Use Server Core?
* Installing Windows Server 2008 Server Core
* Installing Core Configurator Utility
* Setting Up Windows Server Core with Core Configurator
* Remote Management
* Downloading, Installing, and Setting Up Remote Server Administration Tools (RSAT)
* Setting Up Secondary DNS Server on Server Core
* Remote Desktop Management​


Video 5
Deploying Read Only Domain Controllers (RODC)
Using a typical Domain Controller from a branch office may pose problems such as inadequate physical security, slow logon times, and inconsistent access to network resources. You'll learn how to deploy Read Only Domain Conrtrollers to greatly improve upon these issues.​

Key Points:
* RODC Benefits
* Installing Read Only Domain Controller (RODC)
* Testing Replication Between a DC and RODC
* Configuring a Password Replication Policy
* Administrative Role Separation​


Video 6​


PHP:
http://rapidshare.com/files/214376138/TSWSMSA0110.zip.001.html
PHP:
[CENTER]http://rapidshare.com/files/214376145/TSWSMSA0110.zip.002.html
http://rapidshare.com/files/214376159/TSWSMSA0110.zip.003.html
http://rapidshare.com/files/214376203/TSWSMSA0110.zip.004.html
http://rapidshare.com/files/214376198/TSWSMSA0110.zip.005.html
http://rapidshare.com/files/214376229/TSWSMSA0110.zip.006.html
http://rapidshare.com/files/214376238/TSWSMSA0110.zip.007.html
http://rapidshare.com/files/214376240/TSWSMSA0110.zip.008.html
http://rapidshare.com/files/214376516/TSWSMSA0110.zip.009.html
http://rapidshare.com/files/214376333/TSWSMSA0110.zip.010.html

http://rapidshare.com/files/214377036/TSWSMSA1120.zip.001.html
http://rapidshare.com/files/214377459/TSWSMSA1120.zip.002.html
http://rapidshare.com/files/214377060/TSWSMSA1120.zip.003.html
http://rapidshare.com/files/214377058/TSWSMSA1120.zip.004.html
http://rapidshare.com/files/214377511/TSWSMSA1120.zip.005.html
http://rapidshare.com/files/214377065/TSWSMSA1120.zip.006.html
http://rapidshare.com/files/214377172/TSWSMSA1120.zip.007.html
http://rapidshare.com/files/214377121/TSWSMSA1120.zip.008.html
http://rapidshare.com/files/214377697/TSWSMSA1120.zip.009.html
http://rapidshare.com/files/214377436/TSWSMSA1120.zip.010.html

http://rapidshare.com/files/214377102/TSWSMSA2130.zip.001.html
http://rapidshare.com/files/214377708/TSWSMSA2130.zip.002.html
http://rapidshare.com/files/214377736/TSWSMSA2130.zip.003.html
http://rapidshare.com/files/214377674/TSWSMSA2130.zip.004.html
http://rapidshare.com/files/214377603/TSWSMSA2130.zip.005.html
http://rapidshare.com/files/214377854/TSWSMSA2130.zip.006.html
http://rapidshare.com/files/214379581/TSWSMSA2130.zip.007.html
http://rapidshare.com/files/214379560/TSWSMSA2130.zip.008.html
http://rapidshare.com/files/214380113/TSWSMSA2130.zip.009.html
http://rapidshare.com/files/214379475/TSWSMSA2130.zip.010.html

http://rapidshare.com/files/214380081/TSWSMSA3140.zip.001.html
http://rapidshare.com/files/214379569/TSWSMSA3140.zip.002.html
http://rapidshare.com/files/214379578/TSWSMSA3140.zip.003.html
http://rapidshare.com/files/214379587/TSWSMSA3140.zip.004.html
http://rapidshare.com/files/214379619/TSWSMSA3140.zip.005.html
http://rapidshare.com/files/214380200/TSWSMSA3140.zip.006.html
http://rapidshare.com/files/214379667/TSWSMSA3140.zip.007.html
http://rapidshare.com/files/214379789/TSWSMSA3140.zip.008.html
http://rapidshare.com/files/214379893/TSWSMSA3140.zip.009.html
http://rapidshare.com/files/214380159/TSWSMSA3140.zip.010.html

http://rapidshare.com/files/214380316/TSWSMSA4149.zip.001.html
http://rapidshare.com/files/214380280/TSWSMSA4149.zip.002.html
http://rapidshare.com/files/214380356/TSWSMSA4149.zip.003.html
http://rapidshare.com/files/214380363/TSWSMSA4149.zip.004.html
http://rapidshare.com/files/214380443/TSWSMSA4149.zip.005.html
http://rapidshare.com/files/214380460/TSWSMSA4149.zip.006.html
http://rapidshare.com/files/214380493/TSWSMSA4149.zip.007.html
http://rapidshare.com/files/214380548/TSWSMSA4149.zip.008.html

http://rapidshare.com/files/214380444/TSWSMSA4149.zip.009.html[/CENTER]

بالتوفيق لكم …​


:ok::ok::ok::ok::ok:
 
توقيع : amrsameer
لا اعلم كيف اشكرك

مجهود رائع وجبار وعظيم

بس لدي سؤال
ما هو الفرق بين إصدار r1 وr2
أخي الغالي الفرق بين النسختين أن ألنسخه الأولى تستخدم من داخل النظام وتعمل كانها نظام مستقل من وله طريقه خاصه للتعامل معه وطريق تثبيته يختلف
 
توقيع : sayd_ahmad

بارك الله فيكم ورزقكم الخير كله وبارك في عمركم وشرح لك صدركم ويسر لك أمركم
أتمنى أن تكونا في أحسن حال و أن يمن الله عليكم بأفضل النعم ويرزقكم الشكر
عليها أتمنى أن تكونا على أتم الصحة والعافية يأرب العالمين يأرب

 
توقيع : sayd_ahmad
عودة
أعلى