چهارشنبه, 23 اسفند 1391 بازدید 8126 بار

ماسک نمودن IP (قسمت بیست و هشتم)

ماسک نمودن IP

در سیستم های لینوکس، می توانید شبکه ای تنظیم کنید که در آن، بیش از یک تماس به اینترنت داشته باشید و چند سیستم مختلف روی شبکه شما بتوانند از آن استفاده نمایند. بدین روش، با استفاده از تنها یک آدرس IP ، چند سیستم مختلف به اینترنت وصل شوند. این روش را ماسک نمودن IP می نامند، که یک سیستم با استفاده از آدرس IP سیستم دیگر آن را ماسک می کند. در چنین شبکه ای ، یک سیستم با آدرس IP خودش به اینترنت متصل است، در حالی که سیستم های دیگر، به یک شبکه محلی (LAN) روی این سیستم متصل هستند. وقتی که یک سیستم محلی می خواهد به شبکه دسترسی پیدا کند، آن سیستم محلی به عنوان سیستم متصل به اینترنت ماسک می شود و آدرس IP آن را جستجو می کند. 

 ماسک نمودن IP لینوکس، با استفاده از ابزار فایروال کردن iptables پیاده سازی می شود. در عمل، یک فایروال تنظیم می کنید که سپس آن را برای انجام ماسک IP ، پیکربندی می نمایید. هم اکنون، ماسک IP تمام سرویس های رایج شبکه ( همانند فایروال کردن iptables ) را پشتیبانی می کند. مثل مرور وب ، Telnet و ping . سرویس های دیگر ، مثل IRC ، FTP و Real Audio استفاده از روش های خاصی را نیاز دارند. هرسرویسی که می خواهید سیستم های محلی به آنها دسترسی داشته باشند نیز باید روی سیستم فایروال باشد ، زیرا تقاضا و پاسخ در حقیقت توسط سرویس های آن سیستم اداره می شود. 

 اطلاعات بیشتر در مورد ماسک IP را در سایت وب منابع آن در آدرس ipmasq.webhop.net بیابید. به طور خاص، Linux IP Masquerade mini-HOWTO ، یک راهنمای مفصل گام به گام در مورد تنظیم ماسک IP  را روی سیستم شما فراهم می کند. ماسک IP باید توسط کرنل پشتیبانی شود، قبل از اینکه بتوانید از آن استفاده نمایید. اگر کرنل شما آن را پشتیبانی نمی کند، شاید مجبور شوید کرنل را مجدداً بسازید تا شامل پشتیبانی ماسک IP شود یا از ماژول های قابل باز گذاری، برای اضافه کردن آن استفاده کنید. برای اطلاعات بیشتر ، IP Masquerade mini-HOWTO را ببینید. 

 با ماسک IP که روی سیستم های لینوکس پیاده سازی شده است، ماشینی با آدرس اینترنت برای ماشین های LAN ، به عنوان فایروال دروازه است که آدرس اینترنت فایروال را برای اتصال به اینترنت استفاده می کنند. به فایروال ها که همچنین ماسک IP را پشتیبانی می کنند، دریچه های MASQ می گویند. با ماسک IP ، سیتسم متصل به اینترنت (فایروال) به تقاضاهای اینترنت از طرف میزبانهای روی LAN گوش می کند. وقتی که درخواستی را دریافت کرد، آدرس IP میزبان محلی درخواست کننده را با آدرس IP اینترنت قایروال جایگزین می نماید و سپس تقاضاها را به اینترنت می فرستد، همان طور که تقاضای خود را می فرستد. پاسخهای اینترنت، سپس به سیستم فایروال فرستاده می شود. پاسخ هایی که فایروال دریافت می کند، با استفاده از آدرس اینترنت فایروال به آن فرستاده می شود. سپس فایروال، سیستم محلی را که پاسخ در جواب تقاضای آن است تعیین می کند. در نهایت آدرس IP آن را شناسایی و پاسخ را به میزبان محلی تحت LAN ارسال می دارد. تماس از دید ماشین های محلی پنهان است. آنها فکر می کنند که به طور مستقیم به اینترنت متصل می شوند. 

ماسک کردن شبکه های محلی 

ماسک IP اغلب برای این روی یک شبکه خصوصی استفاده می شود که به اینترنت دسترسی پیدا کنند. اینها می توانند ماشین های یک شبکه خانگی یا یک LAN کوچک برای یک کار تجاری باشند. چنین شبکه ای ممکن است تنها یک ماشین با دسترسی  اینترنت داشته باشد و در این حالت، تنها یک آدرس اینترنت وجود دارد. شبکه خصوصی محلی، آدرس های IP تخصیص روی شبکه خصوصی، انتخاب می کند ( 10 یا 172.16 یا 192.168 ). مطلوب آن است که فایروال ، دو کارت اترنت داشته باشد : یکی برای رابط به LAN (مثلا eth1 ) و دیگری برای رابط به اینترنت، مثل eth0 ( برای تماسهای شماره گیری ISP ، این به صورت ppp0 برای مودم خواهد بود). با کارت تماس اینترنت (eth0) آدرس IP اینترنت، اختصاص می یابد. رابط اترنت برای شبکه محلی (در این مثال، eth1 ) ، رابط اترنت فایروال است. LAN خصوصی شما، دارای یک آدرس شبکه مثل 192.168.0 خواهد بود. به رابط فایروال اترنت آن (eth1)، آدرس IP شماره 192.168.0.1 داده می شود. در عمل، رابط فایروال، اجازه می دهد تا به عنوان  دروازه شبکه محلی عمل کند. سپس فایروال، پیکربندی می شود تا هر بسته ای که از شبکه خصوصی می آید را ماسک نماید. LAN شما نیاز دارد تا سرویس نامگذاری دامنه خود را داشته باشد، تا ماشین های روی شبکه شما از جمله فایروال را شناسایی کند. در هر ماشین محلی، باید فایروال به عنوان درواره آن مشخص شده باشد. سعی نکنید تا از نام مستعار IP برای انتساب هر دو آدرس IP فایروال و اینترنت به یک رابط فیزیکی یکسان استفاده کنید. از رابطهای مجزا برای آنها استفاده نمایید. مثل دو کارت اترنت یا یک کارت اترنت و یک مودم (ppp0). 

 ماسک کردن قانون NAT 

در Netfilter ، ماسک IP یک عمل NAT است و دیگر با فیلتر کردن بسته ( همانند ipchains ) وجود ندارد. دستورات ماسک IP ، در جدول NAT قرار می گیرند و به طور مجزا نسبت به دستورات فیلتر کردن بسته، یا آنها رفتار می شود. از iptables برای قرار دادن یک قانون ماسک در جدول NAT استفاده کنید. ابتدا NAT را با سوئیچ -t nat مورد ارجاع قرار دهید. سپس یک قانون به زنجیر POSTROUTING با سوئچ -o اضافه کنید و دستگاه خروجی را مشخص نمایید و سوئیچ -j را با دستور MASQUERADE به کار برید : 

IPTABLES -T NAT -a POSTROUTING -o eth0 -j MASQUERADE

انتقال ip

سپس انتقال IP را به طور دستی که در اینجا با sysctl نشان داده شده یا با ابزار redhat-config ( kernel Tuning Extras System Tools ) فعال کنید و IP Forwarding در قاب IP [2] در گزینه IP تحت Networking را علامت بزنید. این کار متغیر net.ipv4.ip_forward در فایل /ets/sysctl.conf را تنظیم می کند ( اگر بخواهید می توانید به طور دستی تغییر را در این فایل، انجام دهید). انتقال IP به طور پیش فرض، خاموش است. 

echo 1 > /proc/sys/net/ipv4/ip_forward 

ماسک کردن میزبانهای انتخابی 

به جای ماسک کردن تمام میزبانهای محلی به عنوان یک آدرس IP منفرد میزبان فایروال / دروازه، می توانید از جدول NATجهت نوشتن مجدد آدرس ها برای چند مورد از میزبانهای انتخاب شده، استفاده کنید. چنین روشی، اغلب با تنظیماتی انجام می گیرد که می خواهید چند میزبان محلی، به عنوان سرویس دهنده های اینترنت ظاهر شوند. با استفاده از هدفهای DNAT و SNAT ، می توانید بسته ها را به میزبانهای محل خاصی تغییر مسید دهید. از قوانین روی زنجیرهای PREROUTING و POSTROUTING برای انتقال بسته های ورودی و خروجی استفاده می کنید. 

 به عنوان مثال، سرویس دهنده وبی که در مثال قبل شرح داده شد، می تواند به صورت یک میزبان محلی پیکربندی شود، که یک هدف DNAT می تواند تمام بسته هایی که اساساً از 10.0.0.2 دریافت می کند را به آنجا تغییر مسیر دهد. فرض کنید سرویس دهنده وب روی 192.168.0.5 ، تنظیم شده باشد. این سرویس دهنده می تواند به صورت یک آدرس 10.0.0.2 روی اینترنت ظاهر شود. بسته هایی که به 10.0.0.2 فرستاده می شوند، مجدااً نوشته می شوند و توسط جدول NAT به 192.168.0.5 ارسال می گردد. از زنجیر PREROUTING با سوئیچ -d برای اداره کردن بسته های دریافتی و POSTROUTING با سوئیچ -s برای بسته های ارسالی استفاده می شود. 

iptables -t nat -A PREROUTING -d 10.0.0.2 --to-destination 192.168.0.5 -j DNAT 
iptables -t nat -A POSTROUTING -d 10.0.0.2 --to-source 192.168.0.5 -j DNAT 
نکته : به خاطر بسپارید که با iptables ماسک کردن دیگر با زنجیر FORWARD ، آن طور که در ipchains  بود، ترکیب نیست. ینابراین اگر یک خط مسی DROP برای زنجیر FORWARD مشخص می کنید، باید حتماً عمل FORWARDبرای شبکه ای که ماسک می شود را فعال نمایید. به هر دوقانون POSTROUTING و قانون FORWARD نیاز خواهید داشت. 
این مورد را ارزیابی کنید
(5 رای‌ها)
محتوای بیشتر در این بخش: کنترل بسته های ICMP (قسمت بیست و هفتم) »

پربازدیدترین مطالب

"«قیمتی که در هنگام سفارش مشتري در پیش‌فاکتور منظور گرديده است، معتبر مي‌باشد»."