لطفا وارد شوید یا ثبت‌نام کنید تا به انجمن‌ها دسترسی کامل داشته باشید.



 
امتياز موضوع :
  • 0 رأي - معدل امتيازات : 0
  • 1
  • 2
  • 3
  • 4
  • 5
سوال: Route کردن ترافیک eth1 به eth0
2012-06-23, 09:29 AM,
ارسال : #1
سوال: Route کردن ترافیک eth1 به eth0
درود
من بر روی vmware یک لینوکس Redhat Enterprise و یک ویندوز xp دارم.
روی لینوکس دو کارت شبکه دارم با مشخصات زیر

کارت شبکه eth0:
کد :
inet addr:192.168.159.134  Bcast:192.168.159.255  Mask:255.255.255.0

و کارت شبکه eth1:
کد :
inet addr:10.10.20.254  Bcast:10.10.20.255  Mask:255.255.255.0

من بر روی eth0 اینترنت دارم و gateway من بر روی لینوکس 192.168.159.2 می باشد.
کلاینت ویندوز xp من از طریق سرویس dhcp بر روی لینوکس IP در رنج کارت شبکه eth1 می گیرد.
ip ای که الان کرفته است در زیر می نویسم.
کد :
Connection-specific DNS Suffix  . : gigil.loc
IP Address. . . . . . . . . . . . : 10.10.20.253
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 10.10.20.254

حال، سوال من این است برای اینکه بر روی ویندوز xp هم اینترنت داشته باشم باید چه کاری انجام دهم. جست جو که کردم فهمیدم که از کامند های ip , route می شه استفاده کرد. اما متاسفانه نتونستم درک درستی از مطالب موجود داشته باشم.

می خوام که تمام دستگاه هایی که به eth1 هستند اینترنت داشته باشند.

با تشکر

a2256552634204c7279c82958d5587ff
به بهشت نمی روم، اگر مادرم آن جا نباشد
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2012-06-23, 12:46 PM,
ارسال : #2
Re: سوال: Route کردن ترافیک eth1 به eth0
برای Route کردن چند تا کار باید انجام بدین:
۱. پشتیبانی از packet forwarding را فعال کنید: sysctl net.ipv4.conf.all.forwarding
۲. iptable را تنظیم کنی: /sbin/iptables -t nat -A POSTROUTING -o eth0 -s eth1 -j MASQUERADE
۳. gateway کلاینت‌هات رو روی آدرس سرورت (آدرس کارت شبکه eth1) تنظیم کنی.
مشاهده تارنمای کاربر جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2012-06-23, 01:41 PM,
ارسال : #3
Re: سوال: Route کردن ترافیک eth1 به eth0
sadeqn نویسنده :برای Route کردن چند تا کار باید انجام بدین:
۱. پشتیبانی از packet forwarding را فعال کنید: sysctl net.ipv4.conf.all.forwarding
۲. iptable را تنظیم کنی: /sbin/iptables -t nat -A POSTROUTING -o eth0 -s eth1 -j MASQUERADE
۳. gateway کلاینت‌هات رو روی آدرس سرورت (آدرس کارت شبکه eth1) تنظیم کنی.


کد :
net.ipv4.conf.all.forwarding = 1

کامندی که شما دادید برای تنظیم کردن iptable رو وفتی اجرا می کنم، پیغام زیر را می دهد. ممکنه که راهنماییم کنید مشکل چیست ؟
کد :
[root@mjlinuxtxt ~]# /sbin/iptables -t nat -A POSTROUTING -o eth0 -s eth1 -j MASQUERADE
iptables v1.3.5: host/network `eth1' not found

a2256552634204c7279c82958d5587ff
به بهشت نمی روم، اگر مادرم آن جا نباشد
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2012-06-24, 06:45 AM,
ارسال : #4
Re: سوال: Route کردن ترافیک eth1 به eth0
میگه هاست eth1 وجود نداره. که البته اشتباه از من بود. به جای -s باید -i استفاده کنید. -s برای مشخص کردن آدرس مبدا استفاده می‌شه و -i برای مشخص کردن کارت شبکه مبدا!
مشاهده تارنمای کاربر جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2012-06-24, 08:19 AM,
ارسال : #5
Re: سوال: Route کردن ترافیک eth1 به eth0
من با استفاده از لینک زیر مشکلم بر طرف شد
[url]
<!-- m --><a class="postlink" href="http://www.revsys.com/writings/quicktips/nat.html">http://www.revsys.com/writings/quicktips/nat.html</a><!-- m -->
[/url]

ابتدا فایل زیر را طبق ساختم تا به کرنل بگوییم ما می خواهیم از IP Forwarding استفاده کنیم.
تمام کامند ها و تغییرات زیر باید توسط کاربر root زده شود.

کد :
# echo 1 > /proc/sys/net/ipv4/ip_forward



همان طور که گفتم می خواستم از eth1 که کارت شبکه internal من است به eth0 که external هست IP Forwarding داشته باشم (که البته نمی دونستم تا پیش از این که باید هم چین کاری کنم) :wink:

سپس با استفاده از کامند های زیر در iptable، با استفاده از nat این کار را انجام می دهیم. (البته مفهوم تقریبی کامند های زیر رو می دونم اما اگر کسی از دوستان می تونند برامون واکشی کنند و یک مقدار بیشتر توضیح بدند خیلی کمکمون می کنه)

کد :
# /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# /sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
# /sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

بعد از اجرای کامند های بالا نیاز به این داریم که فایل sysctl را ویرایش کنیم.
کد :
# vi /etc/sysctl.conf

و خط net.ipv4.ip_forward = 0 را به net.ipv4.ip_forward = 1 تغییر می دهیم. این کار به سیستم عامل می گوید که در هنگام بوت مرحله اول را انجام دهد.

حا تنها کاری که مانده ویرایش کردن فایل iptabale است:
کد :
# vi /etc/sysconfig/iptables-config

و خطوط IPTABLES_MODULES_UNLOAD، IPTABLES_SAVE_ON_STOP و IPTABLES_SAVE_ON_RESTART را به yes تغییر می دهیم.



با انجام این کار ها بر روی کلاینت ویندوز xp پینگ به خارج دارم ولی مشکل dns دارم و نمی دونم اصلا این مشکل از کجاست.
یعنی با استفاده از IP می تونم یک سایت را باز کنم اما با domain اصلا نمی تونم این کار رو انجام بدم.


 

a2256552634204c7279c82958d5587ff
به بهشت نمی روم، اگر مادرم آن جا نباشد
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2012-06-25, 08:02 PM,
ارسال : #6
Re: سوال: Route کردن ترافیک eth1 به eth0
DNS سرور را روی XP ست کردی؟ پیشنهاد می‌کنم یکی از DNSسرورهای پابلیک را برای تست به عنوان DNSسرور اضافه کنی.
در ضمن توی خط مربوط به iptable که نوشته بودی فکر کنم فقط خط اول کافیه.
مشاهده تارنمای کاربر جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2012-06-26, 08:06 AM,
ارسال : #7
Re: سوال: Route کردن ترافیک eth1 به eth0
DNS رو تنظیم کردم اما مشکلی که هست، وقتی فایروال رو disable می کنم پکت های dns عبور می کنند اما وقتی enable هست، پکت های dns رد نمی شن، رول زیر رو هم هم نوشتم.


کد :
iptables -A OUTPUT -p udp -o eth0 --dport 53 -j ACCEPT
iptables -A INPUT -p udp -i eth0 --sport 53 -j ACCEPT

iptables -A OUTPUT -p udp -o eth1 --dport 53 -j ACCEPT
iptables -A INPUT -p udp -i eth1 --sport 53 -j ACCEPT

a2256552634204c7279c82958d5587ff
به بهشت نمی روم، اگر مادرم آن جا نباشد
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2012-06-26, 04:48 PM,
ارسال : #8
Re: سوال: Route کردن ترافیک eth1 به eth0
tcp هم علاوه بر udp اضافه کنید.


اکنون در ubuntu.ir با نام کاربری nixoeen فعال هستم.
وب‌سایت شخصی من
مشاهده تارنمای کاربر جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ


رفتن به انجمن :


کاربران در حال مشاهده موضوع : 1 مهمان