<p dir="rtl" align="center">بسم الله الرحمن الرحیم</p>

<p dir="rtl" align="right">
در زیر چند نمونه از نحوه به کارگیری فایروال ufw آورده شده است:
<br>
 ابتدا ufw فعال می شود.  با دستور زیر از خط فرمان:
</p>

```r
sudo ufw enable
```

<p dir="rtl" align="right">
برای باز کردن یک پورت ( مثل پورت SSH) از این دستور استفاده می شود. برای بازکردن سایر پورتها، کافیست عدد آن پورت را در دستور زیر عوض کنید. مثلا پورت 9200 برای الاستیک سرچ یا 5601 برای کیبانا:
</p>

```r
sudo ufw allow 22
```

<p dir="rtl" align="right">
نکته: پورت 22 به عنوان پیش فرض برای SSH قرار داده شده ولی ممکن است در تنظیمات SSH این پورت تغییر یابد.
باز بودن پورت SSH برای ارتباط از راه دور به سرور لازم است و نیز ارتباط با دیتابیس.
<br>
<br>
قوانین همچنین می توانند با استفاده از یک قالب شماره گذاری شده اضافه شوند:
به عنوان مثال: دستور زیر قانون۱ را باز کردن پورت 80 قرار می دهد.
</p>

```r
sudo ufw insert 1 allow 80
```

<p dir="rtl" align="right">
به طور مشابه، برای بستن یک پورت باز شده از دستور زیر استفاده می شود: پورت 22 به عنوان مثال آورده شده است.
</p>

```r
sudo ufw deny 22
```

<p dir="rtl" align="right">
برای حذف یک قانون، از delete و به دنبال آن قانون استفاده کنید:
در مثال زیر قانون همان "deny 22" است
</p>

```r
sudo ufw delete deny 22
```

<p dir="rtl" align="right">
همچنین امکان دسترسی از هاست یا شبکه های خاص به یک پورت وجود دارد.  مثال زیر اجازه دسترسی SSH را از میزبان 192.168.0.2 به هر آدرس IP در این میزبان می دهد:
</p>

```r
sudo ufw allow proto tcp from 192.168.0.2 to any port 22
```

<p dir="rtl" align="right">
192.168.0.2 را با 192.168.0.0/24 جایگزین کنید تا امکان دسترسی SSH از کل زیر شبکه فراهم شود.
</p>

<p dir="rtl" align="right">
افزودن گزینه –dry-run به یک دستور ufw نتیجه قوانین را نمایش می دهد، اما آنها را اعمال نمی کند.  به عنوان مثال، موارد زیر در صورت باز کردن پورت HTTP اعمال می شود:
</p>

```r
sudo ufw --dry-run allow http
```

<p style="background-color:black;color:white;" >
    <code>
        *filter
        :ufw-user-input - [0:0]
        :ufw-user-output - [0:0]
        :ufw-user-forward - [0:0]
        :ufw-user-limit - [0:0]
        :ufw-user-limit-accept - [0:0]
        ### RULES ###
<br>
        ### tuple ### allow tcp 80 0.0.0.0/0 any 0.0.0.0/0
        -A ufw-user-input -p tcp --dport 80 -j ACCEPT
<br>
        ### END RULES ###
        -A ufw-user-input -j RETURN
        -A ufw-user-output -j RETURN
        -A ufw-user-forward -j RETURN
        -A ufw-user-limit -m limit --limit 3/minute -j LOG --log-prefix "[UFW LIMIT]: "
        -A ufw-user-limit -j REJECT
        -A ufw-user-limit-accept -j ACCEPT
        COMMIT
        Rules updated
    </code>
</p>


<p dir="rtl" align="right">
ufw را می توان با دستور زیر غیرفعال کرد:
</p>

```r
sudo ufw disable
```

<p dir="rtl" align="right">
ufw را برای اعمال تغییرات غیرفعال و دوباره فعال کنید:
</p>

```r
sudo ufw disable && sudo ufw enable
```


<p dir="rtl" align="right">
برای مشاهده وضعیت فایروال، دستور زیر ار اجرا کنید:
</p>

```r
sudo ufw status
```

<p dir="rtl" align="right">
و برای اطلاعات دقیق تر وضعیت از دستور زیر بهره بگیرید:
</p>

```r
sudo ufw status verbose
```

<p dir="rtl" align="right">
برای مشاهده قوانین فایروال با فرمت شماره گذاری شده دستور زیر را اجرا کنید:
</p>


```r
sudo ufw status numbered
```

<p dir="rtl" align="justify">
توجه داشته باشید
<br>
 اگر پورتی که می خواهید باز یا بسته شود در /etc/services تعریف شده است، می توانید به جای شماره از نام پورت استفاده کنید.  در مثال های بالا عدد 22 را با ssh جایگزین کنید.
<br>
توجه جدی داشته باشید که در صورتی که سرویسهای نصب شده قابل اجرا نبودند و شما علت را نمی دانید، در اولین مرحله ذهن شما بایستی متوجه فایروال باشد. پس قبل از هر کاری اول با دستور زیر فایروال را غیر فعال کنید و اگر مشکل حل نشد به دنبال موارد دیگر بروید.
اگر هم مشکل حل شد بدانید بایستی تنظیمات فایروال را با توجه به نیاز سرویسها به روزرسانی کنید.
<br>
و نکته دیگر اینکه ممکن است فایروالهای مختلفی روی سرور شما نصب باشد ufw فقط یکی از آنهاست.
<br>
مثلا ممکن است روی سرورشما iptables نصب شده باشد iptables یک ابزار برای فایروالینگ (فایروال لینوکس است) ؛ که بروی بیشتر توزیع‌های لینوکس به صورت پیش‌فرض نصب است. و جالبست که گاهی حتی با غیرفعال کردن آن هم باز مشکل حل نمی شود.
مثل موردی که فقط با دستور sudo iptables --flush مشکل حل شد. درحالی که iptables غیرفعال شده بود.
پس در این موارد حتما با کارشناس مربوطه مشورت نمایید.
</p>

<p dir="rtl" align="right">
ufw را می توان با دستور زیر غیرفعال کرد:
</p>

```r
sudo ufw disable
```



<p dir="rtl" align="center">صلوات</p>