۱۳۹۰ تیر ۱۷, جمعه

اشتراک اینترنت در لینوکس ...

چند وقتی بود میخواستم این پست رو بزنم اما خوب مشکل همیشگی در کار بود!
اشتراک اینترنت در لینوکس (یا internet sharing) موضوعی هست که اگر کسی چند وقتی با لینوکس کار کرده باشه و بخواد یکم پاشو از گلیمش درازتر کنه سراغش میره و بحث خیلی جالب و البته سختی هست.
در توضیح این کار باید بگم که فرض کنید بخواهید از لپ تاپی که متصل به اینترنت هست شما هم با یه سیستم دیگه اینترنت داشته باشید، خوب این کار در سیستم عامل ویندو-ز کار بسیار ساده ایست که با چند کلیک مشکل، به طور کلی حل میشه اما فرض ما بر این هست که سیستم اول از لینوکس و سیستم دوم از هر سیستم عاملی استفاده کنه، در این صورت کار کمی دشوار هست البته از راه عادی اما در
روشی که توضیح داده میشه کار بسیار ساده میشه!



بیشتر کاربرانی که قصد انجام این کار را کرده باشند به این موضوع که این کار برای کسی که از شبکه تخصصی نداره (مثل من!) سخت هست واقف هستند،راه عادی این کار استفاده از ترمینال و زدن دو دستور زیر الیته با شرایطی که برای متغیرها تعریف میشه و البته خیلی مطالب پیش نیاز هست :


echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


که الیته بنده روی این روش بحث نخواهم کرد.
اما روش دوم و به مراتب آسان تر برای اشتراک اینترنت روشی است که توضیح خواهم داد:
برای نصب پکیح dhcp3-server و برنامه firestarter دستور زیر را (در دبیان) وارد میکنیم :


sudo apt-get install dhcp3-server firestarter$


سپس برای سپس برای شناساندن سخت افزار مورد استفاده شبکه (Ethernet) از مسیر زیر فایل تنظیمات dhcp3-server را باز میکنیم و عبارت eth0 و یا هر سخت افزار دیگری که شبکه اصلی از آن استفاده میکند را وارد می کنیم :


etc/default/dhcp3-serve/


که کدی شبیه زیر خواهیم داشت :


"INTERFACES="eth0


پس از انجام مرحله فوق اگر برای اتصال به شبکه کانکشنی برای اتصال به شبکه ندارید باید یک کانکشن جدید بسازید که برای مثال به شکل زیر می باشد :


IP Add: 10.0.0.1 or 192.168.X.XX
Netmask: 255.255.255.0
Gateway: 0.0.0.0


و حتما اگر از Network manager برای مدیریت تنظیمات شبکه خود استفاده میکنید باید تیک گزینه available to all users را بگذارید.البته این مربوط به حالتی است که بیش از یک کاربر از سیستم استفاده میکند.
سپس برنامه firestarter را که در ابتدا نصب کردیم را باز و از منوی edit گزینه preferences را انتخاب و به تنظیمات این برنامه میرویم و از قسمت Network Settings تنظیمات شبکه را انجام میدهیم.


تیک دو گزینه Enable internet connection sharing و Enable DHCP for the local network را گذاشته از قسمت DHCP server details گزینه create new DHCP configuration را انتخاب و محدوده IP را وارد میکنید .این محدوده مربوط به سیستم هایی است که میخواهند از این سیستم IP بگیرند و نکته مورد توجه این است که این محدوده باید با range IP که برای شبکه خود وارد کردید یکسان باشد.
در مورد دو قسمت ابتدایی تنظیمات این بخش باید در قسمت اول هنگامی که به اینترنت متصل هستید گزینه ppp0 را انتخاب و برای قسمت دوم گزینه eth0 .(در صورتی که سخت افزار دیگری را برای شبکه در نطر دارید میتوانید آنرا در این قسمت انتخاب کنید.)
در پایان باید شکلی شبیه شکل زیر را خواهید داشت :


لازم به ذکر است با اولین بار باز کردن این نرم افزار Wizardی شامل این تنظیمات به شما نشان داده میشود که شبیه تنظیمات فوق است .


در آخر گزینه accept را انتخاب و دستور زیر را در ترمینال میزنیم :


sudo /etc/init.d/dhcp3-server restart$


حال با اتصال یک کامپیتور دیگر به این سیستم و تنظیم شبکه سیستم دوم برای IP گرفتن به صورت اتوماتیک میتوانید زمانی که سیستم اول به اینترنت متصل است در سیستم دوم هم اینترنت را داشته باشید.


نکته : در صورت عدم کارایی، یکبار ۳ مورد شبکه، firestarter و dhcp3-server را ریست کنید.
============
پ.ن ۰ : روش اول را میتوانید در این لینک بیشتر بخوانید.
پ.ن ۱ : مطلب فوق را فقط درباره موضوع مورد بحث توضیح دادم و تمامی اعمال بسیار ساده و کاربردی در نظر گرفته شده است.پس ممکن است در برخی نکات امکان توضیح بیشتر باشد که با هدف این متن نزدیکی ندارد.
پ.ن ۲ : firestarter یک محیط گرافیکی برای Firewall در لینوکس است .بیشتر بخوانید در Refrence 2.
============
Refrence 0
Refrence 1
Refrence 2

۳ نظر:

  1. راهنمای جالبی بود اما من یک مشکل داشتم در فایل
    etc/default/dhcp3-serve/
    گزینه "INTERFACES="eth0 وجود نداشت.
    قبلا من یک کد اینجا دیدم که برای همین کار بود و روش استفاده آسانی داشت در این آدرس:
    http://www.ataeyan.com/www/?p=950
    اما تصور میکنم بهتر است از یک برنامه استفاده کنم و به نظرم برنامه firestarter‌برنامه خوبی خواهد بود. اما متاسفانه با مشکل بالا مواجه شدم. من این کد را برای یک کافی‌نت میخواهم و در لینوکس تازه‌کار هستم

    پاسخحذف
  2. درود
    دوست عزیز اگر از از مسیری که گفته شده فایل مورد نظر رو پیدا کردید باید این خط رو به اون اضافه کنید.
    "INTERFACES="eth0
    و اگر از توزیعی مانند دبیان (۶ به بعد) استفاده میکنید که در این مسیر چنین فایلی رو پیدا نخواهید کرد و باید از این مسیر آنرا تنظیم کنید:
    /etc/default/isc-dhcp-server
    در ضمن برای راه اندازی مجدد dhcp3 باید از این مسیر اقدام کنید :
    /etc/init.d/isc-dhcp-server
    موفق باشید.

    پاسخحذف