ورود/ایجاد حساب کاربری
   منوی اصلی
· خانه
· لیست کاربران
· جستجو
· آمار مشاهدات
· آرشیو مقالات


- شرح
· راهنمای نویسندگان
· درباره ما

   همکاری با نشریه
در صورتی که مایل به همکاری با نشریه هستید، می‌توانید در لیست پستی نشریه عضو شده و در جریان امور قرار گیرید. برای اطلاعات بیشتر، اینجا کلیک کنید.

   کاربران
سردبیر
هیچ مدیر کمکی حاضر
همکاران
هیچ مدیر کمکی حاضر
اعضا:
جدیدترین:جدید امروز:0
جدیدترین:جدید دیروز:0
جدیدترین:مجموع:2471
جدیدترین:جدیدترین:
ufumenarayu
اعضا:حاضر
اعضا:اعضا:0
مهمان‌ها:مهمان‌ها:3
مجموع:مجموع:3
کاربران حاضر
هیچ کاربر حاضری وجود ندارد

   ورود کاربران




 


 برای ورود مشکل دارید؟
 ثبت نام کاربران جدید

آشنایی با IPTABLES بخش چهارم

(1280 مجموع کلمات موجود در متن)
(8189 بار مطالعه شده است)  نسخه چاپی

آشنایی با iptables بخش چهارم

ساختن ruleها

در طول این بخش با طریقه‌ی ساخـتن ruleها آشنا می‌شوید. یک rule را می‌توان مجموعه دستوراتی در نظر گرفت که به firewall می‌گویند تا چگونه به بسته‌ها و اتصالات یک زنجیره‌ی خاص مجوز دهد.

مبانی

همــانطور که قبلا توضیح دادیم، یــک rule عبارتی است کـه کرنل برای پی بردن به اینکه با یک بسته چه باید بکند به آن نــگاه می‌کند. اگر تمام ضوابط(match) درست بود، آنگاه دستــورات target را اجــرا می‌کند. نــحوه‌ی استفــاده از دستور iptables به صورت زیر است:

iptables [-t table] command [match] [target/jump]


بــا استفاده از انتخاب t- جــدول مورد نظر را انتخاب می‌کنیم. در مــورد جــدول در قسمت یک توضیحات کـافی داده شده است. اگــر هیچ جدولی در این قســـمت مـعیــن نــگردد، به طــور پـیـش فـرض از جدول Filter استفاده می‌شود. سپس command را مشخص می‌کنیم. با استفاده از این قسمت به iptables می‌گــوییـم که با این rule چه باید بکند. به عنوان مثال می‌توان یک rule را اضافه، حذف و یا جایگزین کرد. انواع دستورات مختلف در ادامه تشریح خواهد شد.

match بخشی است که برای مشخص کردن خصوصیات خاص یک بسته که آن را از بقیه مجزا می‌کند، به کرنل فرستاده می‌شود. به طور مثال بسته‌های مربوط به یک شبکه‌ی خاص یا بسته هایی که از پروتکل خاصی استفاده می‌کنند و غیره . در جلسه‌ی بعد در مورد matchها بیشتر توضیح خواهیم داد.

در نهایت هدف بسته را مشخص می‌کـنیم. در صــورتی کــه تمام ضوابط مطابقت داشته باشند، به کرنل می‌گوییم که با بسته‌ی مورد نظر چه باید بکند. برای مثال می‌توانیم بسته را drop کنیم یــا بــه جای دیگری بفرستیم یا به جدول دیگری ارسال کنیم.


دستورات

در این قسمت تمام دستورات ممکن را پوشش خواهیم داد.

Command

-A, --append

Example

iptables -A INPUT ...

Explanation

با استفاده از این دستور می‌توانید یک rule را به انتهای یک زنجیره بچسبانید. البته این را باید در نظر بگیرید که ruleهــا از بــالا بــه پایـیـن بررسی می‌شوند و اولین rule که مطابقت داشته باشد اعمال می‌شود.

Command

-D, --delete

Example

iptables -D INPUT --dport 80 -j DROP, iptables -D INPUT 1

Explanation

بـا استفاده از این دستور می‌توانید یک rule را از زنجیره حذف کنید. این کار به دو طریق انجــام می‌شود؛ می‌توان rule مورد نظر را عینا وارد کرد و یا اینکه شماره rule را به کار برد. Rule ها از بالا به پایین شـمــاره گــذاری می‌شــوند. در مورد روش اول باید دقت داشته باشید که rule مورد نظر را درست وارد کنید، در غــیــر این صورت امکان دارد که rule دیگری را از زنجیره حذف کنید.

Command

-R, --replace

Example

iptables -R INPUT 1 -s 192.168.0.1 -j DROP

Explanation

بــا اســتفاده از ایــن دستــور می‌توانید یک rule را با rule دیگری جایگزین کنید. این کار مشابه حذف یک rule از زنجیره می‌باشد.

Command

-I, --insert

Example

iptables -I INPUT 1 --dport 80 -j ACCEPT

Explanation

بـا استفاده از دستور Insert می‌توانید تا یک rule را در مکان خاصی اضافه کنید. در این مورد هم باید تقدم ruleها را در نظر داشته باشید.

Command

-L, --list

Example

iptables -L INPUT

Explanation

با استفاده از ایــن دستــور می‌توانـیـد کــل ruleهای یـک زنجیره را لیست بگیرید. توجه داشته باشید که اگر نام جدول را ذکر نکنید، به طور پیــش فـرض از جدول filter لیست خواهد گرفت. خروجی این دستور تحت تاثیر انتخاب های مختلف دیگر از جمله n- و v- می باشد.

Command

-F, --flush

Example

iptables -F INPUT

Explanation

دستور F- بــرای پــاک کــردن تـمــام ruleهای یــک زنجــیره یا جدول و یا تمام iptables استفاده می‌شود. این دستور معادل پاک کردن تمام rule ها به صورت تک تک است.

Command

-Z, --zero

Example

iptables -Z INPUT

Explanation

ایــن دستور به برنامه می‌گوید تا تمام شمارنده‌های یک زنجیره یا تمام آنها را پاک کند. اگر شما انتــخــاب v- را بــه هــمراه دســتور L- به کار برید، می‌توانید شمارنده‌ها را در ابتدای هر فیلد مشاهده کنید. اگـر دستور L- و Z- را به همراه هم استفاده کنید، ابتدا تمام ruleها را برای شما لیست کرده و شمارنده‌های آنها را صفر می‌کند.

Command

-N, --new-chain

Example

iptables -N allowed

Explanation

با اســتفــاده از این دستور شما می‌توانید زنجیره‌های مخصوص را در جداول مشخصی تهیه کنید. در مثال بالا زنجیره‌ی allowed را در جـــدول filter سـاخته‌ایم. توجه داشته باشید که دو زنجیره‌ی هم نام نباید وجود داشته باشد.

Command

-X, --delete-chain

Example

iptables -X allowed

Explanation

با استفاده از ایــن دستــور می‌توانید یــک زنجیره را از یک جدول پاک کنید. برای این کار نباید rule وجود داشته باشد تا به این زنجیره اشاره کند. اگــر ایــن دستــور بــدون هیچ انتخابی انجام شــود، تمــام زنجیره‌های جدول را به جز آنهاییکه مخصوص خود جـــدول هستند، پاک خواهد شد.

Command

-P, --policy

Example

iptables -P INPUT DROP

Explanation

با استفاده از این دستــور می‌توانید به کرنل بگویید که برای یک زنجیره، هدف یا policy مخصوصی را به صورت پیش فرض در نـظــر بـگیرد. تمام بسته هایی که با هیچ کدام از ruleهای موجود در زنجیره match نشوند مجبــور خـواهند بود که از این policy استفاده کنند. Policyهای مجاز برای این قسمت DROP و ACCEPT هستند.

Command

-E, --rename-chain

Example

iptables -E allowed disallowed

Explanation

بــا استفاده از ایــن دستـور شما می‌توانید تا نام یک زنجیره را تغییر دهید. همانطور که می بینید در مثال بالا زنـجــیــره‌ی allowed به disallowed تغییر نام یافته است. دقت داشته باشید ایــن عمـل در عملکرد اصلی جدول هیچ تاثیری نخواهد داشت و فقط یک کار تزئینی محسوب می‌شود.


بـه غیر از مواردی که می‌خواهید از help داخلی iptables استفاده کنید یا اینکه نسخه‌ی iptables را به دست آورید، باید همیشه یــک دستور کــامل را وارد کنید.برای یافتن شماره‌ی نسخه‌ی iptables باید از انتخاب v- و برای استفاده از help داخلی iptables باید از انتخاب h- استفاده کنید.

اکنون می‌خواهیم گزینه‌هایی را که بــر دستــورات iptables تاثــیـر دارند را برایتان توضیح دهیم. دقت داشته باشید که در اینــجا فـقط با انتخاب‌هایی آشنا می‌شوید که بر روی دستورات تاثیر دارند و انتخاب‌های مربوط به matchها و targetها را بعدا تشریح خواهیم کرد.


گزینه‌ها

Option

-v, --verbose

Commands used with

--list, --append, --insert, --delete, --replace

Explanation

این دســتــور خروجــی های بیشتــری را بــه شـمـا می‌دهـد و اساسا با دستورlist-- استفاده می‌شود. اگر این انتخاب را با list-- استفاده کنید، آدرس رابــط، rule options و ماسـک‌های TOS را نشان می‌دهد. همچنین شمارنده‌های بسته‌ها و بایــت‌ها را نیز برای هر rule نشـان می‌دهد. اگر با سایر دستـورات به کار برده شود، به شما می‌گوید که rule چگونه تفسیر شده است و اینکه به درستی درج شده است یا خیر و ...

Option

-x, --exact

Commands used with

--list

Explanation

از این انتخاب برای بسط دادن اعداد استفاده می‌شود. خروجی دستورlist-- با انتخاب v بــرای نمایش شمــارنده‌ها از نشانه‌های K، M و G استفاده می‌کند. با استفاده از این انتخاب ما می‌توانیم نمایی کامل از اعداد را داشته بــاشـیم. البـتـه تـوجــه داشتــه باشید که این انتخاب تنها با دستورlist-- به کار می‌رود.

Option

-n, --numeric

Commands used with

--list

Explanation

ایــن دستــور بــه iptables می‌گــوید کــه مقادیر عددی را نمایش دهد. آدرس‌های IP و شماره پورت‌ها به جای اینکه با نام میزبان و نــام شبــکه یا نام application نشان داده شوند با اعداد نمایش داده می‌شوند.

Option

--line-numbers

Commands used with

--list

Explanation

با استفاده از ایـن انتخاب به همراه دستور list-- می‌توانیم لیستی از ruleها به همراه شماره‌ی هر کــدام در اختیار داشتــه باشیـم. با استفاده از این کار به راحتی شماره‌ی هر rule را می‌یابیم.

Option

-c, --set-counters

Commands used with

--insert, --append, --replace

Explanation

این انتخاب هنگام ساختن و یا تغییر دادن یک rule به کـــار بــرده می‌شـود. همچنین با استفاده از این بسته می‌توانیم شمارنده‌های بسته‌ها و بایت‌ها را مقدار اولیــه دهیم. ترکیب این دستور به شکل set-counters 20 4000 -- می‌تواند باشد که شمــارنده بسته‌ها را به 20 و شمارنده بایت را به 4000 تنظیم می‌کند.

Option

--modprobe

Commands used with

All

Explanation

با استفاده از این دستور می‌توان بــه iptables گفــت کــه کــدام module بایــد هنــگام وارسی moduleها استفـاده شود یا به کرنل اضافه شود. از این انتخاب برای زمانی که لازم است تا برنامه بــداند در زمانی که module بار نشده است چه باید بکند، می‌توان استفاده کرد.


PDF Version

مترجم: ایرج هدایتی shotorbaan@yahoo.co.uk
منبع : http://iptables-tutorial.frozentux.net/iptables-tutorial.html

تمامی مطالب و مقالات این سایت تحت مجوز GNU FDL قرار دارند. بنابراین کپی و ایجاد تغییر در آنها مطابق شرایط این مجوز آزاد می‌باشد.