انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید




نویسنده موضوع: اشتراک گذاشتن اینترنت بین دو لینوکس  (دفعات بازدید: 12540 بار)

0 کاربر و 2 مهمان درحال مشاهده موضوع.

joje-linuxi

  • مهمان
اشتراک گذاشتن اینترنت بین دو لینوکس
« : 28 اردیبهشت 1386، 10:47 ق‌ظ »
سلام
من یه لپ تاپ دارم که روش dapperنصبه و یه pc که روش feisty نصبه من با لپ تاپ در یه شبکه وایرلس هستم و از طریق اون به اینترنت وصل میشم حالا چه جوری میتونم اینترنت رو بین این دو کامپیوتر share کنم؟

آفلاین platoali

  • Full Member
  • *
  • ارسال: 212
  • جنسیت : پسر
پاسخ به: اشتراک گذاشتن اینترنت بین دو لینوکس
« پاسخ #1 : 28 اردیبهشت 1386، 12:35 ب‌ظ »
می توانی با iptables  یک  NAT   سرور راه بندازی.
یکی را  gateway کن. فرض می کنیم که PC تو دارای  دو کارت شبکه هست. یک کارت شبکه ی تو از   ISP بوسیله ی dhcp     به اینترنت وصل می شود. و دیگری که کارت شبکه وابرلس هست به نوت بوک تو اینترنت می رساند.

اولین کاری که می کنی. در  pc  این گزینه را در کرنل فعال می کنی.

echo 1 > /proc/sys/net/ipv4/ip_forward
 بعد در  NAT TABLE این را فعال می کنی.

iptables -t nat -A POSTROUTING -o eth0  -j MASQUERADE
کارت eth0 کارتی هست که به ISP تو وصل می باشد. اگر از  DHCP استفاده نمی کنی. از این دستور استفاده کن:
iptables -t nat -A POSTROUTING -o eth0  -j SNAT  --to 192.168.10.22
این ip  هست که  از isp گرفتی. آن را مطابق شرایط خودت عوض کن.


joje-linuxi

  • مهمان
پاسخ به: اشتراک گذاشتن اینترنت بین دو لینوکس
« پاسخ #2 : 28 اردیبهشت 1386، 01:30 ب‌ظ »
سلا م وممنونم
ما در شبکه از dhcp استفاده میکنیم در این حالت چه تغییراتی باید داده بشه به این دستورات؟

مهمان

  • مهمان
پاسخ به: اشتراک گذاشتن اینترنت بین دو لینوکس
« پاسخ #3 : 28 اردیبهشت 1386، 02:00 ب‌ظ »
من اینو از آقا مهدی پرسیدم ایشون هم گفتن از دستور زیر استفاده کنم
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A POSTROUTING -t nat -o ppp0 -j MASQUERADE
ساده‌ترین راهه. شما به جای اون ppp0 باید آدرسی که ازش اینترنت دارید رو بگذارید. مثلا بگذارید eth0 یا eth1 یا...

آفلاین platoali

  • Full Member
  • *
  • ارسال: 212
  • جنسیت : پسر
پاسخ به: اشتراک گذاشتن اینترنت بین دو لینوکس
« پاسخ #4 : 28 اردیبهشت 1386، 02:01 ب‌ظ »
 فقط کافی است که از دو دستور اولی استفاده کنی. می توانی برای اطلاعات بیشتر به این آدرس ها مراجعه کنی:

یک howto ساده:

http://www.howtoforge.com/nat_iptables

برای اطلاعات بیشتر در مورد  iptables به سایت رسمی آن هم سر بزنی بد نیست. اطلاعات خوبی می توانی بدست بیاوری:

http://netfilter.org/

joje-linuxi

  • مهمان
پاسخ به: اشتراک گذاشتن اینترنت بین دو لینوکس
« پاسخ #5 : 28 اردیبهشت 1386، 02:44 ب‌ظ »
ممنون بابت جواب از همگی
مشکلی که هست اینه که دستوری رو که برای فعال کردن ایپی فورواد هست رو وقتی میرنم حتی با sudo ارور میده :Permisson denied

آفلاین platoali

  • Full Member
  • *
  • ارسال: 212
  • جنسیت : پسر
پاسخ به: اشتراک گذاشتن اینترنت بین دو لینوکس
« پاسخ #6 : 28 اردیبهشت 1386، 03:52 ب‌ظ »
 نباید مشکلی داشته باشد. مطمئن هستید که  رمز عبور را درست می زنید؟ در هر صورت یک راه دیگه هم هست ( ولی امید وارم که بقیه اعضای انجمن این را نخوانند. چون باعث می شود  یک عادت بد جا بیفتد و تمام منافع دستور sudo از بین برود )
sudo bash در این حالت شما وارد یک شل می شوید که با کاربر  root  دستورات را اجرا می کند.
در این حالت امتحان کنید ببینید جواب می دهد؟

joje-linuxi

  • مهمان
پاسخ به: اشتراک گذاشتن اینترنت بین دو لینوکس
« پاسخ #7 : 28 اردیبهشت 1386، 06:20 ب‌ظ »
ممنون بابت جوابتون با این روشی که گفتید شد.من این دستورات رو تو کدوم کامپیوتر بزنم؟در مورد شبکه هم من تو لپ تاپ با کارت وایرلس خودش اینترنت دارم  از طریق شبکه  که بوسیله وایرلس کامپیوتر ها شبکه شده اند و dhcp که در شبکه داریم ای پی میگیریم و به شبکه واینترنت متصل میشیم حالا من میخوام pcرو بوسیله کابل از طریق اپ تاپ به اینترنت متصل کنم 

آفلاین platoali

  • Full Member
  • *
  • ارسال: 212
  • جنسیت : پسر
پاسخ به: اشتراک گذاشتن اینترنت بین دو لینوکس
« پاسخ #8 : 28 اردیبهشت 1386، 06:57 ب‌ظ »
همان طور که اول هم گفتم، آن یکی هم که به اینترنت وصل هست و هم به شبکه داخلی باید به عنوان  gateway  استفاده شود. ببین کدوم یکی به  اینترنت وصله این دستور ها را توی آن بزن. فقط در اینجا جای eth0 اسم اینترفیسی که به اینترنت  وصل هست بزن. این قاعده کلی هست.

در مورد شبکه هم من گیج شدم. یعنی لپ تاپ تو از طریق یک کارت وایر لس همزمان هم به اینتر نت  وهم به شبکه داخلی وصل می شود، یا اینکه دو تا کارت وایرلس داری؟  اگر دو تا داری مشکلی نیست. اسم آن یکی که به خارج وصل هست را در دستور iptables  بزن بقیه کار ها خود به خود انجام می شود. ( در بقیه هم باید ip این کامپیوتر به عنوان default gateway  تنظیم شده باشند.)  اگر یکی هست  آنوقت موضوع فرق می کند. اگر خواستی می توانم در این مورد برایت دستور های لازم را بنویسم. فقط باید تنظیمات شبکه را  دقیق تر برایم پست کنی.

یک چیز عجیب این هست که چرا لپ تاپ را به عنوان  gateway  اتنخاب کردی. معمولا این کار را انجام نمی دهند.

-------------------------------------------------------------------------------------------------------------------------

می بخشید الان متوجه شدم که شبکه چه جوری بسته شده است. باید در لپ تاپ این دو دستور را بزنی. در مورد کارت شبکه که در لپ تاپ هست. باید یک  ip  که با کارت شبکه  pc  در یک رنج  باشند ولی با ip کامپیوتر های خارجی متفاوت باشند انتخاب کنی.

یک مثال

کارت وایرلس تو این  ip   را دارد. ۱۹۲.۱۶۸.۱۱.۲۰   با  netmask  ۲۵۵.۲۵۵.۲۵۵.۰

 می توانی کار شبکه لپ تاپ را اینجوری تنظیم کنی: ۱۹۲.۱۶۸.۱۲.۱   با netmask  ۲۵۵.۲۵۵.۲۵۵.۰  برایی این کارت  نباید که gateway تعریف شود.

کارت شبکه ی pc  هم می توانی این آدرس را داشته باشد: ۱۹۲.۱۶۸.۱۲.۲   با  netmask  255.255.255.0  و gateway  ۱۹۲.۱۶۸.۱۲.۱   که این همان آدرس کارت شبکه لپ تاپ هست.

فکر کنم که فهمیدی فضیه چی شد. بعد هم همان دستور های بالا را در لپ تاپ بزن. کارت راه می افتد
« آخرین ویرایش: 28 اردیبهشت 1386، 07:33 ب‌ظ توسط platoali »

joje-linuxi

  • مهمان
پاسخ به: اشتراک گذاشتن اینترنت بین دو لینوکس
« پاسخ #9 : 28 اردیبهشت 1386، 07:33 ب‌ظ »
معذرت میخوام مثله اینکه منطورمو خوب نرسوندم.ببینید ما یه adsl داریم که مودمش به یه روتر وایرلس وصله این روتر تو شبکه نقش dhcp رو هم داره  کلاینت ها از طریق کارت وایرلس از شبکه و اینترنت استفاده میکنند من هم برای این کار از لپ تاپ ام که کارت شبکه وایرلیس داره(eth1) استفاده میکنم .من بوسیله dhcp یه ایپی تو رنج ۱۹۲.۱۶۸.۱.۰تا  ۱۹۲.۱۶۸.۱.۲۵۵ میگیرم و به اینترنت وصل میشم .رو همین لپ تاپ من به کارت شبکه معمولی هم دارم (eth0)که ایپی ۱۹۲.۱۶۸.۰.۲ رو براش ست کردم حالا میخوام این اینترنت رو با کامپیوتر خونه شر کنم که ایپیش ۱۹۲.۱۶۸.۰.۱ هست و گیت وی اش هم  ۱۹۲.۱۶۸.۰.۲ .من اون دوتا دستور رو  باید در لپ تاپ اجرا کنم که به اون روشی که گفتید iptables رو اون رول رو بهش اضافه کردم ولی برای فعال کردن ایپی فورواردینگ هنوز همون مشکل هست دستور اجرا میشه ولی وقتی ip_forward رو با به ادیتور باز میکنم بازم صفر هست و نمیشه به یک تغییرش داد و سیو کرد و ارور میده:
"/proc/sys/net/ipv4/ip_forward"
WARNING: The file has been changed since reading it!!!
Do you really want to write to it (y/n)?
اول فکر کردم این لینوکسم مشکل پیدا کرده ولی تو pc هم که روش فیستی نصب کردم هم همین مشکل رو داره و نمیشه ip_forward رو تغییر داد

آفلاین platoali

  • Full Member
  • *
  • ارسال: 212
  • جنسیت : پسر
پاسخ به: اشتراک گذاشتن اینترنت بین دو لینوکس
« پاسخ #10 : 28 اردیبهشت 1386، 08:02 ب‌ظ »
 اول اینکه لازم نیست و اصلا درست نیست که فایل های داخل    شاخه ی proc را با ادیتور باز کنی. اگه خواستی داخل آن ها را ببینی با دستور cat  محتویات آن را ببین. این طوری مطمئن تر هست.


cat /proc/sys/net/ipv4/ip_forward

 دوم اینکه باز هم پوزش.   برای فعال کردن  ip_forwad در اوبونتو باید این کار را بکنی.  اطلاعات من یک خورده قدیمی هست. من عادت به روش های اوبونتو ندارم.

فایل زیر را ادیت کن و این خط را باید عوض کنی:

 # edit /etc/sysctl.conf


# Uncomment the next line to enable packet forwarding for IPv4
#net/ipv4/ip_forward=1
   

کافی هست که  #  را از اول خط بر داری یعنی این جوری:

 # edit /etc/sysctl.conf
# Uncomment the next line to enable packet forwarding for IPv4
net/ipv4/ip_forward=1
   

سیستم هم باید یک بار  ریبوت شود. فکر کنم الان مشکل تو حل بشود. در هر صورت با روش قبلی هم باید کار می کرد.  نباید به مشکلی بر می خوردی.
« آخرین ویرایش: 28 اردیبهشت 1386، 08:11 ب‌ظ توسط platoali »

آفلاین Mehdi

  • ناظر ویژه انجمن
  • *
  • ارسال: 3284
  • جنسیت : پسر
    • هزاردستان
پاسخ به: اشتراک گذاشتن اینترنت بین دو لینوکس
« پاسخ #11 : 29 اردیبهشت 1386، 09:15 ق‌ظ »
راستش در مورد ip forwarding در واقع کافیه که مقدار مقدار 0 تو فایل ip_forward بشه 1
platoali همون دستور echo کار رو راه میندازه! هم تو توزیعهای قدیمی و هم تو توزیعهای جدید... و البته این فایل sysctl.conf رو هم تا جایی که من دیدم همه توزیعها دارن. بنابراین برای فعال کردن ip forwarding دو راه دارید:
۱.
sudo -s -H
echo 1 > /proc/sys/net/ipv4/ip_forward

۲. ویرایش فایل etc/sysctl.conf/ و تغییر مقدار
#net.ipv4.conf.default.forwarding=1به
net.ipv4.conf.default.forwarding=1
تفاوت این دو روش هم در اینه که در روش اول ip forwarding بعد از reboot دوباره 0 میشه و بنابراین بعد از هر reboot ماشین باید اون دستور echo اجرا بشه...

platoali ممنون که به بحث کمک کردی :)
Of one Essence is the human race,
Thusly has Creation put the Base;
One Limb impacted is sufficient,
For all Others to feel the Mace.
~Saadi (persian poet) -1258
Hezardastan | Free As in Freedom

آفلاین platoali

  • Full Member
  • *
  • ارسال: 212
  • جنسیت : پسر
پاسخ به: اشتراک گذاشتن اینترنت بین دو لینوکس
« پاسخ #12 : 29 اردیبهشت 1386، 09:46 ق‌ظ »
البته در همه ی توزیع ها این طوری نیست( ولی در همه ی توزیع های اصلی هست) . من همیشه عادت داشتم که این را در سر اسکریپت اصلی فایروال بنویسم.(ترک عادت هم همیشه مورد مرض هست. :) ) در  slackware  هم یک اسکریپت هست که باید اگه بخواهیم فعالش کنیم باید به آن اجازه اجرا شدن را بدهیم.

chmod +x /etc/rc.d/rc.ip_forward 


آفلاین Mehdi

  • ناظر ویژه انجمن
  • *
  • ارسال: 3284
  • جنسیت : پسر
    • هزاردستان
پاسخ به: اشتراک گذاشتن اینترنت بین دو لینوکس
« پاسخ #13 : 29 اردیبهشت 1386، 10:02 ق‌ظ »
راستی یادم رفت بگم firestarter یه ابزار گرافیکی هست که کار به اشتراک گذاری اینترنت رو فارغ از این دستورات خیلی راحت و با یه تیک زدن انجام میده ;)
Of one Essence is the human race,
Thusly has Creation put the Base;
One Limb impacted is sufficient,
For all Others to feel the Mace.
~Saadi (persian poet) -1258
Hezardastan | Free As in Freedom

joje-linuxi

  • مهمان
پاسخ به: اشتراک گذاشتن اینترنت بین دو لینوکس
« پاسخ #14 : 29 اردیبهشت 1386، 10:59 ق‌ظ »
ممنون از همگی درست شد