تنظیم کردن دامنه و زیر دامنه در VPS لینوکسی

در این آموزش میخواهیم یک دامنه را به یک سرور مجازی متصل کنیم. فرض ما بر این است که از هیچ پنلی مانند Cpanel، Direct Admin، Webmin و… استفاده نکنیم و بخواهیم بطور مستقیم تنظیمات را بر روی سرور انجام دهیم. همچنین توزیع Ubuntu Server 18.04 را برای این آموزش انتخاب کرده ایم. همچنین فرض ما بر این است که تنظیمات اولیه VPS مانند نصب Apache و PHP و… انجام شده است. در این آموزش فقط بر روی اتصال دامنه به سرور تمرکز می کنیم.

[divider]

دامنه چیست؟

برای درک عملکرد دامنه می توان مثال نحوه کارکرد دفترچه تلفن را زد. هر مخاطب در دفترچه تلفن یک شماره تماس دارد، اما شما معمولا این شماره ها را حفظ نمی کنید. بلکه نام مخاطب ها را به خاطر می سپارید. در شبکه جهانی وب نیز هر سرور یک IP منحصر به فرد دارد که مانند شماره تماس عمل می کند. اما از آنجا که به یاد سپردن این IP ها عملا امکان پذیر نیست، در نتیجه از دامنه استفاده می کنیم. دامنه نامی است که به یک IP اختصاص می دهیم. با اینکار تنها لازم است تا نام دامنه را به خاطر بسپاریم. زیرا با وارد کردن نام دامنه، این نام به IP مربوطه ترجمه شده و وب سایت مورد نظر نمایش داده می شود. سرویسی که این ترجمه را انجام می دهد، DNS نام دارد.

[divider]

تنظیمات مربوط به دامنه

همه ی دامنه ها پنلی برای تنظیم دارند تا در آن ns های هاست یا سرور خود را معرفی کنیم. ns ها ورودی های سرویس DNS ما هستند و می توانند در سرور ما یا هر کجای دیگر باشند. اگر از دامنه .ir استفاده می کنید، باید به قسمت تغییر کارگزار دامنه بروید و ns های خود را آن جا معرفی کنید. برای سایر دامنه‌ها، معمولا شرکت‌های هاستینگ مدیریت NS دامنه را در پنل کاربری‌تان قرار می‌دهند. نکته ای که باید به آن توجه شود این است که در برخی موارد(مانند مثال این آموزش) نیاز داریم تا ns هایی تعریف کنیم که بر روی دامنه سایت قرار می گیرند. مثلا اگر سایت شما yoursite.ir باشد، ممکن است ns شما بصورت ns1.yoursite.ir و… تعریف شود. در شرایط این چنینی که نام دامنه در آدرس ns نیز وجود دارد باید آی پی کارگزار نیز وارد شود. در دامنه های .ir اینکار به سادگی قابل انجام است اما در سایر دامنه ها باید child host تعریف کنید و سپس نسبت به تعریف ns اقدام کنید.

[divider]

استفاده از DNS های رایگان

به راحتی می‌توانید از DNS های رایگانی همچون cloudflare.com و یا سرویس‌های مشابه داخلی آن به نام ابر آروان استفاده کنید. این کار علاوه بر سادگی مزیت‌های بهتری هم دارد. اولین خدمت ارزنده‌ای که این سرویس‌ها در اختیار شما قرار می‌دهند، مقابله با حملات DDos است. یعنی زمانی که سرور یا هاست شما از طریق چندین سرور مورد حمله قرار بگیرد. از آنجا که وظیفه‌ی DNS ها تبدیل نام سایت به IP سرور است، با جلوگیری از پاسخگویی به سرورهای مهاجم می‌توان در برابر حملات مقاومت کرد. به این ترتیب منابع محدود هاست یا سرور شما اشغال نمی‌شود و پایداری بیشتری خواهید داشت.

نصب DNS Server

چنانچه تصمیم شما بر این است که حتما سرویس DNS شخصی خود را داشته باشید، این نکته را به خاطر داشته باشید که بخشی از منابع(قدرت پردازش، حافظه رم و ترافیک شبکه سرور) توسط سرویس DNS اشغال خواهد شد. این مورد در زمانی که حمله‌ای بر روی سایت شما اتفاق بیافتد ممکن است باعث از دسترس خارج شدن سایت شود. اما با این حال اگر تصمیم شما همچنان بر این است که DNS شخصی خود را داشته باشید، برای نصب DNS Server انتخاب های مختلفی پیش روی شماست. ما از Bind برای اینکار کمک می‌گیریم. برای نصب Bind کافیست دستور زیر را در ترمینال VPS وارد کنید:

sudo apt-get install bind bind-utils

با وارد کردن دستور بالا سوالی برای تایید نصب از شما پرسیده می شود که باید با وارد کردن y آن را تایید کنید.

[divider]

تنظیم DNS Server

برای تنظیم کردن سرویس DNS Server باید فایل مربوطه را باز کرده و تنظیمات را داخل آن قرار دهید و در نهایت فایل را ذخیره کرده و سرویس Bind را restart کنید. فایل تنظیمات مربوط به سرویس را به کمک دستور زیر باز کنید:

sudo vim /etc/named.conf

فایل تنظیمات را باز کنید. سپس تغییرات زیر را در بلاک options اعمال کنید:

listen-on port 53 {
 any;
 };
...
allow-query {
 any;
 };

سپس در انتهای فایل یک zone برای دامنه خود ایجاد کنید:


zone "yoursite.ir" {
 type master;
 file "/var/named/yoursite.ir";
 };

 

پس از اعمال تغییرات بالا باید فایل تنظیمات را ذخیره کرده و از آن خارج شوید. اگر از ویرایشگر vim استفاده می کنید، با فشردن کلید Ctrl+C از حالت نوشتن خارج شوید و سپس با وارد کردن :wq فایل را ذخیره کرده و خارج شوید. برای زیردامنه ها(subdomain) نیز باید zone های مربوطه را تعریف کنید.

حالا باید zone file مربوط به دامنه خود را که در فایل تنظیمات معرفی کردیم را ایجاد کنیم. طبق مثال ذکر شده در این آموزش zone file باید در آدرس /var/named/yoursite.ir ایجاد شود:


vim /var/named/yoursite.ir

 

 

سپس اطلاعات زیر را در این فایل قرار می هیم. دقت شود که باید به جای yoursite.ir نام دامنه خود را وارد کنید:

$ttl 38400
yoursite.ir. IN SOA yoursite. admin.yoursite.ir. (
 ۲; Serial
 ۱۰۸۰۰; Refresh
 ۳۶۰۰; Retry
 ۶۰۴۸۰۰; Expire
 ۳۸۴۰۰; minimum TTL )
yoursite.ir. IN A 192.168.1.50
www.yoursite.ir. IN A 192.168.1.50
mail.yoursite.ir. IN A 192.168.1.50
ftp.yoursite.ir. IN A 192.168.1.50
ns1.yoursite.ir. IN A 192.168.1.50
ns2.yoursite.ir.  IN A 192.168.1.50
yoursite.ir. IN NS ns1.yoursite.ir.
yoursite.ir. IN NS ns2.yoursite.ir.
yoursite.ir IN MX 10 mail.yoursite.ir. 

دقت کنید که در کدهای بالا باید به جای ۱۹۲٫۱۶۸٫۱٫۵۰ آدرس آی پی VPS خود را قرار دهید. سپس مانند فایل تنظیمات، این فایل را ذخیره کرده و خارج شوید. با اینکار تنظیمات لازم را انجام داده اید. اگر برای زیر دامنه ها نیز zone تعریف کردهاید، باید zone file های مربوط به آنها را نیز ایجاد کنید و مانند نمونه بالا اطلاعات لازم برای هر zone file را در داخل فایل آن قرار داده و ذخیره کنید.

[divider]

تنظیمات Firewall مربوط به DNS

از آنجا که این سرویس با پورت ۵۳ سرو کار دارد، باید این پورت را از طریق فایروال باز کنیم تا سرویس بتواند به درستی کار کند. برای اینکار از دستورات زیر کمک می گیریم:

firewall-cmd --permanent --zone=public --add-port=53/tcp
firewall-cmd --permanent --zone=public --add-port=53/udp
firewall-cmd --reload

[divider]

بررسی صحت اتصال دامنه به سرور

اعمال این تغییرات زمان بر است اما برای بررسی صحت انجام کار می توانید از داخل VPS خود اقدام به گرفتن ping کنید:


ping yoursite.ir

اگر با وارد کردن دستور بالا توانستید آی پی VPS خود را مشاهده کنید، پس توانسته اید با موفقیت دامنه را به VPS خود متصل کنید.

موفق و پیروز باشید…

4 دیدگاه دربارهٔ «تنظیم کردن دامنه و زیر دامنه در VPS لینوکسی;

  1. ممنون از آموزش خوبتون
    دوتا سوال برام پیش اومده
    مثلا من اگر بخوام از دی ان اس های گوگل استفاده کنم باید چیکار کنم؟
    اگر بخوام چندتا دامنه روی سرور داشته باشم رکوردهای ns1 و ns2 رو توی فایل بالا باید چطور تعریف کنم؟

    1. برای اعمال تغییر در DNS می توانید وارد ترمینال شده و دستور زیر را وارد کنید:

      sudo nano /etc/resolv.conf
      

      سپس در داخل این فایل و در بالای قسمتی که عبارت nameserver 127.x.x.x وارد شده، بنویسید nameserver 8.8.8.8 سپس با Ctrl + O فایل را ذخیره کنید. DNS شما به ۸٫۸٫۸٫۸ تغییر کرده است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *