
قطع اینترنت کل شبکه پس از ریاستارت سرور | مشکل در NAT یا فایروال؟
Table of Contents
Toggleمقدمه
در بسیاری از سازمانها، ریاستارت سرور امری اجتنابناپذیر است؛ چه به دلیل بهروزرسانیهای امنیتی، چه تنظیمات سیستمی یا حتی رفع خطاهای نرمافزاری. اما زمانی که پس از هر بار ریاستارت، کل شبکه دسترسی به اینترنت را از دست میدهد، این موضوع به یک زنگ خطر جدی تبدیل میشود. این اختلال نهتنها موجب توقف سرویسهای حیاتی میشود، بلکه میتواند فرآیندهای کاری را کاملاً مختل کرده و حتی منجر به از بین رفتن دادهها یا پیامهای ضروری شود.
در اغلب این موارد، منشأ مشکل در پیکربندی اشتباه یا ناپایدار NAT یا رولهای فایروال است که پس از بوت سیستم مجدداً بارگذاری نمیشوند. بیتوجهی به این جزئیات فنی میتواند سازمان را در برابر تهدیدهای امنیتی و اختلالات زیرساختی آسیبپذیر کند.
در این مقاله به صورت گامبهگام دلایل بروز این مشکل و راهکارهای عملی برای پیشگیری از آن بررسی میشود. اگر شما نیز با چنین مشکلی مواجه هستید یا میخواهید از تکرار آن جلوگیری کنید، این راهنما با پشتوانه تجربه تیمهای فنی ارائهدهنده سرویس پشتیبانی شبکه، دقیقاً برای شما نوشته شده است.
نقش NAT و فایروال در دسترسی اینترنت شبکه
در یک شبکه سازمانی، NAT (Network Address Translation) و فایروال، دو ستون حیاتی برای برقراری و کنترل دسترسی کاربران به اینترنت هستند. اگر این دو مؤلفه بهدرستی پیکربندی نشده یا پس از هر بار راهاندازی مجدد سرور بارگذاری نشوند، نتیجه آن میتواند قطع کامل ارتباط اینترنتی برای کلاینتها باشد.
NAT وظیفه تبدیل آدرسهای IP خصوصی (Private) درون شبکه به یک IP عمومی برای دسترسی به اینترنت را بر عهده دارد. بدون فعال بودن این سرویس، کاربران داخل شبکه قادر به ارسال و دریافت ترافیک از بیرون شبکه نخواهند بود. این امر بهویژه در محیطهایی که فقط یک آدرس IP عمومی دارند (مانند بسیاری از دفاتر و سازمانها)، اهمیت دوچندان دارد.
در کنار NAT، فایروال بهعنوان یک لایه حفاظتی عمل میکند و تعیین میکند که کدام بستههای داده اجازه عبور از شبکه داخلی به اینترنت (و بالعکس) را دارند. رولهای فایروال، درگاهها (ports)، پروتکلها و آدرسها را بررسی کرده و بر اساس آنها اجازه یا عدم اجازه دسترسی را صادر میکنند.
با این اوصاف، هرگونه خلل در اجرای خودکار تنظیمات NAT یا رولهای فایروال پس از بوت شدن سیستم، منجر به قطع شدن کل دسترسی اینترنتی کاربران شبکه میشود؛ حالتی که بسیاری از مدیران شبکه با آن دست به گریبان هستند.
چرا بعد از ریاستارت سرور، اینترنت قطع میشود؟
مشاهده قطع شدن اینترنت برای کل شبکه پس از ریاستارت سرور، در ظاهر ممکن است پیچیده به نظر برسد؛ اما در اغلب موارد، دلیل آن به تنظیمات ناپایدار یا فراموششدهای در سطح NAT، فایروال یا سرویسهای مسیریابی بازمیگردد. در ادامه، دلایل رایج این مشکل را بررسی میکنیم:
1. غیرفعال شدن رول NAT بعد از بوت
در بسیاری از سیستمهای ویندوز یا لینوکس، اگر تنظیمات NAT بهدرستی ذخیره نشده باشند، پس از هر بار راهاندازی مجدد، رول NAT پاک شده یا غیرفعال میشود. این یعنی مسیر خروجی اینترنت برای کل شبکه دیگر وجود ندارد.
2. سرویس Routing & Remote Access غیرفعال است
در ویندوز سرور، سرویس RRAS که مسئول مسیریابی و NAT است، باید بهصورت دستی فعال و بهدرستی پیکربندی شود. اگر این سرویس پس از ریاستارت اجرا نشود، NAT کار نخواهد کرد و دسترسی اینترنتی قطع میشود.
3. رولهای فایروال بهصورت موقتی تنظیم شدهاند
اگر رولهایی که اجازه عبور ترافیک از شبکه داخلی به اینترنت را میدهند فقط در زمان بوت تنظیم شده باشند (و نه در فایلهای دائمی ذخیره شوند)، این رولها پس از ریاستارت حذف میشوند.
4. مشکل در بارگذاری اسکریپتهای خودکار
در برخی شبکهها، اسکریپتهایی برای اعمال رولهای NAT و فایروال نوشته شدهاند. اگر این اسکریپتها بهدرستی در Startup یا Task Scheduler قرار نگرفته باشند، پس از هر بوت، تنظیمات به حالت پیشفرض بازمیگردند.
5. عدم تنظیم Persistent Rule در لینوکس
در سیستمهای مبتنی بر لینوکس مانند Ubuntu یا CentOS، اگر پس از تنظیم iptables از دستور iptables-save استفاده نشود، تغییرات بعد از ریبوت از بین میروند. همین اتفاق در مورد firewalld هم صادق است اگر --permanent استفاده نشده باشد.
بررسی دقیق تنظیمات NAT و فایروال در ویندوز سرور و لینوکس
برای حل مشکل قطع دسترسی اینترنت پس از ریاستارت سرور، لازم است تنظیمات NAT و فایروال را بهدرستی و پایدار در سیستمعامل اجراکننده سرور پیکربندی کنیم. در ادامه، تنظیمات هر دو سیستمعامل رایج یعنی ویندوز سرور و لینوکس بررسی میشود:
ویندوز سرور

- فعالسازی Routing and Remote Access (RRAS)
- وارد Server Manager شوید.
- از منوی Tools، گزینه Routing and Remote Access را انتخاب کنید.
- روی نام سرور راستکلیک کرده و Configure and Enable Routing and Remote Access را بزنید.
- گزینه NAT را انتخاب کرده و کارت شبکهای که به اینترنت متصل است را بهعنوان Public interface مشخص کنید.
- بررسی پایداری سرویس
- وارد Services شوید.
- مطمئن شوید سرویس RRAS در حالت Automatic باشد و پس از ریاستارت اجرا شود.
- تنظیم رولهای فایروال
- در Windows Firewall، رولهایی برای اجازه ترافیک خروجی (Outbound) و ورودی (Inbound) تعریف کنید.
- از PowerShell برای پایداری رولها استفاده کنید: powershellCopyEdit
- New-NetFirewallRule -DisplayName “Allow NAT” -Direction Outbound -Action Allow -Protocol Any
لینوکس (Ubuntu / CentOS)
- فعالسازی IP Forwarding
- فایل
/etc/sysctl.confرا باز کرده و خط زیر را اضافه یا فعال کنید: iniCopyEditnet.ipv4.ip_forward=1 - سپس اجرا کنید: bashCopyEdit
sysctl -p
- فایل
- تنظیم رول NAT با iptables bashCopyEdit
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE- ذخیرهسازی رولها به صورت دائمی
- در Ubuntu: bashCopyEdit
apt install iptables-persistent netfilter-persistent save - در CentOS: bashCopyEdit
service iptables save
- در Ubuntu: bashCopyEdit
- فایروال (firewalld یا ufw)
- اگر از firewalld استفاده میکنید، حتماً تنظیمات را با
--permanentانجام دهید و سپس reload کنید: bashCopyEditfirewall-cmd --permanent --add-masquerade firewall-cmd --reload
- اگر از firewalld استفاده میکنید، حتماً تنظیمات را با
با انجام این تنظیمات، حتی پس از هر بار ریاستارت، NAT و فایروال به درستی بارگذاری میشوند و کاربران شبکه بدون اختلال به اینترنت دسترسی خواهند داشت.
راهکارهای پایدار برای رفع مشکل
برای اینکه پس از هر بار ریاستارت سرور، دسترسی شبکه به اینترنت دچار اختلال نشود، باید تنظیمات NAT و فایروال را بهصورت دائمی و خودکار ذخیره و مدیریت کرد. در این بخش، به مهمترین راهکارهای عملی برای ویندوز سرور و لینوکس میپردازیم:
در ویندوز سرور
1. فعالسازی دائم Routing and Remote Access
اطمینان حاصل کنید که سرویس RRAS فعال و در حالت Automatic Startup باشد. پس از هر ریاستارت، این سرویس باید بهصورت خودکار اجرا شود.
2. استفاده از اسکریپت PowerShell
اگر رولهای فایروال یا NAT به دلایلی حذف میشوند، یک اسکریپت PowerShell بنویسید و در Task Scheduler تنظیم کنید تا پس از بوت اجرا شود.
netsh interface ip add address "Ethernet" 192.168.1.1 255.255.255.0
netsh routing ip nat install
3. ذخیرهسازی رولهای فایروال در Group Policy
در شبکههای دامین، میتوانید رولها را از طریق GPO روی کلاینتها و سرورها اعمال و تثبیت کنید.
در لینوکس (Ubuntu / CentOS)
1. ذخیره تنظیمات iptables
پس از تنظیم رولها، از دستور زیر برای ذخیره آنها استفاده کنید:
iptables-save > /etc/iptables/rules.v4
2. اجرای خودکار رولها پس از بوت
برای بارگذاری رولها در بوت سیستم:
- در Debian/Ubuntu:
apt install iptables-persistent - در CentOS:
service iptables save
3. استفاده از systemd یا rc.local
در برخی سیستمها میتوانید رولها را در یک اسکریپت قرار داده و آن را در فایل rc.local یا سرویس systemd اجرا کنید.
4. بررسی اسکریپتهای فایروال در firewalld
اگر از firewalld استفاده میکنید، از دستور --permanent برای پایداری استفاده و سپس reload کنید:
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload
خلاصه دلایل و راهکارهای رفع مشکل NAT و فایروال پس از ریاستارت
| نوع سیستمعامل | مشکل رایج پس از ریاستارت | راهکار پایدار و فنی |
|---|---|---|
| ویندوز سرور | سرویس RRAS غیرفعال میماند | تنظیم سرویس RRAS روی حالت Automatic |
| ویندوز سرور | حذف یا غیرفعال شدن رول NAT و فایروال | ایجاد اسکریپت PowerShell و اجرای آن در Startup Task Scheduler |
| ویندوز سرور | عدم ذخیره تنظیمات بهصورت دامینمحور | پیکربندی Group Policy (GPO) برای رولهای NAT و فایروال |
| لینوکس | حذف رول NAT و فایروال پس از بوت | اجرای iptables-save و بارگذاری در boot با iptables-persistent یا rc.local |
| لینوکس | اعمال نشدن Masquerade در firewalld | استفاده از --permanent در دستورات firewall-cmd و اجرای firewall-cmd --reload |
| لینوکس | غیرفعال بودن IP Forwarding | فعالسازی net.ipv4.ip_forward=1 در sysctl.conf و اجرای sysctl -p |
نتیجهگیری
مشکل قطع دسترسی اینترنت پس از ریاستارت سرور، یکی از چالشهای رایج در شبکههای سازمانی است که معمولاً از عدم پایداری در تنظیمات NAT یا رولهای فایروال ناشی میشود. بیتوجهی به این تنظیمات نهتنها باعث اختلال در سرویسدهی میشود، بلکه میتواند امنیت شبکه را نیز با مخاطره مواجه کند.
برای جلوگیری از این مشکلات، پیادهسازی راهکارهای پایدار و ذخیرهسازی دائمی تنظیمات در سیستمعاملهای ویندوز و لینوکس ضروری است. از آنجایی که این فرآیند ممکن است برای تیمهای غیرتخصصی پیچیده و زمانبر باشد، بهرهمندی از خدمات پشتیبانی شبکه از راه دور میتواند راهحلی سریع، مطمئن و مقرونبهصرفه برای اطمینان از عملکرد پایدار شبکه سازمانی باشد.
فارسی
English
برای اینکه مشکلات مربوط به nat برای سازمان پیش نیاد بهتره سیستم عامل سرور چی باشه از نظر شما؟
سؤال خوبی مطرح کردید. اگر هدف پایداری در NAT، مدیریت آسان فایروال و یکپارچگی با سایر سرویسهای شبکه است، معمولاً Windows Server (نسخههای 2019 یا 2022) برای محیطهای مایکروسافتی و Linux (مثل Ubuntu Server یا CentOS/AlmaLinux) برای محیطهای منعطفتر و قابلاسکریپتنویسی پیشنهاد میشن. اگر روتر یا فایروال سختافزاری ندارید و قرار هست این نقش رو سیستمعامل ایفا کنه، MikroTik یا pfSense هم گزینههای تخصصیتری هستن. انتخاب بستگی به نیازهای سازمان و تجربه تیم فنی داره.
ما هم تو شرکت با این مشکل روبهرو بودیم و هر بار که سرور ریاستارت میشد اینترنت کل شبکه میپرید. تو مقاله دقیق اشاره کردین که
مشکل میتونه از رولهای NAT یا تنظیمات فایروال باشه، که دقیقاً برای ما هم همین بود. ممنون بابت راهنمایی کاربردی
ممنون که تجربهتون رو به اشتراک گذاشتین. خیلی خوشحالیم که مقاله به حل مشکلتون کمک کرده. مشکلات NAT و فایروال بعد از ریاستارت سرور شایع هستن و بررسی دقیقشون واقعاً میتونه از قطعیهای غیرمنتظره جلوگیری کنه.
ما هم تو شرکت با این مشکل داشتیم که بعد از ریاستارت سرور، اینترنت کل شبکه قطع میشد. توضیحاتتون دقیقاً مشکل ما رو نشون داد.
خوشحالیم که مطلب کمککننده بوده. این مشکل معمولاً به رولهای NAT یا تنظیمات فایروال برمیگرده و با بازبینی و اصلاح پیکربندی بهطور کامل قابل حل هست.
آیا برای رفع دائمی این مشکل نیاز به تغییر در سختافزار هست یا فقط باید رولها رو درست تنظیم کرد؟
در اغلب موارد تغییر سختافزار نیاز نیست. بازبینی و اصلاح رولهای فایروال یا NAT معمولاً مشکل را برطرف میکند، مگر اینکه سختافزار دچار ایراد جدی باشد.