آموزش تغییر Hostname در لینوکس (اوبونتو، دبیان، AlmaLinux)
یکی از اولین و اساسیترین قدمها پس از خرید vps جدید، تنظیم صحیح نام میزبان یا Hostname است. Hostname نامی است که سرور شما را در یک شبکه شناسایی میکند و برای عملکرد صحیح بسیاری از نرمافزارها، به خصوص سرویسهای ایمیل و مانیتورینگ، ضروری است.
در گذشته، تغییر Hostname در توزیعهای مختلف لینوکس روشهای متفاوتی داشت. اما خوشبختانه، در تمام سیستمعاملهای مدرن مانند اوبونتو، دبیان، CentOS Stream، AlmaLinux، Rocky Linux و فدورا، این فرآیند به لطف ابزار systemd
و دستور hostnamectl
کاملا یکپارچه و استاندارد شده است. این راهنما روش صحیح و بدون دردسر را به شما آموزش میدهد.
روش مدرن و یکپارچه با hostnamectl (برای تمام توزیعها)
این روش برای تمام توزیعهای لینوکس یکسان عمل میکند و بهترین و امنترین راه برای تغییر دائمی نام میزبان است.
قدم اول: بررسی Hostname فعلی
قبل از هر تغییری، بهتر است نام میزبان فعلی سرور خود را بررسی کنید. برای این کار، دستور زیر را در ترمینال وارد کنید:
hostnamectl
خروجی این دستور اطلاعات کاملی درباره سیستم، به همراه نام میزبان فعلی در خط Static hostname
به شما نمایش میدهد:
Static hostname: rockylinux-server-01
Icon name: computer-vm
Chassis: vm
Machine ID: ...
Boot ID: ...
Virtualization: kvm
Operating System: Rocky Linux 9.3
Kernel: Linux 5.14.0-362.8.1.el9_3.x86_64
Architecture: x86-64
...
قدم دوم: تغییر Hostname با دستور hostnamectl
برای تغییر نام میزبان به صورت دائمی، از دستور hostnamectl set-hostname
استفاده کنید. این تنها دستوری است که شما برای تغییر نام اصلی سیستم نیاز دارید، زیرا به صورت خودکار تمام فایلهای سیستمی لازم (مانند /etc/hostname
) را بهروزرسانی میکند.
نام میزبان جدید خود را جایگزین new-hostname
کنید:
sudo hostnamectl set-hostname new-hostname
نکته مهم در انتخاب نام: بهتر است از یک نام دامنه کاملا معتبر (FQDN) مانند server1.yourdomain.com
یا یک نام کوتاه و توصیفی مانند web-server-01
استفاده کنید. نام انتخابی باید از حروف کوچک انگلیسی، اعداد و خط تیره (-) تشکیل شده باشد.
قدم سوم: بهروزرسانی فایل hosts (برای شناسایی محلی)
در حالی که نام اصلی سرور شما تغییر کرده است، باید فایل /etc/hosts
را نیز ویرایش کنید تا سیستمعامل بتواند نام میزبان جدید را به آدرس IP محلی (localhost) متصل کند. این کار برای عملکرد صحیح برخی نرمافزارها ضروری است.
فایل را با یک ویرایشگر متن مانند nano باز کنید:
sudo nano /etc/hosts
محتوای فایل چیزی شبیه به این خواهد بود:
127.0.0.1 localhost
127.0.1.1 old-hostname
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
...
در خط دوم، نام میزبان قدیمی (old-hostname
) را به نام میزبان جدید خود تغییر دهید، فایل را ذخیره کرده و از آن خارج شوید.
قدم چهارم: تایید تغییرات
برای اطمینان از اینکه همه چیز به درستی انجام شده، دوباره دستور hostnamectl
را اجرا کنید. اکنون باید نام میزبان جدید خود را در خروجی مشاهده کنید. همچنین، میتوانید از سرور خارج شده و دوباره وارد شوید؛ نام میزبان جدید باید در خط فرمان شما نمایش داده شود.
نکته مهم برای کاربران سرورهای ابری: `cloud-init`
بسیاری از ارائهدهندگان سرورهای ابری از ابزاری به نام cloud-init برای مدیریت اولیه سرور استفاده میکنند. این ابزار ممکن است پس از هر بار ریبوت، Hostname را به مقدار اولیه که توسط پنل ابری تنظیم شده، بازگرداند.
برای جلوگیری از این اتفاق، فایل /etc/cloud/cloud.cfg
را باز کنید و مطمئن شوید که مقدار preserve_hostname
برابر با true
است:
sudo nano /etc/cloud/cloud.cfg
خط زیر را پیدا کرده و آن را به true
تغییر دهید (اگر وجود ندارد، آن را اضافه کنید):
preserve_hostname: true
فهرست تیترها