iptables یک ابزار متن باز در لینوکس است که برای مدیریت و کنترل فایروال در سیستم‌های لینوکس استفاده می‌شود. این ابزار به شما امکان می‌دهد تا قوانین و سطوح دسترسی به شبکه را تعیین کنید و ابزارهای مختلفی را ارائه می‌دهد تا بتوانید ترافیک شبکه را مدیریت کنید. از iptables برای محافظت شبکه در برابر حملات دیده‌بانی، تنظیم ارتباطات شبکه، مسدود کردن یک ترافیک خاص، افزایش امنیت سرور، و غیره استفاده می‌شود.

باز یا بستن پورت ها در سرور لینوکس توسط iptables

برای اینکه قادر به باز و بسته کردن پورت ها روی کامپیوتر شخصی خود یا سرور لینوکس باشید قبل از هرچیز باید دسترسی root به سرور لینوکسی داشته باشید.

ابتدا از طریق ssh به سرور متصل شوید.

قبل از اینکه سرویس iptables را فعال کنید بایستی سرویس ip6tables را غیرفعال کنیم .برای این منظور دستورات زیر را وارد کنید:

service ip6tables stop
chkconfig ip6tables off

برای مسدود کردن یک آی پی یا پورت از طریق iptables در لینوکس، می‌توانید از دستورات زیر استفاده کنید:

برای مسدود کردن یک آی پی:

sudo iptables -A INPUT -s <آی پی مورد نظر> -j DROP

برای مسدود کردن یک پورت خاص:

sudo iptables -A INPUT -p <نوع پروتکل> --dport <شماره پورت> -j DROP

به عنوان مثال، برای مسدود کردن آی پی 192.168.1.100 می‌توانید از دستور زیر استفاده کنید:

sudo iptables -A INPUT -s 192.168.1.100 -j DROP

و برای مسدود کردن پورت 80 از پروتکل TCP می‌توانید از دستور زیر استفاده کنید:

sudo iptables -A INPUT -p tcp --dport 80 -j DROP

بعد از اجرای این دستورات، آی پی یا پورت مورد نظر مسدود خواهد شد و ترافیک از آن به سرور شما منتقل نخواهد شد. برای دیدن لیست آی پی ها و پورت‌هایی که مسدود کرده‌اید می‌توانید از دستور زیر استفاده کنید:

sudo iptables -L

لطفا توجه داشته باشید که استفاده از iptables به درستی و با دقت بالا می‌تواند از مسائل امنیتی سایت شما جلوگیری کند ، اما در عین حال اشتباه در تنظیمات مسدود سازی می تواند سایت شما را با مشکلات بسیاری مواجه کند. بنابراین قبل از اعمال هر تغییری به iptables ، با اطمینان کامل به این کار کنید و پشتیبانی یک کارشناس شبکه مطمئن باشید.