مدیریت ترافیک در محیطهای سرور مجازی (VPS)، بهویژه در سرویسدهندههایی مانند Hetzner Cloud که محدودیتهای ۲۰ ترابایتی [۱] دارند، یک چالش حرفهای است. مهندسان شبکه برای “راهاندازی مجدد” شمارنده ترافیک، نیاز به کلونسازی سرورهای Hetzner با Snapshot دارند تا بتوانند سرویسهای حیاتی مانند را بدون توقف و تحمیل هزینههای اضافی ادامه دهند.
در این مقاله به بررسی جامع و فنی کلونسازی سرورهای Hetzner برای توزیعهای لینوکس (Ubuntu, CentOS) و میکروتیک میپردازیم. ما این فرآیند را در پنل Hetzner Cloud Console دنبال خواهیم کرد.
⚙️ پیشنیازهای کلونسازی سرورهای Hetzner با Snapshot
عملیات مهاجرت بر پایه ابزار اسنپشات (Snapshot) در پنل Hetzner Cloud Console استوار است.
🔹هزینه اسنپشات
اسنپشات (Snapshot) یک کپی دقیق از وضعیت دیسک سرور شما در یک لحظه مشخص است که برای کلونسازی استفاده میشود.
📌 هزینه نگهداری: فراموش نکنید که نگهداری اسنپشات هزینهبر است. نرخ Hetzner حدود €۰.۰۱۱ به ازای هر گیگابایت در ماه است.
✅ پس از اتمام کار، اسنپشات را حذف کنید تا از هزینههای ناخواسته جلوگیری شود.
🛠 مراحل کلونسازی سرورهای Hetzner با Snapshot
این فرآیند برای تمامی سیستم عاملها یکسان شروع میشود، اما در گام عیبیابی شبکه (گام چهارم) متفاوت است.
گام اول: تهیه اسنپشات “تمیز” و ایمن
بهتر است ایجاد اسنپشات در حالتی انجام شود که هیچ عملیات دیسکی (I/O) در حال انجام نباشد تا از خرابی فایلسیستم و ارورهای احتمالی جلوگیری شود.
- ⚠️ خاموش کردن (Power Off): برای تهیه یک کپی سالم و قابل اعتماد، سرور قدیمی را از Hetzner Console خاموش (Power Off) کنید. این کار موقتاً سرویس تانل را قطع میکند.
- ایجاد اسنپشات: به بخش “Snapshots” رفته، یک نام مثلا clean-production-backup انتخاب نموده و اسنپشات را ایجاد کنید.
گام دوم: ساخت سرور جدید از روی اسنپشات
این گام، پل ارتباطی بین سرور قدیمی و سرور جدید است و تعیین میکند که سرور جدید با کدام پیکربندی بالا بیاید.
- افزودن سرور: در Hetzner Console، به بخش “Servers” بروید و روی “Add Server” کلیک کنید.
- انتخاب منبع (Source): در بخش “Image” یا سیستم عامل، به جای انتخاب توزیعهای لینوکس یا میکروتیک خام، به قسمت “Snapshots” بروید و اسنپشات ایجاد شده را انتخاب کنید.
- انتخاب پلن و موقعیت: پلن و موقعیت سرور جدید را انتخاب کنید.
- کلیدهای SSH: در بخش “SSH Keys” هیچ چیزی را انتخاب نکنید تا سرور با همان یوزرنیم و پسورد قدیمی سرور مبدأ بالا بیاید.

تهیه Snapshot از سرور و ریبیلد سرور جدید با Snapshot سرور قبلی
⛔️ اشتباه رایج کاربران: عدم دسترسی با پسورد جدید
- توضیح: پس از راهاندازی سرور جدید، Hetzner یک رمز عبور موقت جدید برای سرور جدید به شما ایمیل میکند.
- واقعیت: چون شما یک کپی دقیق (Snapshot) از دیسک قبلی بارگذاری کردهاید، تمام یوزرها و پسوردهای سیستمی شما از سرور مبدأ منتقل شدهاند. باید با یوزرنیم و پسورد سرور قدیمی وارد شوید.
- تأیید و ایجاد: روی “Create Server” کلیک کنید. سرور جدید با یک IP عمومی کاملاً جدید راهاندازی میشود.
گام سوم: ورود اولیه و رفع تداخل IP
به محض اینکه سرور جدید بالا میآید، به دلیل حفظ IP ثابت قدیمی در اسنپشات، شبکه قطع است.
- ⚠️ ورود از کنسول (Console Access): فوراً به “Console” در پنل Hetzner بروید.
- ورود به سیستم: با استفاده از یوزرنیم و پسورد سرور قدیمی (و نه پسورد جدیدی که Hetzner ایمیل کرده)، وارد سیستم عامل شوید.
⛔️ اشتباه رایج کاربران: انتظار پینگ از IP جدید
- توضیح: کاربران انتظار دارند سرور با IP جدید Hetzner پینگ بگیرد و در دسترس باشد.
- واقعیت: اسنپشات شما دارای تنظیمات IP ثابت (Static IP) سرور قدیمی است. سرور جدید نمیتواند آن IP را روی کارت شبکه پیدا کند و به همین دلیل ارتباط شبکه قطع شده و پینگ نمیگیرد. شما باید دستی این مشکل را حل کنید.
گام چهارم: رفع تداخل IP در توزیعهای مختلف (فعالسازی DHCP)
حالا که دسترسی کنسول دارید، باید تنظیمات IP ثابت قدیمی را حذف کرده و DHCP Client را فعال کنید تا سرور بتواند IP عمومی جدید Hetzner را دریافت کند و به شبکه متصل شود. نحوه انجام این کار بستگی به سیستم عامل سرور کلونشده شما دارد:
توزیعهای مبتنی بر Netplan (مانند Ubuntu 18.04 و جدیدتر)
سیستمعاملهایی مانند نسخههای جدید اوبونتو از Netplan برای مدیریت شبکه استفاده میکنند که تنظیمات آن در فایلهای با پسوند .yaml ذخیره میشود. سادهترین راه برای رفع تداخل، حذف موقت این فایلهای پیکربندی قدیمی و اجازه دادن به DHCP برای دریافت IP است.
1. حذف فایلهای پیکربندی قدیمی Netplan:
rm /etc/netplan/*
2. اعمال تغییرات و دریافت IP جدید:
3. ریبوت (اختیاری): در صورتی که پس از اجرای دستور بالا، سرور پینگ نگرفت و ارتباط برقرار نشد، سیستم را ریبوت کنید:
توزیعهای مبتنی بر Network Scripts (مانند CentOS 7 / RHEL 7)
در این توزیعها، تنظیمات شبکه در فایلهای پیکربندی با پیشوند ifcfg- ذخیره میشوند و از Network Scripts استفاده میکنند. باید نوع بوت پروتکل را از ثابت به DHCP تغییر دهید.
1.ورود به دایرکتوری پیکربندی و شناسایی اینترفیس:
cd /etc/sysconfig/network-scripts
2.ویرایش فایل پیکربندی اینترفیس اصلی (مثلاً ifcfg-eno1 یا مشابه آن):
nano ifcfg-eno1
3.اعمال تغییرات DHCP در فایل:
-
- خط BOOTPROTO=static را به BOOTPROTO=dhcp تغییر دهید.
- خطوط مربوط به IP آدرس ثابت شامل IPADDR، NETMASK، GATEWAY را حذف کنید.
4.ریاستارت سرویس شبکه:
systemctl restart network

snapshot گرفتن یک سرور برای انتقال تمام اطلاعات به سرور جدید
توزیعهای مبتنی بر interfaces (مانند Debian و نسخههای قدیمیتر Ubuntu)
در این سیستمها، پیکربندی شبکه در فایل /etc/network/interfaces قرار دارد و باید تنظیمات IP ثابت را با تنظیمات DHCP جایگزین کنید.
1.ویرایش فایل پیکربندی:
nano /etc/network/interfaces
2.اعمال تغییرات DHCP در فایل:
-
- تنظیمات IP ثابت قدیمی برای اینترفیس اصلی (مثلاً eth0) را پیدا کنید.
- تمامی خطوط address، netmask، gateway را حذف کنید.
- مطمئن شوید که خطوط زیر برای فعالسازی DHCP وجود داشته باشند (با فرض اینکه نام اینترفیس eth0 است):
auto eth0
iface eth0 inet dhcp
3.اعمال تغییرات شبکه:
ifdown eth0 && ifup eth0
میکروتیک (RouterOS)
در میکروتیک، تنظیمات به صورت دستورات Shell انجام میشود. مراقب باشید که تنها IP ثابت عمومی را حذف کنید و IPهای لوکال تانل (مانند آدرسهای 172.x.x.x) را نگه دارید.
1.چک کردن آی پی هایی که سرور گرفته: با دستور زیر: تا شماره ردیف (#) IP ثابت عمومی قدیمی را پیدا کنید:
/ip address print
1.حذف IP آدرس ثابت عمومی قدیمی: اگر آی پی پابلیک سرور قدیمی روی سرور جدید وجود داشت با دستور زیر آن را حذف کنید.
/ip address remove X
2.فعالسازی DHCP Client روی اینترفیس اصلی (معمولاً ether1):
/ip dhcp-client add interface=ether1 disabled=no
3.اعمال تغییرات و ریبوت:
/system reboot

ورود اولیه بعد از رییبلد Snapshot و رفع تداخل IP در سرورهای میکروتیک
✅ پس از اجرای دستورات مناسب برای سیستم عامل خود و ریبوت، سرور جدید باید IP عمومی Hetzner را دریافت کرده و پینگ شود.
✅ نتیجه پس از اجرای دستورات: پس از این مرحله و ریبوت، سرور جدید تنظیمات IP ثابت قدیمی را رها کرده و IP عمومی جدیدی را از شبکه Hetzner دریافت میکند و پینگ خواهد شد.

رفع تداخل IP در توزیع های مختلف (فعال_سازی DHCP)
گام پنجم: انتقال نهایی و پاکسازی منابع
- تأیید پایداری: از طریق SSH با IP جدید و پسورد سرور قدیمی وارد شوید. تنظیمات تانل یا سرویس خود را بهروزرسانی کنید و از کارکرد آن اطمینان حاصل کنید.
- حذف سرور قدیمی: 🔒 فوراً سرور قدیمی (آن که محدودیت ترافیکش تمام شده بود) را از Hetzner Console حذف (Delete) کنید تا صورتحساب جدیدی برای ترافیک اضافی برای شما صادر نشود.
- حذف اسنپشات: اسنپشات را نیز حذف کنید.
📊 برای نمونه: یکی از مشتریان زویپ سرور که از سرور لینوکس برای توزیع سرویس استفاده میکرد، به دلیل حجم بالای مصرف دادهها تقریبا بعد از گذشت 20 روز از ماه میلادی به محدودیت حجم 20 ترابایتی Hetzner میرسید. در تلاش اول، کلونسازی بدون خاموش کردن سرور انجام شد که باعث شد سرور جدید با خطای SSH Connection Refused بالا بیاید. تیم پشتیبانی zoip.ir با استفاده از VNC Console و تغییر دستی تنظیمات Netplan (مشابه آنچه در بالا شرح داده شد)، در کمتر از ۱۰ دقیقه سرور را به IP جدید متصل کرده و سرویسدهی را از سرور قدیمی به جدید منتقل کردند.
| فاکتور | روش غیراصولی (با خطا) | روش اصولی (با خاموش کردن) |
| زمان Down Time سرویس | ۴۵ دقیقه (به دلیل عیبیابی دستی) | کمتر از ۵ دقیقه |
| ریسک فساد دیسک | بالا | پایین |
| کیفیت اسنپشات | احتمال خرابی فایلسیستم | Clean State (وضعیت پاک) |
⚠️ نکات و هشدارهای مه در کلونسازی سرورهای Hetzner با Snapshot
- تغییر پسورد بعد از ورود: هرچند با پسورد سرور قدیمی وارد میشوید، اما برای حفظ امنیت حتماً پسورد کاربر root یا کاربر اصلی را پس از اولین ورود تغییر دهید.
- پاکسازی کامل: اگر سرور کلونشده به درستی کار نکرد، هم سرور کلونشده ناموفق و هم اسنپشات آن را حذف کنید. هر سرور حتی در حالت خاموش، هزینههای اندکی (Storage, IP) دارد.
- IP تانل در میکروتیک: اگر از میکروتیک استفاده میکنید، IPهای لوکال تانل (172.x.x.x) را در زمان پاکسازی کانفیگ شبکه حذف نکنید، زیرا این IPها تنظیمات داخلی تانل شما را حفظ میکنند. فقط IP ثابت عمومی قدیمی را پاک کنید.
🧰 بخش عیبیابی (Troubleshooting)
در طول فرآیند کلونسازی سرورهای Hetzner با Snapshot، ممکن است تنظیم مجدد شبکه با خطاهای متداولی مواجه شوید. در زیر به تفکیک سیستم عامل، روشهای عیبیابی سریع آورده شده است:
عیبیابی مشکلات شبکه و دسترسی SSH
1. سرور پینگ نمیشود
دلیل احتمالی: هنوز تنظیمات IP ثابت قدیمی در فایلهای پیکربندی شبکه (Netplan, ifcfg, interfaces) باقی مانده و DHCP را مسدود کرده است، یا تنظیمات بهطور کامل اعمال نشده است.
راه حل در لینوکس (بررسی پیکربندی):
- Netplan (اوبونتو): فایلهای پیکربندی را برای اطمینان از حذف تنظیمات IP ثابت بررسی کنید.
cat /etc/netplan/*.yaml
- Network Scripts (CentOS/RHEL): فایل پیکربندی اینترفیس اصلی را برای اطمینان از تنظیم بودن BOOTPROTO=dhcp بررسی کنید.
cat /etc/sysconfig/network-scripts/ifcfg-eno1
2. SSH Connection Refused یا Time Out
دلایل احتمالی:
- عدم اعتبارنامه صحیح: شما از پسورد جدید Hetzner استفاده میکنید در حالی که باید از پسورد سرور قدیمی استفاده کنید.
- سرویس SSH قطع است: سرویس sshd به درستی راهاندازی نشده یا فایروال آن را مسدود کرده است.
راه حل (از کنسول):
- اعتبارنامه: حتماً با یوزرنیم و پسورد سرور قدیمی وارد شوید.
- بررسی سرویس: وضعیت سرویس SSH را بررسی کنید و اگر غیرفعال است، آن را فعال نمایید.
systemctl status sshd
systemctl start sshd
# در صورت نیاز
3. مشکل بعد از اجرای netplan apply
دلیل احتمالی: خطای سینتکسی (Syntax Error) در فایلهای YAML مربوط به Netplan وجود دارد (مثلاً مشکل در فاصلهگذاریها).
راه حل: از ابزار تستی Netplan استفاده کنید. این دستور تلاش میکند تغییرات را اعمال کند، اما اگر ارتباط شبکه قطع شود، به طور خودکار به تنظیمات قبلی برمیگردد و شما را از دسترسی کنسول بینیاز میکند.
netplan try
سؤال: با توجه به نیاز به انتقال ترافیک تانل، آیا استفاده از IP شناور از نظر امنیتی، نسبت به تغییر دستی DNS، ارجحیت دارد؟ چرا؟ پاسخ خود را در کامنتها با ما در میان بگذارید!

snapshot گرفتن از سرور با سیستم عامل های مختلف
پرسشهای متداول (FAQ):
- 🧐 آیا میتوانم برای کلونسازی از IP شناور (Floating IP) استفاده کنم؟
🔹 بله، اگر از قبل یک IP شناور در Hetzner خریداری کرده باشید، میتوانید آن را از سرور قدیمی جدا کرده و به سرور جدید وصل کنید. این بهترین راه برای حفظ IP در زمان مهاجرت است، اما نیاز به خرید سرویس جداگانه دارد.
- ⚠️ اگر اسنپشات را پاک نکنم و اسنپشات بگیرم، چقدر احتمال خطا وجود دارد؟
🔻 در سیستمهایی که ترافیک دیسکی بالا دارند، احتمال فساد فایلسیستم و عدم بوت شدن صحیح سرور جدید (یا مشکلات ناپایدار شبکه) بسیار بالاست. توصیه میشود هرگز اسنپشات از سرور فعال نگیرید.
- 🚀 آیا این روش کلونسازی، لایسنس سیستم عامل را هم منتقل میکند؟
🔹 بله، اسنپشات تمامی اطلاعات دیسک شامل لایسنسهای نرمافزاری و حتی لایسنس RouterOS را در خود دارد. سرور کلونشده دقیقاً یک کپی از سرور مبدأ خواهد بود.
🎉 نتیجهگیری:
کلونسازی سرورهای Hetzner با Snapshot یک مهارت اساسی است که پایداری و صرفهجویی در هزینههای عملیاتی را تضمین میکند. کلید موفقیت در این عملیات، درک تفاوتهای ریز در پیکربندی شبکه هر سیستم عامل است. با پیروی از این دستورالعمل جامع، میتوانید بدون ترس از وقفه در سرویس یا تحمیل هزینههای گزاف، ترافیک سرورهای خود را به سرورهای جدید زویپ سرور منتقل کنید و به مسیر خود با پایداری ادامه دهید.
سرویسهای خود را بیمه کنید! برای تضمین پایداری و سرعت بالا در تانلها و سرویسهای پرمصرف، همین حالا برای خرید سرور مجازی لینوکس و میکروتیک از zoip.ir اقدام نمایید.
سرورهای مجازی ایران زویپ سرور:
- سرور مجازی ایران – دیتاسنتر پارسیان (NVMe)
- سرور مجازی ایران – نامحدود (NVMe)
- سرور مجازی ایران – دیتاسنتر امین (NVMe)
مشاهده پلنهای سرورهای مجازی خارج زویپ سرور:
- مشاهده پلنهای سرورهای (NVMe) OVH
- مشاهده پلنهای سرورهای هتزنر (NVMe)
- مشاهده پلنهای سرورهای کلوکراسینگ (NVMe)
منابع (References):
[۱] Hetzner Cloud. (2024). Flexible Cloud Hosting Services and VPS Server – Traffic Policy.
[۲] Hetzner Docs. (2024). Snapshots – Creating a server from a Snapshot.
[۳] About Netplan – Ubuntu Server.
[۴] Red Hat Enterprise Linux. (2023). RHEL Networking Guide – Configuring Network Scripts.
[۵] Mikrotik RouterOS Documentation. (2023). Manual:IP/DHCP-Client.
[۶] Ultimate Web Hosting Statistics and Market Share Report (2025).
