این دفعه هم خیلی زود با یه تجربه پراکنده دیگه برگشتم(فعلا توی تعطیلاتم و دوست دارم بنویسم) همیشه داشتن وب سایت و دامنه شخصی آدم رو به این فکر میندازه که از یک ایمیل توی همون دامنه استفاده کنه و ایمیل هاش رو بفرسته و بگیره اما همیشه خود من یک ایراد اساسی داشتم که سرویس دهنده های هاست سرویس ایمیلی که ارائه می‌کنند کاربر پسند نیستند و من هیچوقت نتونستم از اونها استفاده کنم. اما بعد از یه مدت دیدم که دوستانم از جیمیل برای چک کردن ایمیل وب سایتشون استفاده میکنند که من رو به تعجب وا داشت. بعد از خوندن در این مورد دیدم که اونها از امکانی به نام google services استفاده میکنند که اخیرا هم از مجانی بودن در اومده هم ایران رو تحریم کرده. بعد از گذشتن یه مدت و با روی کار اومدن سرویس outlook.com کنجکاو شدم که آیا این سرویس توسط outlook.com هم ارائه میشه یا نه. که دیدم میشه و کلی خوشحال شدم. راهش هم خیلی ساده است.

  1. اول به سایت domains.live.com میرید و با اکانت outlook.com لاگین میکنید
  2. یه رکورد MX به DNS دامنه اضافه میکند که خود outlook.com در اختیارتون میگذاره
  3. چند دفعه دکمه refresh رو توی سایت اول زده تا متوجه بشه که dns شما ست شده
  4. اکانتهاتون رو اضافه میکند و لذت میبرید

همین!

بروزرسانی: متاسفانه این سرویس از حالت عمومی خارج شده و برای اونهایی هم که از قبل این سرویس رو داشتن تا ۳۱ جولای ۲۰۱۴ فعاله.

اینم یه تجربه پراکنده دیگه.

ایندفعه قراره از یکی از کارهایی که توی خونه برای اثبات خودم به خودم انجام داده بگم. این تجربه تو زمینه شبکه و این حرفاست. من در یکی از جاهایی که کار میکردم با یه سیستم مسیریاب/دیواره آتش متن باز به نام pfSense کار کردم که بسیار به علم شبکه و نرم افزار من اضافه کرد. این یک سیستم عامل freeBSD خاص منظوره برای کارهای شبکه است. یعنی دوستانی در دنیا پیدا شدن که freeBSD رو با برخی ویژگی‌های openBSD که اولی به بهینه بودن معروفه و دومی به امنیت مریض گونه اش ترکیب کردند و یه سیستم عامل سبک برای مدیریت شبکه راه انداختن. البته سیستم های متن باز مشابه این سیستم وجود داره که لیستش اینجاست.

این پروژه از دل یه پروژه دیگه به نام m0n0wall در اومده و با تغییر هدف گزاریش سعی کرده راه متفاوتی از پروژه اصلی بره. هدف پروژه اصلی کار این سیستم عامل رو دستگاه‌های embedded بوده که خب بخاطر محدودیت سخت افزار بسیاری از ویژگی‌ها روی m0n0wall امکان پذیر نیست اما pfSense هدفش رو روی کاربردها گذاشته به همین خاطر با دستگاه‌های embedded زیادی تطبیق نداره. فکر کنم همین مختصر کافی باشه برای رفتن سراغ اصل مطلب. اگه عمری بود شاید بصورت دقیق این سیستم ها رو معرفی کردم.

خب اول بگم که در مجموع میخواستم چه کاری انجام بدم. فکر کنم برای دید بهتر باید بگم که مثل هرجای دیگه خونه من هم دو سمت داره. یه سمت اینترنت که یه ای دی اس ال و یه وایمکس مسئول آوردن اینترنت به خونن و فقط وایمکس در مواردی که ای دی اس ال درست کار نمیکنه مورد استفاده قرار میگیره و توی خونه هم یه لپ تاپ یه پی سی قدیمی و چند تا موبایل وجود داره. همین. وظیفه هر کدوم از دستگاه‌ها هم اینه. پی سی مسئول فایل شرینگ و دانلود شبانه از اینترنت هست. مابقی دستگاه‌ها هم تنها به اینترنت وصل میشن. پس یعنی سرویس خاصی مورد نیاز نیست.

اما بگم چرا رفتم سراغ این سیستم. اول اینکه دوست داشتم! دوم اینکه چند مشکل بود که باید حل میشد. یکی از مشکلاتی که من برخود میکردم اینه که وقتی تورنت در حال اجرا بود مودم دیگه به مابقی درخواست‌ها جواب نمیداد چون بخاطر پردازنده محدودش حداکثر یه تعداد محدودی کانکشن باز میتونست داشته باشه چون وقتی از  NAT استفاده میشه بایستی مودم یا روتر وضعیت کانکشن ها رو نگه داره که وقتی دستگاه محدود باشه این تعداد محدود میشد. دومین مشکل کیفیت بد DNS توی کل خونه بود. چون بعضی وقتا یه درخواست DNS روی سرورهای آی اس پی نبود و باید میرفتم سراغ DNSهای معروف مثل ۴٫۲٫۲٫۴ یا ۸٫۸٫۸٫۸ که خب ایراداتی داشت و یکی از مهمتریناش زمان به نسبت زیاد جواب به این DNS هاست.

خب اگه بخوام بگم چیکار کردم. بصورت مرحله به مرحله این کارها رو انجام دادم. ا

  1. بهینه سازی سیستم فایل سرور موجود: من برای فایل سرورم توی خونه از یه کامپیوتر قدیمی با یه گیگ رم و یه سی پی یوی سمپرون تک هسته ای سه هزار استفاده میکنم. که بنا به صلاح دیدم که بشه از اون کامپیوتر استفاده دیگه ای هم کرد روش یه ubuntu desktop 12.04 نصب کردم و samba سرور رو هم راه اندازی کردم. اما بخاطر استفاده از unity حجم زیادی از رمم مورد استفاده بود. بعد از جستجوهای بسیار یه desktop manager خوب پیدا کردم به نام enlightenment که رم استفاده شده توی سیستم رو از حدود ۷۰۰ مگ به ۱۲۰ مگ کاهش داد که این خودش بسیار کار بزرگی بود.
  2. نصب و راه اندازی virtual box: بعد روی این سرور با دردسر زیاد virtual box رو نصب کردم و یه ماشین مجازی که خود pfSense آماده کرده رو نصب کردم و دو سمت شبکه رو با استفاده subnet mask از هم جدا کردم.
  3. پیکربندی pfSense: حالا نوبت به پیکربندی pfSense میرسه که برای اینکار یه کانکشن pppoe ساختم توی سمت اینترنت و توی سمت شبکه داخلی یه DHCP سرور تنظیم کردم. برای رفع مشکل DNS از DNS masqe استفاده کردم و گفتم که در وهله اول از DNSهای آی اس پی استفاده کنه و در اولویت بعد بره سراغ سرورهای معروف. یه ویژگی دیگه هم اینه که این سیستم به مدت محدود رکوردهای DNS رو Cache میکنه و سرعت DNS بالا میره. برای دانلود تورنت هم یه Inbound NAT استفاده کردم و گفتم یه سری پورت برای تورنت به دانلودر تورنتم وصل بشه. مشکل تعداد کانکشن هم بخاطر قدرت بیشتر این سیستم و رم بالاترش بصورت خودکار رفع شده بود.
  4. تنظیم نهایی Virtual Box: در نهایت باید Virtual Box رو بگونه ای تنظیم کرد که در ابتدا شروع سیستم ماشین مجازی روتر رو روشن کنه و در خاموش شدن سیستم این ماشین مجاز رو خاموش کنه. خود Virtual Box این کار رو انجام میده و فقط نیاز به یه سری تنظیمات داره که اگه عمری بود در موردشون بعدا یه پست کامل مینوسم.

همین! امیدوارم به درد کسی بخوره. مرحله بعدی این سیستم اینه که بتونم از ای دی اس ال و وایمکسم بصورت همزمان و بصورت مدیریت شده استفاده کنم که فعلا وقت نکردم روش وقت بگذارم. باید ببینم کی دوباره وقت خوب پیدا میکنم یکم این اثبات رو پیش ببرم.