السلام عليكم , انتقلت الي مزود جديد وطبعا معاناه جديدة المشكله كانت ان DNS يعمل بشكل جيد جدا وايضا سكايب و empathy اذن هناك انترنت وايضا جوجل لكن هناك مواقع مثل فيس بوك او موقع فيدورا او اي موقع اخر لايعمل !! لكن ping يعمل بشكل طبيعي وايضا traceroute لكن حينما تحاول فتحها في اي متصفح لاتحصل سوي علي رسالة

Waiting for http://www.wwww.www

الحل هو تغيير MTU لتصبح اقل من القيمة الموجوده (شخصيا تعمل معي الان علي 1400 )

والتي من المفترض ان اقصي قيمة لها 1500 من المفترض ان لايؤثر هذا علي السرعة عموما لكن يفي بالغرض ويحل المشكله ستجد MTU في صفحة الروتر (تقريبا في نفس الصفحة التي تحدد بها Username & password)

او اذا لم تكن تستطيع الوصول الي الروتر يمكنك تغييرها لديك انت فقط من NetworkManger ,

– ضغطة بالزر الايمين علي ايقونة NetworkManager – اختر Edit Connections

– من النافذة التي ستظهر لديك الاتصال الذي تستخدم (غالبا eth0)

– ستجد مكتوب MTU والقيمة automatic , قم بتغييرها بما يناسبك

– ثم apply قم بفصل الاتصال والاتصال مره اخري

ربما تكون المشكلة بسبب windowing او شئ اخر لكن هذا هو ما افلح معي ان كان لديكم حل افضل ارجو مشاركته شكرا

Advertisements

شبكات – 2

الثلاثاء-06-2009

بسم الله الرحمن الرحيم
الان ننتقل الى الجزء الثاني وهو الجدار النارى
تخيل انك خرجت من بيتك يوما ما وتركت جميع نوافذ منزلك مفتوحه وباب بيتك الامامي والخلفى أيضا , ولم تغلقها بعد ذلك
أؤكد لك أنك اما سيتم سرقتك أو ربما على الاقل يدخل احد المدمرين الى بيتك ويقوم باتلاف بعض محتويات بيتك وربما أجد أيضا بعض الخنفشاريين ويقول ليس لدى مايسرق أو مايتم تخريبة , ولكن قد يدخل شخص الى بيتك ويسرق سكينك أو حتى مسدسك ويقتل به شخص أخر وسوف تكون أنت المتهم أما الناس وايضا تكون متحملا جزء من الجريمة أمام الله لأنك شاركت فيها بشكل أو بأخر , ربما تقول أنك لست من المعروفين بالثراء ليتم سرقتك لكن أؤكد لك أن هناك انواع من اللصوص والمجرمين يختارون اهدافهم عشوائيا بمجرد ان يرى بيت يحاول الدخول حتى بدون معرفة من هو صاحبه
نفس القصة فى الحواسيب , الجدران النارية تكون موجوده لحماية حاسوبك من السرقة أو التخريب وايضا لمنعهم من تنفيذ هجمات على حواسيب أخرى من داخل حاسوبك وهذة الهجمات قد تكون عشوائية فبمجرد دخولك على الانترنت يكون لك رقم – راجع المقال السابق – والمخرب ببساطه لديه سكريبت او برنامج يقوم بالمرور على نطاق معين من العناوين بدون حتى أن يعرف من أنت.

والان ماهو المخرج (port) ؟
لنفرض مثلا ان لدى حاسوب فى شبكة لدى يحمل العنوان 192.168.1.3 واريد أن اقدم عليه خدمه معينه مثلا أن يكون خادوم ويب فيكون الامر سهلا أقوم بثبيت البرنامج ومن يريد الخدمه ليس عليه سوى أن يطلب – Request – عنوان الخادوم وسوف يكون الخادوم مجهز على أن يرد على تلك الطلبات
لكن ماذا لو أردت ان اقدم أكثر من خدمة مثل FTP Server أو خادوم ملفات مع ftp بالاضافة الى خادوم الويب كيف يميز الحاسوب – ولاحظ أنه الة – بين طلبات ؟
الحل هو أن يكون هناك مايشبة الثقب او أنبوبة خاصة بكل خدمة ولكل انبوب رقم وأقوم انا مدير النظام بتخصيص أنبوب معين لخدمة معينة
هناك أشياء قياسية وقد تحتاج الى تغييرها مثلا المعروف أن خدمة الويب تقدم على port 80 و FTP على 21 و SSH على 22 ولكنى لأسباب معينى أوفر خادوم ويب على port 80 وخادم اخر على نفس الحاسوب على بورت 22 , صحيح ان ذلك يخالف الشائع والمتعارف عليه لكن لايهم مادام من أريد تقديم الخدمه له يعلم ذلك
فأنا أقوم بضبط برنامج معين -فى حالة خادوم الويب هناك اباتشى الشهير apache – على ان يستمع الى الانبوب أو البورت رقم 80 ويقوم بالرد على أى طلبات تاتى اليه وأقوم بتشغيل سيرفر ويب اخر ولنقل مثلا nginx على ان يعمل ولكن على بورت 22 لهدف معين فى رأسى واى برنامج يتبع هذا السلوك يسمى daemon -لا اعرف كيف أترجمها 😀 – وايضا البرنامج اللذى تستخدمه للوصول الى تلك الخدمة واللذى يكون موجود على جهازك يسمى client مثل firefox او ssh او filezilla
-طبعا هناك من يسأل ماذا لو كان كان مثلا daemon مثلا nginx تم ضبطه لكي يعمل على بورت 22 و قمت بتشغيل خادم ssh اللذى يستخدم بورت 22 ايضا ؟
الاجابة ان اللذى بدأ اولا سوف يستمر بالعمل والثاني لن يبدأ اصلا لأنك سوف يجد أن البورت قد تم حجزه من قبل برنامج أخر بالفعل
-ماذا لو حاولت أن اطلب مثلا صفحة ويب من بورت يقدم خدمة ssh , الاجابة لن يعمل لأن daemon لن يفهم معنى الطلب وسوف يرد بالرفض

الامر أشبه بمؤسسة كبيرة جدا جدا جدا بها أكثر من نافذة كل نافذة خلفها موظف وكل موظف مختص بنوع معين من الطلبات مثلا شخص متخصص بإعطاء الزوار بعض الطعام والاخر مختص بأواراق السيارات واخر مختص بأوراق العمل
لابد أن تعرف رقم النافذة وإلا لن تجد الموظف المطلوب , طبعا يمكن لسبب أو لاخر ان يقوم الموظف بتغيير مكان النافذة التى يعمل من خلالها
تخيل لو أنك طلبت من موظف أعتماد اوراق السيارات ان يعطيك مثلا أن يعطيك شطيرة بيتزا 😀 , طبعا لن يرد عليك أو يخبرك انك فى المكان الخطأ

يمكنك مشاهدة البرامج التى حاليا تتسمع الى مخارج على حاسوبك عن طريق الامر netstat
[root@srv ~]# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      2427/mysqld
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      2289/portmap
tcp        0      0 10.0.0.1:53                 0.0.0.0:*                   LISTEN      2962/named
tcp        0      0 192.168.1.3:53              0.0.0.0:*                   LISTEN      2962/named
tcp        0      0 127.0.0.1:53                0.0.0.0:*                   LISTEN      2962/named
tcp        0      0 0.0.0.0:3128                0.0.0.0:*                   LISTEN      2554/(squid)
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      2493/sendmail: acce
tcp        0      0 0.0.0.0:604                 0.0.0.0:*                   LISTEN      2118/rpc.statd
tcp        0      0 0.0.0.0:43582               0.0.0.0:*                   LISTEN      –
tcp        0      0 :::80                       :::*                        LISTEN      2519/httpd
tcp        0      0 :::22                       :::*                        LISTEN      2316/sshd

يمكنك منها ملاحظ أنى لدى على ذلك الحاسوب سيرفر اباتشى – يسمى httpd مع فيدورا – و سيرفر sshd وايضا DNS سيرفر – يسمى named –

واخيرا يمكنك طلب البورت عن طريق العنوان – عنوان الانترنت IP Address –  متوبعا بنقطتين ثم برقم البورت مثل
192.168.1.3:22
طبعا هناك برامج ذكية والتى لا تطلب منك رقم البورت مثلا
الفايرفوكس , عندما تقوم بطلب عنوان يفترض تلقائيا ان daemon يستمع على بورت 80 هذا إن لم تحدد رقم البورت

الان أنتهينا والجزء الثالث هو الجدار النارى ipfilter

شبكات -1

الجمعة-06-2009

أولا كل حاسوب على أى شبكة يحمل رقم يسمى IP  وهو رقم مكون من أربع اجزاء يفصل بين كل جزء والاخر نفطه وكل جزء عبارة عن رقم يمتد من 0 الى 255 مثل     10.0.0.1    او  192.168.1.2 – هذا النظام يسمى IP4 وهناك نظام أحدث يسمى IPV6 ولكنه لم يعمم على مسوى العالم كليا ولا اعتقد انك سوف تجده – وأيضا قد يسمى بعنوان الانترنت internet address وهو لايتكرر مرتين أبدا
ثانيا:هناك فرق بين الايبى الحقيقى والايبى الداخلى (اتمنى أن اعبر جيدا عن هذا )
لو استخدمنا الامر ifconfig حاليا على حاسوبي الشخصى لمعرفة الايبى الخاص بجهازى فسوف نحصل على
[ahmed@wizard-box:~]$ ifconfig
br0       Link encap:Ethernet  HWaddr 1A:31:A8:03:AD:33
inet addr:10.0.0.254  Bcast:10.0.0.255  Mask:255.255.255.0
inet6 addr: fe80::1831:a8ff:fe03:ad33/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:18907 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b)  TX bytes:1354550 (1.2 MiB)

eth1      Link encap:Ethernet  HWaddr 00:24:1D:2C:AD:C3
inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
inet6 addr: fe80::224:1dff:fe2c:adc3/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:8205 errors:0 dropped:0 overruns:0 frame:0
TX packets:11041 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2041353 (1.9 MiB)  TX bytes:1139173 (1.0 MiB)
Interrupt:18 Base address:0x8000

lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING  MTU:16436  Metric:1
RX packets:348 errors:0 dropped:0 overruns:0 frame:0
TX packets:348 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:22350 (21.8 KiB)  TX bytes:22350 (21.8 KiB)
سوف تلاحظ ثلاث واجهات شبكة أو network interface  (مايسمى بكارت الشبكة )
-الاول br0 هى نوع خاص يسمى bridge وهو خاص بالشبكة الداخلية للحواسيب الافتراضية التى أقوم بإنشائها , ويحمل الايبى 10.0.0.254
-الثانى eth1 وهو كارت حقيقى من نوع Ethernet وهو ماسوف تجده لديك غالبا , برقم 192.168.1.2 (وهو اللذى سوف نركز عليه)
-الثالث lo او loopback وهو ليس بكارت حقيقى ولكنه فقط للاتصالات التى توجهاا لجهازك نفسه
مثلا ان تحاول ان تتصل بجهازك عن طريق ssh 127.0.0.1
ويحمل الرقم 127.0.0.1 وهذا الرقم دائما ثابت لا يتغير وهو خاص بالاجهزه الشخصية , أى انك لن تجد جهاز على الشبكة يحمل الايبى 127.0.0.1 يمكنك الدخول عليه لأن هذا العنوان مخصص لكى تتصل بنفسك فقط ولاشى أخر

يمكنك أن تجد ان واجهات الشبكة لديك تحمل أسماء أخرى مثلا قد لاتجد br0 لانى انا من قام بعملها
او ربما تجد ان eth1 لها اسم اخر مثل eth0 – جميع كروت الايثرنت فى لينكس تبدا بكلمة eth متبوعا برقم معين –
او قد تجد أشياء إضافية أخرى ليست هنا ,

ثالثا: عنوان واجهة الشبكة هو أيضا عنوان لحاسوبك لكنه يستخدم مع الشبكة الداخلية , بمعنى أنه يستخدم فقط حتى تنتقل البيانات من جهازك الى الجهاز اللذى بعده ويسمى ايضا بعنوان الهارد وير و Hardware Address او MAC Address أو BurnIn Address  وهو يتكون من ستة أجزاء يفصل بين كل منها نقطتان (colon) وكل جزء من الستة يتكون من حرفين أو رقمين وكل شركة لها مجموعة من الارقام تقوم باعطائها للكروت التى تصنعها بحيث انك لاتجد واجهتان لهما نفس الرقم

رابعا : القناع أو Mask :
كيف تعرف أن شخص ما مثلا يدعى جوزيف إذا كان صديقك أو لا ؟ , بالتأكيد أنت تعرف أصدقاء جيدا وتعرف كيف تمبزهم وبمجرد أن اخبرك بالاسم ترد أنت على قائلا إن كان صديقك ام أنك لا تعرفه
إذن فأنت تحدد ذلك بناءا على معرفتك المسبقة بهؤلاء الاشخاص
وكذلك الحاسوب به شبكات كل شبكة منفصلة عن الاخرى قد تكون مرتبطه ببعضها البعض عن طريق حاسوب معين , مثلا لدى شبكة بها أكثر من حاسوب وأريد ان اقوم بربطها بشبكة أخرى ,
بالتأكيد لابد من حاسوب يعمل كنفق او كبوابة بين كلتا الشبكتين ونسمية Gateway او الحاسوب البوابه , فى بعض الاحيان تلك البوابه قد يكون بها مزايا أخرى وتوفر خدمات أخرى غير عملها كبوابة وهذة الخدمات ربما تحصرها البوابه لشبكتها فقط وليس لأى شبكة أخرى (لاحظ ان البوابة تتصل بشبكة أخرى)
إذن كيف نحدد ذلك ؟ كيف تعرف الحواسيب بعضها إذا كانت من نفس شبكتها ام من شبكة اخرى ؟ , هذا الامر برمته يسمى بال subnetting او بالعربية تحديد الشبكات الفرعية -لا اعرف إن كان هذا هو الاسم العربي الصحيح أم لا نحتاج الى الاستاذ خالد حسنى فى تلك الامور 😀 –
ولهذا نستخدم القناع
وسوف نقوم بسرد مثال لتوضيح الفكره أولا
لنفرض أن لديك صورة لك أنت وأصدقائك وأنت تريد أن ترى وجه صديق بعينه بصوره دائمة – لا اريد من يقول لى أقطع الصوره وأترك صوره صديقى – فالحل اللذى أقترحه بدون اتلاف الصورة هو أن اقوم بقص ورقة معتمة أخرى بحيث تكون بنفس حجم الصورة الاصلية وأقوم بتفريغ الجزء الصغير الذى يناسب وجه الصديق فى الصورة ليظهر هو وحده فقط
الان لنفرض أن لديك شبكة من المفروض ان يحصل كل حاسوب على عنوان من 192.168.1.1 الى 192.168.1.254 (لاحظ ان العنوان لاينتهى بصفر او 255 فليس هناك حاسوب يحمل العنوان 192.168.1.0 او 192.168.1.255 أو 4.2.2.255 او 192.168.1.0 وهكذا )
كما نلاحظ الان أن ثلاثة أجزاء الارقام بها ثابتة -العنواين سوف يتكون 10.0.0.1 10.0.0.2 10.0.0.3 10.0.0.4 ……………. 10.0.0.254 – واللذى يتغير هو الجزء الاخير فقط , إذن نحن نريد الجزء الاخير إذن نحتاج الى ورقة معتمة وسوف تكون هى الرقم 255.255.255.255 بمعنى أن 255 تعنى جزء لانريد والجزء اللذى نريده نضع بدلا منه 0 (صفر فى القناع) ليكون فى حالتنا هذه هو 255.255.255.0
وبهذا يمكن أن يكون هناك فى الشبكة التى تريدها 254 حاسوب وإذا أردت أكثر , يمكنك توسيع القناه أكثر ليصبح 255.255.0.0 (وهو مايستخدمه مزود خدمة الانترنت فى بلدك فغالبا الجزء الاول من العنوان يشير الى الدولة والثاني الى المزود والثالث والرابع يستغله المزود لاعطاء عناوين لعملائه وأحياننا تكون الدولة هى الاول والثاني والمزود هو الثالث وأنت تكون موجود فى الجزء الرابع )

هناك طريقة أخرى وتستخدم بكثرة وهى تستخدم prefix فى اخر العنوان مثلا المثال التالى
192.168.1.0/24
الرقم 24 هو ال prefix اللذى نتكلم عنه وببساطه كلما زاد هذا الرقم يعنى أن مدى الارقام المتاحة يصبح أقل ويمكنك المقارنة بالطريقة السابقة كالاتى
Network 192.168.1.0 , Mask 255.255.255.0 ===   192.168.1.0/24
Network 192.168.1.0 , Mask 255.255.0.0   ===   192.168.1.0/16
لاحظ أنه عندما أصبح رقم prefix أقل زاد العدد المسموح عن طريق MASK حيث يتم استخدام الجزئين الاخيرين بدلا من جزء واحد
ويمكنك أستخدام الاداة ipcalc لحساب prefix من الطريقة السابقة والعكس
كالتالى
[ahmed@wizard-box:~]$ ipcalc -p 192.168.1.0 255.255.255.0 #للحصول على طريقة البادئة من طريقة القناع
PREFIX=24

[ahmed@wizard-box:~]$ ipcalc -m -n -b 192.168.1.0/16    #للحصول على القناع والشبكة من طريقة البادئة
NETMASK=255.255.0.0
BROADCAST=192.168.255.255
NETWORK=192.168.0.0

أعتقد أن تلك مقدمة جيدة وهذا هو الجزء الاول منها
فى الجزء الثاني سوف نتعرض الى معنى porting او port