June 24, 2004

Fedora Core 1 ناموفق بوده ؟

این مطلب رو لینکش رو از روی وبلاگ مسعود دیدم که Fedora Core 2 رو برای کاربران Desktop مورد بررسی قرار داده . تا اینجاش هیچ مشکلی نیست و هر کس می تونه از دید خودش هر چیزی رو مورد بررسی قرار بده . گویی که به نظر من اینکه مثلا روی یک Hardware بر خوردن به یک مشکل دلیل بر بد بودن یک محصول نیست ، اما به حال بررسی بر روی یک Hardware هم خودش یک بررسی است و خواندن و دانستن آن خالی از فایده نیست .
مشکلی که من با این مطلب دارم سر مقدمه نسخه 1 از توزیع Fedora هستش . در این مقدمه خیلی راحت و بدون بیان هیچ گونه دلیل منطقی ( منطقی منظورم این نیست که نوشته چون نسخه اول از Fedora بوده پس آشغاله !! من نمی فهمم این کجاش منطقی هستش ؟! تازه اگه فرض کنیم Redhat بار اولش هم بوده که داشته یه توزیع میداده بازم این دلیل منطقی نیست ! ) اومده و فرض کرده که Fedora Core 1 یک نسخه خیلی ناپایدار ( نوشته حتی نیمی از پایداری RedHat 9 را هم نداره !! آخه بابا دلیلت کو ؟! ) و نا موفق از سری Fedora بوده و شکست خورده !!
حالا من با خودم فکر کردم شاید من خیلی پرتم از ماجرا که تا حالا متوجه این نشدم ، و تازه همه رو هم تشویق می کردم که از RedHat 9 به Fedora هجرت کنند ! و جالبتر اینکه همه اونها هم که این کار رو کردند بعدا نظر من رو تایید کردند . با این حال باز به خودم شک کردم و تجربه خوبی که با Fedora Core 1 داشتم و رفتم توی Google و به دنبال Fedora Core 1 vs Redhat 9 گشتم و راستش توی اونجا هم انجمنی در این مورد بحث شده بود همه گفته بودند که Fedora Core 1 خیلی خوب و موفق بوده و نظر غالب این بود که Fedora Core 1 خیلی بهتر از Redhat 9 بوده . البته هر کس هم برای این نظر خودش دلیل داده بود .
منم دلیلم برای نظر خودم این است که اولا در Redhat 9 اگه تا حالا خودتون خواسته باشید kernel رو customize کنید ، یک سری مشکل در Compile وجود داره که در نسخه های دیگر نیست و باید حواستون بهشون باشه که در Fedora من این مشکلات رو نداشتم . ( حالا دوباره یه Redhat 9 پیدا کردم سعی می کنم دقیقا بگم که مشکلم باهاش چی بود ) و بعد هم اینکه این yum در Fedora واقعا نعمت خوب و بزرگی است . در ضمن اگه از X هم استفاده می کنید در Fedora Core 1 نسبت به Redhat 9 شما بدون نیاز به هیچ چیز اضافی تایپ و نمایش فارسی دارید و زندگی رو زیبا تر می بینید و در نهایت همه Package ها به نسخه های جدید بروز شده اند که این خودش باز مزیت هستش .
راستش باز به خودم شک دارم که آیا دارم اشتباه می کنم یا نه !!! یعنی دوست دارم بدونم واقعا مشکل این Fedora Core 1 چی بوده که گفته شکست خورده بوده ؟!
دوست دارم نظرات و تجربیات هرکس رو که علاقه داره بدونم .

June 18, 2004

مسیریابی بر اساس پارامترهای خاص

یکی از مسائلی که در بحث مسیر یابی در Router ها وجود داره ، استفاده از تکنیک های مسیریابی با استفاده از پارامتر های خاصی است ( به طور کلی Policy Routing گفته میشه ) . این پارامتر ها می توانند پارامتر های متنوعی باشند . به عنوان مثال مسیریابی بر اساس مبدا ، بر اساس TOS ، بر اساس پروتوکل مانند TCP یا UDP یا خیلی پارامتر های دیگر که در هر Packet وجود داره و شما می تونید بر اساس اونها تصمیم بگیرید .
به عنوان مثال در مورد مسیریابی بر اساس مبدا ( که یک نمونه پر کاربرد هستش و بر اساس همین نمونه می تونید بقیه رو هم متوجه بشید ) پارامتری که در مسیریابی مورد توجه قرار می گیرد مبدا تولید Packet می باشد .
فرض کنید یک Packet دست Router شما رسید ، در حالت عادی هر Router یه جدول مسیریابی ( Routing Table ) دارد که آدرسهای مقصد در آن به همراه مسیر آنها موجود است . در آخر این جدول یک گزینه Default Route وجود دارد که در صورتیکه آدرس مقصد در جدول مسیریابی پیدا نشد بر اساس مسیر Default Route عمل می کند . پس همانطور که می بینید همه تصمیمها بر اساس آدرس مقصد گرفته می شود و در مسیریابی عادی هیچ راهی برای تصمیم گیری بر اساس خصوصیات خود Packet نیست . به این معنا که همه یا شما مقصد آنرا می شناسید و بر اساس مسیر آن، آنرا هدایت می کنید ، یا اینکه در جدول مسیر یابی مسیر به خصوصی برای آن پیدا نمی کنید و آنرا تحویل مسیر Default Route خودتان می دهید .
حالا فرض کنید که شما یک دستگاه Router دارید ( خیال نکنید منظورم از Router مثلا Cisco یا دستگاه خاصی هستش ، router به مفهوم کلی می تواند یک دستگاه کامپیوتر معمولی هم باشد ) و دو ارتباط به اینترنت از طریق دو ISP مختلف و می خواهید از هر دوی این ارتباطات استفاده کنید . مشکلی که در این حالت عادی مسیر یابی وجود دارد این است که شما در مسیر یابی معمولی تنها می توانید یک default route داشته باشید ( حالا یا ملقمه ای از چند default route هنگامیکه Balance انجام می دهید ) در حالیکه در اینجا شما باید درخواستهایی که از مبدا آدرس های مربوط به هر کدام از ISP ها ایجاد شده را از طریق همان ISP مسیریابی کنید . پس ملاحظه می کنید که در اینجا مهمترین عامل در مسیریابی آدرس مبدا هستش . ( این حالت رو Source Routing هم می گویند )
حالا فرض کنید که Router شما یک دستگاه Cisco باشد . این کار با راحتی با دستوراتی شبیه به زیر قابل انجام است :


route-map ISP permit 10
match ip address ISP1-ACCESS-LIST
set ip default next-hop ISP1-GATEWAY
!
route-map ISP permit 20
match ip address ISP2-ACCESS-LIST
set ip default next-hop ISP2-GATEWAY
!


در اینجا شما باید یک access-list درست کنید که در آن مشخص کنید که آدرسهایی که از سمت ISP1 برای شما اختصاص یافته است چیست ( همچنین ISP2 ). سپس با گذاشتن IP Address مربوط به Gateway سرویس دهنده ISP1 می توانید دستور زیر را برای فعال سازی عمل Source Routing انجام دهید ( همچنین ISP2 ):


interface FastEthernet0/0
description Connected to Local Area Network
ip policy route-map ISP
....


حال فرض کنید شما از یک دستگاه Linux برای این کار استفاده کنید . به همین سادگی یک rule ایجاد کنید :


ip ru add from ISP1-IP-CLASS/BITMASK to 0/0 table 101 pref 101
ip ru add from ISP2-IP-CLASS/BITMASK to 0/0 table 102 pref 102


حالا می خواهیم source routing رو فعال کنیم :


ip route add table 101 via ISP1-GATEWAY
ip route add table 102 via ISP2-GATEWAY


دیدید این Linux چه خدائیه تو این قضیه . به نظر من مفهمومش خیلی از Cisco قشنگتره در این زمینه .
حالا FreeBSD رو داشته باشد . در FreeBSD همه این گونه اعمال توسط IPFilter انجام میشه . در حقیقت از یک زاویه دیگه به مساله نگاه کرده که نسبت به دید Cisco و Linux فرق داره .
فرض می کنیم که در etc/rc.conf/ گزینه ipfilter_enable=YES رو دارید . حالا با اضافه کردن دو خط به etc/ipf.rules/ کار تمام است :


pass in quick on de0 to fxp0:ISP1-GATEWAY from ISP1-IP-CLASS/BITMASK to any
pass in quick on de0 to fxp1:ISP2-GATEWAY from ISP2-IP-CLASS/BITMASK to any


کار تمام است . این هم برای خودش خدائی هستش . دقت کنید که در اینجا فرض کردم de0 در حقیقت interface مربوط به Local Area Network شما است و fxp0 هم Interface مربوط به ISP1 هستش و fxp1 هم مربوط به ISP2 هستش .
در کل نگاه Linux رو بیشتر می پسندم و تازه چون در Linux توسط دستور ip route انجام می شود خیلی بهتر است ، چرا که محدودیت های IPFilter را ندارد ( مثل اینکه وقتی تعداد packet زیاد میشود باید برید 100 جای سیستم محدودیت ها رو زیاد کنید و اینها ) .
حالا سعی می کنم در آینده توسط همین مبنا روشی رو توضیح دهم که شما بتوانید از سرویس دهنده های ایران که همگی Send رو برای IP های غیر از خودشون بستند ، Send داشته باشید :) حواستون باشه که Tunnel رو هم بستند معمولا پس باید به روشهای شیطانی روی آورد ;)

June 09, 2004

چه خبر از مخابرات ؟

حتما شنیدید که مجددا موج جدیدی از پلمپ کردن شرکت های سرویس دهنده اینترنت و پهنای باند به راه افتاده . گویا دفعه پیش خیلی چسبیده به بهشون و ایندفعه دست روی شرکت های بزرگتر گذاشتند ! البته نه اون بزرگ بزرگها ، اون یکم بزرگترها :) اصل قضیه هم گویا مساله فیلترینگ هستش که قوه قضائیه و شخص مدعی العموم به جد پیگیر قضیه هستش . دادگاهش هم دادگاه مفاسد اجتماعی ( یا همون منکرات خودمون ) هستش . همونطور که قبلا گفته بودم اصولا با فیلترینگ مخالف نیستم ، اما نحوه پیاده سازی و برخورد و پیگیری در این زمینه رو اصلا قبول ندارم و مطلب هم در موردش نوشته بودم .
اما یه خبر دیگه اینکه گویا مخابرات فعلا تا توسعه تجهیزات انتقال فیبر نوری اش از فجیره به جاسک و از آنجا به بندرعباس و بعد تهران ( یعنی همان خط Flag خودمون ) و ارتباط فیبر نوری با ترکیه و کویت فعلا مشکل کمبود پهنای باند دارد و برای حل این مشکل دست به دامن یکی از همین شرکت های ICP شده است . جالب است بدانید تا قبل از این مخابرات به هیچ یک از مشترکین خود با Protocol های Dynamic مسیر یابی ( مشخصا BGP ) متصل نمی شد . حالا قصد بحث فنی در مورد امکاناتی که Peer شدن با BGP در اختیار سرویس دهنده و سرویس گیرنده می گذارد ندارم ، اما بعد از اینکه تصمیم گرفته اند برای خرید پهنای باند به یکی از شرکت های ICP متصل بشوند این تلسم شکسته شده است و هم اکنون کسانی که از پهنای باند مربوط به شبکه تعاملی سروش ( وابسته به صدا و سیما ) استفاده می کنند دیگر لازم نیست برای دیدن سایت هایی که از خطوط مخابرات ایران استفاده می کنند دور دنیا رو طی کنند و از ایران همین سایتهای داخل ایران رو با تاخیر 1000 میلی ثانیه ببینند ، بلکه با Peer شدن این دو Backbone بزرگ کشور به یکدیگر هم کسانی که از سروش سرویس می گیرند یا با آن Peer هستند ( مانند جاهای خیلی بزرگی مثل IPM ، دانشگاه تهران ، دانشگاه شریف ، آزادنت و ایزایران و ... ) مخابراتی ها رو با تاخیر زیر 100 میلی ثانیه می بینند و هم بالعکس که باید این رو به فال نیک گرفت . علتش این هستش که با ایجاد یک تعامل داخلی بین سرویس دهندگان پهنای باند ، کلی ترافیک داخلی توسط خطوط داخلی انتقال می یابند و هم کارهایی اعم از Mirror کردن سایتهای بزرگ خارجی در داخل کشور و یا ایجاد Data Center ها با این قضیه کمی معنا پیدا می کنند . این رو باز تاکید می کنم که برای اینکه مخابرات 100 مگابیت پهنای بند از سروش خریداری کرده این اتفاق افتاده ، و الا با صحبتی که من با بچه های فنی سروش می کردم می گفتند که اصلا مخابرات توی این فکرا نبوده و اگه به اونا بوده هیچ موقع همچین کاری رو نمی کردند .
به هرحال سروش و مخابرات دو تامین کننده عمده پهنای باند در کشور هستند و انجام این مساله بسیار مهم بود . امیدوارم در آینده نزدیک دیگر ICP های کشور نیز به فکر Peer شدن با مخابرات بیفتند و با این کار شبکه قوی و کم تاخیر داخل کشور رو شاهد باشیم .

June 04, 2004

Plugin برای Mozilla

آقاجان اگر توی Mozilla Firefox نمی خواهید صفحات دارای Flash رو ببینید به این معنی که تبلیغات Flash و اینا که طول میکشه بیاد رو نمی خواهید اصلا ببینید و فقط محتوای صفحه رو می خواهید هیچ غصه نخورید ! اصلا این Mozilla خوبیش اینه که حجمش کمه اما بجاش هر چقدر بخواهید می تونید بهش Plugin اضافه کنید . برای صفحاتی که دارای Flash هستند کافیه یه سر به اینجا بزنید و این Plugin به نام Flashblock رو نصب کنید و پس از نصب این Plugin به راحتی می تونید صفحات رو تند تند Load کنید و هر جا که خواستید یک Flash رو ببینید راحت Click کنید و بگید اون Flash خاص رو براتون بیاره و نمایش بده .
یه Plugin به درد بخور دیگه ای که برای Mozilla هستش Live HTTP Headers هستش که می تونید خیلی راحت سئوال جوابهای Browser تون با اینترنت رو Header هاش رو ببینید و مثلا اطلاعات خوبی ازش در بیارید . مثل اینکه Web Server میزبان چیست ؟! یا اینکه اگر Cache Server در سر راه شما است آیا از داخل Cache خودش آن صفحه را HIT کرده یا اینکه صفحه را نداشته و MISS کرده و از روی اینترنت آورده است و یا اصولا خیلی اطلاعات دیگر که از روی Header ها می توان فهمید .
در ضمن اینروزا ضد انقلاب شایعه کرده که Opera بهتر از Mozilla شده :) قویا تکذیب می کنم ! گول قیافش رو نخورید :)