قطع اینترنت کل شبکه پس از ری‌استارت سرور | مشکل در NAT یا فایروال؟

قطع اینترنت کل شبکه پس از ری‌استارت سرور | مشکل در NAT یا فایروال؟

مقدمه

در بسیاری از سازمان‌ها، ری‌استارت سرور امری اجتناب‌ناپذیر است؛ چه به دلیل به‌روزرسانی‌های امنیتی، چه تنظیمات سیستمی یا حتی رفع خطاهای نرم‌افزاری. اما زمانی که پس از هر بار ری‌استارت، کل شبکه دسترسی به اینترنت را از دست می‌دهد، این موضوع به یک زنگ خطر جدی تبدیل می‌شود. این اختلال نه‌تنها موجب توقف سرویس‌های حیاتی می‌شود، بلکه می‌تواند فرآیندهای کاری را کاملاً مختل کرده و حتی منجر به از بین رفتن داده‌ها یا پیام‌های ضروری شود.

در اغلب این موارد، منشأ مشکل در پیکربندی اشتباه یا ناپایدار 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 و فایروال را به‌درستی و پایدار در سیستم‌عامل اجراکننده سرور پیکربندی کنیم. در ادامه، تنظیمات هر دو سیستم‌عامل رایج یعنی ویندوز سرور و لینوکس بررسی می‌شود:


ویندوز سرور

تنظیمات nat در ویندوز سرور
  1. فعال‌سازی Routing and Remote Access (RRAS)
    • وارد Server Manager شوید.
    • از منوی Tools، گزینه Routing and Remote Access را انتخاب کنید.
    • روی نام سرور راست‌کلیک کرده و Configure and Enable Routing and Remote Access را بزنید.
    • گزینه NAT را انتخاب کرده و کارت شبکه‌ای که به اینترنت متصل است را به‌عنوان Public interface مشخص کنید.
  2. بررسی پایداری سرویس
    • وارد Services شوید.
    • مطمئن شوید سرویس RRAS در حالت Automatic باشد و پس از ری‌استارت اجرا شود.
  3. تنظیم رول‌های فایروال
    • در Windows Firewall، رول‌هایی برای اجازه ترافیک خروجی (Outbound) و ورودی (Inbound) تعریف کنید.
    • از PowerShell برای پایداری رول‌ها استفاده کنید: powershellCopyEdit
    • New-NetFirewallRule -DisplayName “Allow NAT” -Direction Outbound -Action Allow -Protocol Any

لینوکس (Ubuntu / CentOS)

  1. فعال‌سازی IP Forwarding
    • فایل /etc/sysctl.conf را باز کرده و خط زیر را اضافه یا فعال کنید: iniCopyEditnet.ipv4.ip_forward=1
    • سپس اجرا کنید: bashCopyEditsysctl -p
  2. تنظیم رول NAT با iptables bashCopyEditiptables -t nat -A
  3. POSTROUTING -o eth0 -j MASQUERADE
  4. ذخیره‌سازی رول‌ها به صورت دائمی
    • در Ubuntu: bashCopyEditapt install iptables-persistent netfilter-persistent save
    • در CentOS: bashCopyEditservice iptables save
  5. فایروال (firewalld یا ufw)
    • اگر از firewalld استفاده می‌کنید، حتماً تنظیمات را با --permanent انجام دهید و سپس reload کنید: bashCopyEditfirewall-cmd --permanent --add-masquerade firewall-cmd --reload

با انجام این تنظیمات، حتی پس از هر بار ری‌استارت، 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 یا رول‌های فایروال ناشی می‌شود. بی‌توجهی به این تنظیمات نه‌تنها باعث اختلال در سرویس‌دهی می‌شود، بلکه می‌تواند امنیت شبکه را نیز با مخاطره مواجه کند.

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

8 نظر

  • برای اینکه مشکلات مربوط به nat برای سازمان پیش نیاد بهتره سیستم عامل سرور چی باشه از نظر شما؟

    • سؤال خوبی مطرح کردید. اگر هدف پایداری در NAT، مدیریت آسان فایروال و یکپارچگی با سایر سرویس‌های شبکه است، معمولاً Windows Server (نسخه‌های 2019 یا 2022) برای محیط‌های مایکروسافتی و Linux (مثل Ubuntu Server یا CentOS/AlmaLinux) برای محیط‌های منعطف‌تر و قابل‌اسکریپت‌نویسی پیشنهاد می‌شن. اگر روتر یا فایروال سخت‌افزاری ندارید و قرار هست این نقش رو سیستم‌عامل ایفا کنه، MikroTik یا pfSense هم گزینه‌های تخصصی‌تری هستن. انتخاب بستگی به نیازهای سازمان و تجربه تیم فنی داره.

  • ما هم تو شرکت با این مشکل روبه‌رو بودیم و هر بار که سرور ری‌استارت می‌شد اینترنت کل شبکه می‌پرید. تو مقاله دقیق اشاره کردین که
    مشکل می‌تونه از رول‌های NAT یا تنظیمات فایروال باشه، که دقیقاً برای ما هم همین بود. ممنون بابت راهنمایی کاربردی

    • ممنون که تجربه‌تون رو به اشتراک گذاشتین. خیلی خوشحالیم که مقاله به حل مشکلتون کمک کرده. مشکلات NAT و فایروال بعد از ری‌استارت سرور شایع هستن و بررسی دقیقشون واقعاً می‌تونه از قطعی‌های غیرمنتظره جلوگیری کنه.

  • ما هم تو شرکت با این مشکل داشتیم که بعد از ری‌استارت سرور، اینترنت کل شبکه قطع می‌شد. توضیحاتتون دقیقاً مشکل ما رو نشون داد.

    • خوشحالیم که مطلب کمک‌کننده بوده. این مشکل معمولاً به رول‌های NAT یا تنظیمات فایروال برمی‌گرده و با بازبینی و اصلاح پیکربندی به‌طور کامل قابل حل هست.

  • آیا برای رفع دائمی این مشکل نیاز به تغییر در سخت‌افزار هست یا فقط باید رول‌ها رو درست تنظیم کرد؟

    • در اغلب موارد تغییر سخت‌افزار نیاز نیست. بازبینی و اصلاح رول‌های فایروال یا NAT معمولاً مشکل را برطرف می‌کند، مگر اینکه سخت‌افزار دچار ایراد جدی باشد.

ارسال نظر

آدرس ایمیل شما منتشر نخواهد شد.