كارت dvb , كارت دي وي بي , دی وی بی , رسيور , رسیور

فروشگاه سايت

تبليغات

آخرين ارسالي‌هاي لینوکس

راه اندازی Nat در لینوکس

اين يك بخش از موضوع راه اندازی Nat در لینوکس است كه در انجمن لینوکس مطرح گرديده و اين انجمن نيز زير مجموعه‌ي مقالات آموزشی است: SNAT=source address transtlation DNAT=destination address translation راه اندازی SNAT با iptables : SNAT یکی از پرکاربردترین انواع nat با iptables بدلیل نوع توپولوژی مورد استفاده میباشد. اجازه بدید برای نمونه سناریو زیر را بررسی کنیم : شبکه 192.168.1.0/24 داخل دفتر ماست.یک ارتباط ethernet با تامین کننده اینترنت داریم که آدرس ...

 

بازگشت   انجمن های آموزشی پارس > بخش های تخصصی آموزشی شبکه و سرور > مقالات آموزشی > لینوکس


لینوکس لینوکس

اطلاعيه‌هاي سايت

 

لطفاً پيش از فعاليت در سايت، قوانين سايت را مطالعه نماييد

كليه‌ي كاربراني كه توانايي مديريت هر يك از بخش‌هاي سايت را دارند، با كليك روي اين لينك به مديريت سايت اطلاع دهند


پاسخ

 

LinkBack ابزارهای موضوع
قدیمی Tuesday 15 January 2008, 01:05 PM   #1
کاربر نقره‌ای
 
jamshid آواتار ها
 

تاریخ عضویت: May 19th, 2006
نوشته ها: 1,184

سطح دانش: 30 [♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥]
سابقه در سایت: 72 / 725
قابليت: 394 / 6640
ميزان تجربه: 2%

Thanks: 75
Thanked 768 Times in 401 Posts
قدرت اعتبار: 5 jamshid is on a distinguished road
پیش فرض راه اندازی Nat در لینوکس

SNAT=source address transtlation
DNAT=destination address translation
راه اندازی SNAT با iptables :
SNAT یکی از پرکاربردترین انواع nat با iptables بدلیل نوع توپولوژی مورد استفاده میباشد.
اجازه بدید برای نمونه سناریو زیر را بررسی کنیم :
شبکه 192.168.1.0/24 داخل دفتر ماست.یک ارتباط ethernet با تامین کننده اینترنت داریم که آدرس ip که به ما اختصاص دادند 1.2.3.1/30 و gateway پیش فرض هم 1.2.3.2 میباشد.
همه کامپیوترهای داخل 192.168.1.0/24 با خروجی پیش فرض 192.168.1.1 تنظیم شده اند.





روتر لینوکس ما دارای 2 تا کارت شبکه میباشد :
1-Eth0 با ip آدرس 192.168.1.1 و netmask=255.255.255.0 به یک سوییچ که با بقیه سیستم ها در شبکه 192.168.1.0/24 ارتباط دارد متصل میباشد.
2-Eth1 با ip آدرس 1.2.3.1 و netmask=255.255.255.252 به تامین کننده اینترنت متصل میاشد.
ما میتونیم SNAT رو برای همه سیستم ها در 192.168.1.0/24 راه بیاندازیم فقط با یک rule
کد:
iptables -t nat - A POSTROUTING -s 192.168.1.0/24 -j SNAT --to 1.2.3.1
این دستور اثری مشابه دستور زیر داره که ما استفاده میکنیم اگر آدرس eth1 , ip بصورت پویا اختصاص داده میشود یا اگر ما از dial-up modem بجای یک کارت شبکه استفاده میکنیم :
کد:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
تصور کنید تامین کننده ما همه ی پورت های بالایتر از 1024 را فیلتر کرده است.در این صورت ما نیاز به تغییر پورت منبع(source) هم داریم و نه فقط آدرس های ip منبع .
این تغییرات بدین شکل قابل انجام میباشد :
کد:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to 1.2.3.1:1-1024
یکی از کابران در شکل قیلی از طرفداران IRC هست و با شما تماس میگیره و میگه که نمی تونه به هیچ یک از شبکه های IRC وصل شه.این معنیش اینه که ماژول ip_conntrack نیاز به کمی کمک داره و ما میتونیم کمکش کنیم با قرار دادن ip_conntrack_irc ماژول در کرنل.همچنین ممکنه ما بخوایم به کاربرا اجازه بدیم تا ارتباطات ftp رو با موفقیت انجام بدن پس ماژول ip_conntrack_ftp رو در کرنل اضافه میکنیم.
کد:
modprobe ip_conntrack_irx   #or  insmod ip_conntrack_ircmodprobe ip_conntrack_ftp   #or  insmod ip_conntrack_ftp
بعد از چند هفته بقیه کابرها هم به استفاده از IRC روی میارن و شروع به شکایت در مورد اتصال به IRC میکنن چون شبکه IRC اجازه چند ارتباط محدود از یک ip خاص رو میده پس ما تصمیم گرفتیم که با افزایش ip ها این مشکل رو حل کنیم.حساب کردیم که 32 تا آدرس ip کافی هست برای اونها پس به تامین کننده اینترنت تماس گرفتیم و درخواست ip ادرسهای بیشتر رو دادیم و اونها به ما 1.2.4.0/27 رو اختصاص دادند.ما میباست rule اولیه رو اینجوری تغییر بدیم :
i
کد:
ptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to 1.2.4.0-1.2.4.32
شکایت کاربرا قطع میشه ولی ما میدونیم که public ip address کامپیتر لینوکس ما در دستور بالا استفاده نمیشه برای nat , پس اون رو هم اضافه میکنیم
کد:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to 1.2.4.0-1.2.4.30 --to 1.2.3.1
یکی از کاربرا در یک شبکه irc اختلال ایجاد میکنه در حالیکه ip اون به 1.2.4.15 ترجمه شده بود..این ip به لیست ip به لیست فیلترینگ اضافه میشه و ما نیاز داریم که این آدرس رو از nat خارج کنیم
کد:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to 1.2.4.0-1.2.4.14 --to 1.2.4.16-1.2.4.32 --to 1.2.3.1
یکی از کاربران با Ip ادرس 192.168.1.19 شکایت میکنه که نمیتونه به هیچ کامپیوتری با آدرس ip های بالاتر از 192.168.1.32 دسترسی داشته باشه.این امکان وجود داره که کاربر مورد نظر netmask رو به 255.255.255.227 تغییر داده باشه , پس همه ip packet ها از کامپیوتر اون به کامپیوترهای داخل 192.168.1.0/24 که داخل 192.168.1.0/27 نیستند از طریق روتر لینوکسی ما عبور میکنند و ادرسشون ترجمه میشه(SNATED). برای حل این مشکل ما 2 راه حل داریم.
اول اینکه SNAT برای 192.168.1.0/24 وقتیکه مقصد کامپیوتری دیگر در 192.168.1.0/24 هست صورت نگیرد :
کد:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j SNAT --to 1.2.4.0-1.2.4.30 --to 1.2.3.1
دومین گزینه ما اینه که SNAT فقط برای بسته هایی که از eth1 خارج میشوند صورت پذیرد :
کد:
iptables -t nat -A POSTROUTNG -s 192.168.1.0/24 -o eth1 -j SNAT --to 1.2.4.0-1.2.4.32 --to 1.2.3.1
فرض کنید ما میخواهیم به یک شبکه دیگر در vlan خودمون با آدرس 192.168.2.0/24 بدون انجام SNAT متصل شویم :
کد:
iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -d 192.168.2.0/24 -j ACCEPT
این دستور rule رو قبل از nat rule قرار میده پس اگر هر بسته ای از 192.168.1.0/24 برای 192.168.2.0/24 فرستاده شده این ruleاعمال میشه و زنجیره آنالیز بیشتر رو ادامه نمیده و SNAT صورت نمیگیره.
تاج ملک ملوک , منشی شرکت , به درست کرن چای عالی معروفه ولی از وقتی عاشق IRC شده دیگه خبری از چای و ... نیست.مدیر نمیخواد اونو بندازه بیرون چون به چای تاج ملک ملوک معتاد شده(شاید علت دیگه داره!!) پس میاد پیش ما و درخواست میکنه تا این مشکل و حل کنیم.چند تا راه حل داریم :
از بین بردن بسته هایی از کامپیوتر تاج ملک ملوک (192.168.1.31) که سعی در دسترسی به پورت های 6666 تا 6669 دارند در زنجیره POSTROUTING :
کد:
iptables -t nat -I POSTROUTING -s 192.168.1.31 -p tcp --dport 6666:6669 -j DROP
یا از مدیر میپرسیم دوست داره تاج ملک ملوک چه کاری اجازه انجام داشته باشه , مدیر هم مثلا میگه فقط به وب دسترسی داشته باشه :
کد:
iptables -t nat -I POSTROUTING -s 192.168.1.31 -p tcp --dport 80 -j DROP
این rule آدرس ip تاج ملک ملوک رو SNAT نخواهد کرد وقتی سعی در دسترسی به چیزی جز پورت 80 tcp داشته باشد.ولی همچنان به سرویس های udp دسترسی خواهد داشت.
راه اندازی DNAT با iptables :
ما همچنان با سناریو قبلی برای DNAT هم ادامه خواهیم داد.یک روز مدیر تماس میگیره و میگه که از خونه میخواد به کامیپوترش دسترسی داشته باشه.پر واضحه که اون الان نمی تونه دسترسی داشته باشه چون Ip کامپیوترش در اداره 192.168.1.50 هست.ما تصمیم گرفتیم که یکی از ip های معتبر رو برای کامپیوترشون اختصاص بدیم ولی اگر بیایم این ip رو به eth0 کامپیوتر مدیر واگذار کنیم هم چند Ip معتبر از دست میدیم هم مدیر به کامیپتر های داخل شبکه دیگه دسترسی نخواهد داشت.راه حل در ترجمه یک ip معتبر(1.2.4.1) به ip غیر معتبر (192.168.1.50) کامپیوتر مدیر میباشد.
البته این معنیش DNAT ldfhan:
کد:
iptables -t nat -A PREROUTING -d 1.2.4.1 -j DNAT --to 192.168.1.50
کار بعدی اینه که با مدیر تماس گرفته و پس از یه پاچه خواری تر وتمیز بهشون میگیم برای دسترسی به کامپیوترشون از ip آدرس 1.2.4.1 استفاده کنند.
سرور داخلی ما ip آدرس 192.168.1.100 دارد.یکی از بر و بچ بخش مالی تماس میگیره و درخواست میکنه تا به سرور از خانه بتونه وصل بشه که شما چون وامتون تو نوبته ابن کا رو انجام میدید و ip معتبرشو (1.2.5.17) ازش میگیرید و میگید برای دسترسی از ip آدرس 1.2.4.2 استفاده کنه , ما هم این طور عمل میکنیم :
کد:
iptables -t nat -A PREROUTING -s 1.2.5.17 -d 1.2.4.2 -p tcp --dport 80 -j DNAT  --to 192.168.1.100
ما میخوایم به سرور از طریق ssh از خارج از شرکت بتونیم وصل شیم ولی این کار خردمندانه ایی نیست که یه ip رو به Ip اون ترجمه کنیم چون ممکنه با پیدا شدن یک باگ در ssh سرور که برای ما حیاتی است رو در معرض خطر قرار بدهیم , پس بهترین کار اختصاص یک پورت با شماره بالا به ssh میباشد
کد:
iptables -t nat -A PREROUTING -d 1.2.4.2 -p tcp --dport 65521 -j DNAT --to 192.168.1.100:22
با این روش اگر ما در شرکت نباشیم و احتیاج به ارتباط با سرور رو داریم یک ارتباط ssh به 1.2.4.2 با پورت 65521 برقرار میکنیم.
فرض کنید یک وب سرور با ip آدرس 192.168.1.200 نصب کرده ایم. وب سرور www.persianadmins.com هست و در DNS به 1.2.4.5 اشاره شده.برای در دسترس بودت از خارج از شبکه ما به طریق زیر عمل میکنیم :
کد:
iptables -t nat -A PREROUTING -d 1.2.4.5 -p tcp --dport 80 -j DNAT --to 192.168.1.200
استفاده ازاسکرپیت:
برای سناریو بالا از این اسکریپت استفاده کنید که با نیازهای خودتون میتونید هماهنگ کنید و تغییرات لازم رو انجام بدهید :
کد:
#!/bin/bash IP=/sbin/iptables #... some packet filtering rules ### NAT SECTION #first of all, we want to flush the NAT table $IP –t nat –F ############ SNAT PART #Taj malek molok's special rule. #Don't SNAT any TCP connections from her computer except www and all #udp connections except DNS $IP –t nat –A POSTROUTING –s 192.168.1.31 –p tcp –-dport ! 80 –j DROP $IP –t nat –A POSTROUTING –s 192.168.1.31 –p udp –-dport ! 53 –j DROP #Don't SNAT anything from 192.168.1.0/24 to 192.168.2.0/24 $IP –t nat –A POSTROUTING –s 192.168.1.0/24 –d 192.168.2.0/24 –j ACCEPT #The boss needs DNAT but we should also SNAT her IP address to 1.2.4.1 $IP –t nat –A POSTROUTING –s 192.168.1.50 –j SNAT –-to 1.2.4.1 #Snat Everyone $IP –t nat –A POSTROUTING –s 192.168.1.0/24 –o eth1 –j SNAT –-to 1.2.4.0-1.2.4.32 –-to 1.2.3.1 ############ DNAT PART #Dnat the boss so he can access her PC from home $IP –t nat –A PREROUTING –d 1.2.4.1 –j DNAT –-to 192.168.1.50 #DNAT the intranet server for the guy in the financial department $IP –t nat –A PREROUTING –s 1.2.5.17 –d 1.2.4.2 –p tcp –-dport 80 –j DNAT -–to 192.168.1.100 #DNAT for us to ssh into the intranet server $IP –t nat –A PREROUTING –d 1.2.4.2 –p tcp –-dport 65521 –j DNAT –-to 192.168.1.100:22 #DNAT the web server $IP –t nat –A PREROUTING –d 1.2.4.5 –p tcp –-dport 80 –j DNAT –-to 192.168.1.200 ### End of NAT section
بررسی تنظیمات :
برای بررسی ما نیاز داریم که زنجیره های جدول nat رو ببینیم :
کد:
root@router:~# iptables -t nat -L -n Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT all -- 0.0.0.0/0 1.2.4.1 to:192.168.1.50 DNAT tcp -- 1.2.5.17 1.2.4.2 tcp dpt:80 to:192.168.1.100 DNAT tcp -- 0.0.0.0/0 1.2.4.2 tcp dpt:65521 to:192.168.1.100:22 DNAT tcp -- 0.0.0.0/0 1.2.4.5 tcp dpt:80 to:192.168.1.200 ACCEPT tcp -- 192.168.1.50 0.0.0.0/0 tcp dpt:80 REDIRECT tcp -- 192.168.1.0/24 0.0.0.0/0 tcp dpt:80 redir ports 3128 Chain POSTROUTING (policy ACCEPT) target prot opt source destination DROP tcp -- 192.168.1.31 0.0.0.0/0 tcp dpt:!80 DROP udp -- 192.168.1.31 0.0.0.0/0 tcp dpt:!53 ACCEPT all -- 192.168.1.0/24 192.168.2.0/24 SNAT all -- 192.168.1.50 0.0.0.0/0 to:1.2.4.1 SNAT all -- 192.168.1.0/24 0.0.0.0/0 to:1.2.4.0-1.2. 4.32 1.2.3.1 Chain OUTPUT (policy ACCEPT) target prot opt source destination root@router:~#
نوسنده :
Lucian Gheorghe
ترجمه* :
رضا بهروزی
www.reza.behroozi.info
reza@behroozi.info
*لازم به توضیح هستش که ترجمه یک هنره و من این هنر و ندارم و فقط تلاش کردم این مطلب عالی رو به بهترین شکل که میتونم اینجا قرار بدم و جمله بندی و گاها انتخاب کلمات مناسبتر از ضعف های ترجمه و نوشته های من هست که اون هم بنظر من چندان مهم نیست چون شما اینجا به ادبستان نیومدیدبلکه به نتورکستان وارد شده اید
__________________
یادت نره
View jamshid's Photo Album jamshid آفلاين است   پاسخ با نقل قول
قدیمی Tuesday 15 January 2008, 01:06 PM   #2
کاربر نقره‌ای
 
jamshid آواتار ها
 

تاریخ عضویت: May 19th, 2006
نوشته ها: 1,184

سطح دانش: 30 [♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥]
سابقه در سایت: 72 / 725
قابليت: 394 / 6640
ميزان تجربه: 2%

Thanks: 75
Thanked 768 Times in 401 Posts
قدرت اعتبار: 5 jamshid is on a distinguished road
پیش فرض پاسخ : راه اندازی Nat در لینوکس

برای راه اندازی nat این مراحل و طی میکنیم
1)فعال کردن ip_forward
این command رو بزنید
cat /proc/sys/net/ipv4/ip_forward
باید جواب 1 باشه اگه نبود اینو بزنید
echo 1 > /proc/sys/net/ipv4/ip_forward

2)iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
جای eth0 باید اینترفیسی که به اینترنت وصل هست باشه که اگه dialup هست ppp0 میشه

خوب تا اینجا کار تمومه اگه firewall نداشته باشیم در غیر اینصورت باید
3)iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
(فرض بر اینه که eth0 به اینترنت وصله و eth1 به شبکه داخلیمون)
این دو command رو میزینیم
4)تالا برای اینکه بعد از reboat کردن تنظیمات پاک نشه این کارو میکینم
فابل /etc/sysconfig/iptables-config رو باز میکنیم و این مقادیر رو
IPTABLES_MODULES_UNLOAD, IPTABLES_SAVE_ON_STOP, and IPTABLES_SAVE_ON_RESTART
برابر با yes میکنیم
-------------------------------------
commandهای کمکی
iptables -L -t nat
iptables -L INPUT
iptables -L OUTPUT
iptables -L FORWARD
iptables -t nat -L -n -v -x

__________________
یادت نره
View jamshid's Photo Album jamshid آفلاين است   پاسخ با نقل قول
پاسخ

برچسب ها
nat

ابزارهای موضوع

مجوز های ارسال و ویرایش
شما نمیتوانید موضوع جدیدی ارسال کنید
شما امکان ارسال پاسخ را ندارید
شما نمیتوانید فایل پیوست در پست خود ضمیمه کنید
شما نمیتوانید پست های خود را ویرایش کنید

BB code is فعال
شکلک ها فعال است
کد [IMG] فعال است
کد HTML غیر فعال است
Trackbacks are فعال
Pingbacks are فعال
Refbacks are فعال


موضوعات مشابه

موضوع نویسنده موضوع انجمن پاسخ ها آخرين نوشته
ایجاد دیسکت بوت لینوکس bxit مباحث لینوکس (Linux) 0 Friday 17 August 2007 02:24 PM
تاریخچه لینوکس......... 007 مباحث لینوکس (Linux) 0 Friday 1 September 2006 07:44 PM
نصب نرم افزار در لینوکس atn_1366 مباحث لینوکس (Linux) 0 Wednesday 23 August 2006 02:23 AM
مفاهیم پایه*ای لینوکس atn_1366 مباحث لینوکس (Linux) 0 Wednesday 23 August 2006 02:15 AM
تاریخچه ی لینوکس samoraee مباحث لینوکس (Linux) 0 Tuesday 25 July 2006 07:58 PM


اکنون ساعت 10:24 AM برپایه ساعت جهانی (GMT - گرینویچ) +4.5 می باشد.


Powered by vBulletin
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.

Skin developed by: ParsDVB


نقل مطالب سايت با ذکر منبع (http://drdvb.com) و نام نويسنده مجاز است. مسئوليت پستها بر عهده نويسنده آن است و سايت parsdvb به هيچ عنوان در قبال نوشته‌های ديگران مسئوليتی ندارد.
 

تمامي قوانين اين سايت از جمهوري اسلامي ايران پيروي مي کند و هرگونه مطالب مخالف قوانين ايران و بنر يا لينک مستهجن در اين سايت جايي ندارد

website monitoring service check web page

    

100
Search 2

parsdvb satdw skynet skynet جدید skystar3 tps.bin vplug vplug جدید vpnمجانی zeeaflam آموزش لب گرفتن استارست اموزش لب گرفتن انتخاب رشته مجازي ترانه ی مادری ثبت نام فيات ثبت نام فیات حسین استیری دانلود نرم افزار ویروس ساز دانلود ويروس ساز رضایا ساسي مانكن ساسی مانکن سریال ترانه ی مادری عکس دختر عکس لب عکس لب گرفتن فركانس شبكه هاي استاني فركانس ماهواره فرکانس فرکانس شبکه های استانی فرکانس ماهواره فرکانسهای ماهواره فيات فيات سينا فیات فیات سینا لب لب گرفتن مجله تپش منصور حیدری مولتی ویژن همسر خسرو شكيبايي همسر خسرو شکیبایی پخش افتتاحیه المپیک پخش المپیک پخش زنده ماهواره پوریا شکیبایی کانالهای پخش المپیک یاسر محمودی ... powered by Search 2
Google
جستجو در گوگل جستجو درانجمنهای آموزشی پارس