EQVPS

تنظیم فایروال Windows روی VPS: باز کردن پورت، اجازه به یک IP، دیدن آنچه مسدود می‌شود

روی Windows Server 2022 یک پورت باز کنید، آن را به IP خودتان محدود کنید، ping را روشن کنید، اتصال‌های مسدودشده را ثبت کنید و از قوانین نسخهٔ پشتیبان بگیرید، همه با چند فرمان PowerShell. هر قانون را از یک ماشین دوم آزمودیم تا مطمئن شویم پورت واقعًا باز یا بسته می‌شود.

Windows Server با فایروال روشن عرضه می‌شود و این پیش‌فرض درستی است: هر چیزی که از بیرون بخواهد وصل شود رد می‌شود، مگر قانونی اجازهٔ عبورش را بدهد. وقتی چیزی از خودتان اجرا می‌کنید، مثل یک برنامهٔ وب روی پورت 8080 یا سرویسی که فقط دفترتان باید به آن برسد، باید این را تغییر دهید. این راهنما همه‌چیز را با PowerShell روی Windows Server 2022 انجام می‌دهد. هر قانون را روی ایمیج خودمان امتحان کردیم و از ماشین دوم آزمودیم، پس می‌دانید که واقعًا پورت را باز یا بسته می‌کند.

PowerShell را با دسترسی مدیر باز کنید. اگر هنوز نکرده‌اید، اول RDP را ایمن کنید: آن راهنما دربارهٔ محدود کردن خود Remote Desktop است.

1. ببینید چه چیزی روشن است

Get-NetFirewallProfile | Format-Table Name, Enabled, DefaultInboundAction, DefaultOutboundAction
Get-NetConnectionProfile | Format-Table InterfaceAlias, NetworkCategory

روی سرور تازهٔ ما هر سه پروفایل (Domain، Private، Public) روشن بودند و کارت شبکه در Public بود. DefaultInboundAction مقدار NotConfigured نشان می‌دهد، یعنی رفتار پیش‌فرض Windows: ورودی مسدود، خروجی مجاز. پس قوانین مهم، قوانین پروفایل Public هستند.

برای دیدن آنچه اجازهٔ ورود دارد:

Get-NetFirewallRule -Direction Inbound -Enabled True -Action Allow |
    Group-Object DisplayGroup | Sort-Object Count -Descending |
    Select-Object Count, Name -First 8

54 قانون ورودی فعال شمردیم. بیشترشان مال خود Windows هستند (Core Networking، Cast to Device، mDNS)، به‌اضافهٔ سه قانون Remote Desktop. ping میان آن‌ها نبود.

2. یک پورت باز کنید

فرض کنید برنامه‌تان روی پورت TCP 8080 گوش می‌دهد:

New-NetFirewallRule -DisplayName 'Web app 8080' -Direction Inbound `
    -Protocol TCP -LocalPort 8080 -Action Allow

قانون همان لحظه‌ای که ساخته شود کار می‌کند. از ماشین دوم ما پورت 8080 از مسدود به باز تغییر کرد، در حالی که پورت 8081، که برنامه‌ای روی آن هم گوش می‌داد، مسدود ماند. قانونی که -Profile نداشته باشد روی همهٔ پروفایل‌ها، از جمله Public، اعمال می‌شود.

برای یک بازه یا فهرست از -LocalPort 8000-8010 یا -LocalPort 80,443 استفاده کنید. برای UDP مقدار -Protocol را عوض کنید.

3. فقط به نشانی‌های خاص اجازه دهید

بیشتر سرویس‌ها لازم نیست کل اینترنت را بپذیرند. قانون را به نشانی‌هایی که باید وصل شوند محدود کنید:

Set-NetFirewallRule -DisplayName 'Web app 8080' -RemoteAddress 203.0.113.10
Set-NetFirewallRule -DisplayName 'Web app 8080' -RemoteAddress 203.0.113.10, 198.51.100.0/24

هر دو حالت را آزمودیم. با یک نشانی غریبه در -RemoteAddress، ماشین آزمایشی ما دیگر نتوانست وصل شود. وقتی نشانی خودش را افزودیم، توانست. همین پارامتر را روی قوانین Remote Desktop بگذارید تا RDP فقط برای دفترتان بماند. اگر IP خانه‌تان زیاد عوض می‌شود، پیش از این کار برای RDP دوباره فکر کنید.

4. ping را روشن کنید

Windows در حالت اولیه به ping پاسخ نمی‌دهد. قانون وجود دارد اما خاموش است:

Enable-NetFirewallRule -DisplayName 'File and Printer Sharing (Echo Request - ICMPv4-In)'

بعد از این، سرور ما بی‌درنگ به ping پاسخ داد. ابزارهای پایشی که در دسترس بودن را با ping می‌سنجند به این نیاز دارند. برای خاموش کردن دوباره، Disable-NetFirewallRule را با همان نام به کار ببرید.

5. آنچه مسدود می‌شود را ثبت کنید

وقتی چیزی وصل نمی‌شود و نمی‌دانید چرا، از فایروال بخواهید آنچه را رد می‌کند یادداشت کند:

Set-NetFirewallProfile -Profile Public -LogBlocked True -LogMaxSizeKilobytes 4096
Get-Content C:\Windows\System32\LogFiles\Firewall\pfirewall.log -Tail 20

هر تلاش مسدودشده به سطری مثل این تبدیل می‌شود:

2026-10-25 02:07:25 DROP TCP 198.51.100.7 203.0.113.25 43386 445 60 S 2112839481 0 64240 - - - RECEIVE 4

این‌طور خوانده می‌شود: تاریخ و زمان، اقدام، پروتکل، نشانی مبدأ، نشانی سرور شما، پورت مبدأ، پورت مقصد. صبور باشید: Windows لاگ را دسته‌ای می‌نویسد و رکوردهای آزمایشی ما حدود یک دقیقه پس از تلاش‌ها ظاهر شدند. سقف 4 MB نمی‌گذارد فایل بی‌پایان بزرگ شود.

6. پشتیبان بگیرید و مرتب کنید

پیش از یک تغییر بزرگ، همهٔ قوانین را در یک فایل ذخیره کنید:

netsh advfirewall export C:\fw-backup.wfw

خروجی ما 148 KB بود. netsh advfirewall import C:\fw-backup.wfw دقیقًا همان مجموعه را برمی‌گرداند و جایگزین آنچه هست می‌کند. قانونی را که دیگر لازم ندارید با نامش حذف کنید:

Remove-NetFirewallRule -DisplayName 'Web app 8080'

اگر خودتان را بیرون گذاشتید

اگر قانونی Remote Desktop خودتان را قطع کرد، کنسول پنل خود را باز کنید. از راه RDP نمی‌گذرد، پس می‌توانید وارد شوید و با Remove-NetFirewallRule یا Set-NetFirewallRule آن را برگردانید.

NAT یا IP اختصاصی

در پلن‌های NAT اینترنت از یک پورت اختصاصی به سرور شما می‌رسد که به Remote Desktop می‌رود. پورت‌های دیگر از بیرون دست‌نیافتنی می‌مانند، هر چه در فایروال Windows اجازه دهید. برای ارائهٔ سایت یا پذیرش اتصال روی پورت‌های دیگر به IPv4 اختصاصی نیاز دارید: Windows Small-IP (4 vCPU، 4 GB، 50 GB، ماهی $28) یکی با همهٔ پورت‌های باز به شما می‌دهد و آن‌وقت تصمیم با فایروال Windows است. Windows-Small با NAT ماهی $11 است. هر چهار پلن Windows در صفحهٔ Windows VPS هستند و پرداخت با USDT، USDC یا ETH روی شبکه‌های Base، Ethereum یا Polygon انجام می‌شود.

پرسش‌های متداول

آیا فایروال Windows روی Windows VPS به‌طور پیش‌فرض روشن است؟

بله. روی ایمیج Windows Server 2022 ما هر سه پروفایل روشن‌اند، کارت شبکه در پروفایل Public است و اتصال‌های ورودی مسدود می‌شوند مگر قانونی اجازه دهد. اتصال‌های خروجی مجازند.

چرا سرور Windows من به ping پاسخ نمی‌دهد؟

Windows به‌طور پیش‌فرض ping را مسدود می‌کند: قانون File and Printer Sharing (Echo Request - ICMPv4-In) وجود دارد اما خاموش است. با یک فرمان PowerShell روشنش کنید تا سرور بی‌درنگ پاسخ دهد.

در فایروال Windows پورتی باز کردم، اما از اینترنت هنوز بسته است. چرا؟

در پلن NAT فقط پورت اختصاصی شما به سرور می‌رسد و آن هم به Remote Desktop می‌رود. پورت‌های دیگر از اینترنت در دسترس نیستند، فایروال هر چه بگوید. برای اجرای سایت یا سرویس دیگری روی Windows، پلنی با IPv4 اختصاصی بگیرید.

اگر با قانون فایروال RDP را روی خودم ببندم چه؟

کنسول پنل خود را باز کنید. بدون RDP کار می‌کند، پس می‌توانید از آن‌جا وارد شوید و قانون را اصلاح یا حذف کنید. پیش از محدود کردن RDP به یک IP، مطمئن شوید نشانی خودتان تغییر نمی‌کند.

چطور ببینم فایروال چه چیزی را مسدود می‌کند؟

ثبت اتصال‌های ردشده را برای پروفایل Public روشن کنید. آن‌وقت Windows هر تلاش مسدودشده را در pfirewall.log می‌نویسد. در آزمایش ما رکوردها حدود یک دقیقه بعد ظاهر شدند، چون Windows لاگ را دسته‌ای می‌نویسد.

نظرات

هنوز نظری نیست. اولین نفر باشید.

یک نظر بگذارید

نظرات پیش از نمایش بررسی می‌شوند.