یکشنبه, 20 اسفند 1391 بازدید 5822 بار

تغییر و اضافه کردن قوانین (قسمت هفتم)

 

تغییر و اضافه کردن قوانین

قوانین زنجیر را با استفاده از دستورات iptables ، اضافه و اصلاح می کنید. یک دستور iptables ، شامل لغت کلیدی iptables است که با یک آرگومان دنبال می شود و دستور مورد اجرا را مشخص می نماید. به عنوان مثال، iptables -A دستوری برای اضافه کردن یک قانون جدید است ، در حالی که iptables -D ، دستوری برای خذف یک قانون می باشد ، دستورات iptables  در جدول 4 لیست شده اند. دستور زیر به سادگی زنجیر ها را به همراه قوانین فعلی آنها که برای سیستم شما تعریف شده اند لیست می کند. خروجی ، مقادیر پیش فرض ایجاد شده توسط دستورات iptables را نشان می دهد.

iptables -L -n 
Chain iput (policy ACCEPT);
Chain forward (policy ACCEPT);
Chain output (policy ACCEPT);

جدول 4 : دستورات iptables 

زنجیر

عملکرد

-A chain

یک قانون را به یک زنجیر می افزاید.

-D chain [rulenum]

قانون مورد تطابق را از یک زنجیر حذف می کند. قانون rulenum ( 1-اولی ) را از chain حذف می نماید.

-I chain [rulenum]

قوانین مربوط به بسته های انتقالی

-R chain rulenum

قوانین مربوط به تغییر مسیر یا اصلاح بسته های دریافتی ( تنها جدول NAT )

RETURN

قوانین مربوط به تغییر مسیر یا اصلاح بسته های ارسالی ( تنها جدول NAT )

-L [chain]

قوانین موجود در chain یا تمام رنجیر ها را لیست می کند.

-E [chain]

یک زنجیر را تغییر نام می دهد.

-F [chain]

تمام قوانین موجود در chain یا تمام زنجیر ها را حذف ( خالی ) می کند.

-R chain

یک قانون را جایگزین می کند. قانونها از 1 شماره گذاری می گردند.

-Z [chain]

شمارنده ها را در chain یا تمام زنجیر ها صفر می کند.

-N chain

یک زنجیر توسط کاربر تعریف شده جدید ایجاد می کند.

-X chain

یک زنجیر تعریف شده توسط کاربر را حذف می کند.

-P chain target

خط مشی روی chain را به target تغییر می دهد.

برای اضافه کردن یک قانون جدید به یک زنجیر ، از -A استفاده می کنید. از -D برای حذف آن و -R برای جایگزین نمودن آن استفاده نمایید. در زیر دستور ، زنجیری را لیست کنید که قوانین به آن اعمال می شود. مثلا زنجیر INPUT ، OUTPUT یا FORWARD ویا یک زنجیر تعریف شده توسط کاربر. سپس ، سوئیچ های مختلفی لیست می کنید که عملیاتی که می خواهید انجام شود را مشخص می کند ( اکثر آنها همانند آنچه برای ipchains استفاده می شود است ، بجز چند استثناء ). سوئیچ -s آدرس مبدأ الحاقی به بسته ، -d آدرس مقصد و -j هدف را مشخص می کند. هدف ACCEPT به یک بسته اجازه می دهد تا عبور کند. سوئیچ -i اکنون دستگاه ورودی را نشان می دهد و فقط می تواند با زنجیر های INPUT و FORWARD استفاده شود. سوئیچ -o دستگاه خروجی را بیان می کند و تنها برای زنجیر های OUTPUT و FORWARD به کار می رود. جدول 5 ، چند سوئیچ اصلی را لیست کرده است. 

 

جدول 5 : سوئیچ های iptables 

سوئیچ

عملکرد

-p [!] proto

یک پروتکل مثل TCP ، UDP ، ICMP یا ALL را مشخص می کند. 

-s [!] address[imask] [!] [port[:port]]

آدرس مبدأ برای تطابق. با آرگومان port می توانید درگاه را مشخص کنید.

--sport [!] [porto:port]

مشخصه درگاه مبدأ. می توانید محدوده ای از درگاه ها را با استفاده از دو نقطه مشخص کنید (port:port).

-d [!] address[imask] [!] [port[:port]]

آدرس مقصد برای تطابق. با آرگومان port می توانید در گاه را مشخص کنید.

--dport [!] [port[:port]]

مشخصة درگاه مقصد.

-icmp-type [!] typename

نوع ICMP را مشخص می کند.

-l [!] name[+]

یک رابط شبکه ای ورودی با استفاده از نامش مشخص می کند ( مثلا eth0 ). علامت + ، مثل یک کاراکتز عمومی عمل می کند. علامت + چسبیده به انتهای نام ، تمام رابطها با آن پیشوند را مورد اشاره قرار می دهد ( eth+ به تمام رابط ها اشاره می کند ) تنها می تواند با زنجیر INPUT استفاده می شود.

-i target [port]

هدف یک قانون را مشخص می کند (  [port] را برای هدف REDIRECT مشخص کنید).

--to-source <ipaddr> [-<ipaddr>] [:port-port]

با هدف SNAT استفاده می شود ، بسته ها را با آدرس IP جدید مبدأ ، مجددأ می نویسد.

--to-destination <ipaddr> [-<ipaddr>] [:port-port]

با هدف dNAT استفاده می شود ، بسته ها را با آدرس IP جدید مقصد ، مجددأ می نویسد.

-n

خروجی عددی آدرس ها و درگاهها که با -L استفاده می شود.

-o [!] name[+]

یک رابط شبکه ای خروجی ، با استفاده از نامش مشخص می کند ( مثلا eth0 ) تنها می تواند با زنجیر های FORWARD و OUTPUT استفاده شود.

-t table

یک جدول برای استفاده ( مثل -t nat برای جدول NAT ) مشخص می کند.

-v

حالت مفصل ، جزئیات قانون را نشان می دهد ، با -L استفاده می شود.

-x

اعداد را گسترش می دهد (مقادیر دقیق را نمایش می دهد)، با -L استفاده می شود.

[!] -f

دومین تطابق را در قطعه های آخر یک بستة قطعه قطعه شده ، مورد تطابق قرار می دهد.

[!] -v

نگارش بسته را چاپ می کند.

!

یک سوئیچ یا آدرس را منفی می کند.

-m

یک ماژول جهت استفاده را مشخص می کند. مثلا state.

--state

سوئیچ هایی مثل NEW ، INVALID ، RELATED و ESTABLISHED را برای ماژول state مشخص می کند. برای تعیین وضیعت بسته استفاده می شود. NEW ، بسته های SYN را مورد اشاره قرار می دهد ( تماسهای جدید ).

--syn

بسته های SYN ، تماس های جدید.

--tcp-flags

پرچمهای TCP : PS, URG, RST, FIN, ACK, SYN و ALL را برای تمام پرچمها.

--limit

سوئیچی برای ماژول limit ( -m limit ). برای کنترل نرخ تطابقها استفاده می شود. تعداد مشخصی در هر ثانیه ، عمل تطابق را انجام می دهد.

-limit-burst

سوئیچی برای ماژول limit ( -m limit )، حداکثر ترتیب را مشخص می کند قبل از اینکه حد به پایان برسد. برای کنترل حملات denial-of-service استفاده می شود.

 

 

این مورد را ارزیابی کنید
(1 رای)

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

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