# آموزش تنظیم فایروال سرور
## فایروال چیست؟
فایروال `Firewall` یا دیوارهی آتش به نرمافزار یا سختافزارهایی گفته میشود که از دسترسی به کامپیوترها یا سرورها جلوگیری کرده و ترافیک رد و بدل شده در شبکه را کنترل میکنند. فایروال در حقیقت یک ابزار امنیتی است که میتواند یک برنامهی نرمافزاری یا یک دستگاه اختصاصی شبکه باشد. در اینجا ما با فایروال نرمافزاری روی سرورهای لینوکسی سر و کار داریم.
فایروال سرورهای لینوکسی را به چند روش میتوان مدیریت کرد که یکی از این روشها استفاده از ابزاری به اسم `IP Tables` است.
در این ابزار یک سری Ruleها (قواعد) میتوان تعریف نمود که با استفاده از آنها به بستههای اطلاعاتی رو پروتکلهای مختلف اجازه عبور داده میشود.
## تنظیمات خودکار فایروال از طریق پنل
هیدیفای به صورت پیشفرض فایروال سیستم را روشن و کنترل میکند. برای مثال اگر در تنظیمات هیدیفای پورت پروتکلهای `TLS` یا `HTTP` را تغییر دهید، پنل به صورت خودکار رولهای مورد نیاز برای آنها را ایجاد میکند. حتی در صورت تغییر پورت `SSH`، پنل پورت جدید را شناسایی و به صورت خودکار تنظیمات فایروال را بر اساس نیاز شما تغییر میدهد.
تنظیمات مربوط به فایروال پنل از قسمت `تنظیمات`، در بخش `تنظیمات عمومی` قابل دسترس است.

> توصیه خیلی مهم: به هیچ عنوان فایروال پنل را خاموش نکنید. خاموش کردن فایروال امنیت شما را به خطر میاندازد.
## تنظیم دستی فایروال سرور
* در صورت نیاز به باز نمودن پورت به صورت دستی، ابتدا به سرور خود `SSH` بزنید. اگر نمیدانید چگونه `SSH` بزنید [این آموزش](/fa/manager/installation-and-setup/How-to-connect-to-server-via-SSH/) را ببینید.
* پس اتصال `SSH` وارد منوی هیدیفای میشوید. در اینجا با زدن `Cancel` یا `ctrl+c` از این منو خارج شوید تا وارد ترمینال شوید. در صورتی که بعد از اینکار همچنان منو برای شما نمایش داده میشود عبارت `clear` رو تایپ و اینتر کنید.
* در ترمینال از دستور زیر استفاده کنید.
```
iptables -A INPUT -p tcp --destination-port PORT -j ACCEPT
```
* کافیه پورت مورد نظر خود را جایگزین `PORT` در دستور بالا کنید. فرض کنید میخواهید پورت `۱۲۳۴` را باز کنید. کافیه دستور بالا را به این شکل تغییر بدهید و در ترمینال وارد کنید.
```
iptables -A INPUT -p tcp --destination-port 1234 -j ACCEPT
```
* با وجود اینکه باز کردن پروتکل `ICMP` از نظر امنیتی مشکل دارد، یا اگر خواستید دسترسی پینگ یا بستههای `ICMP` را فراهم نمایید؛ کافیه دستور زیر را اجرا کنید.
```
iptables -A INPUT -p ICMP -j ACCEPT
```
* برای بستن پروتکل `ICMP` نیز ازدستور زیر استفاده نمایید.
```
iptables -A INPUT -p icmp -j DROP
```
* کار تمام است.