راه اندازی نصب و تنظیم dns در لینوکس اوبونتو (Ubuntu) – Centos
نصب و تنظیم dns در لینوکس
اگر اقدام به خرید سرور مجازی کردین و بدون نیاز به نصب کنترل پنل هایی مثل cPanel یا Directadmin میخواین سایت راه اندازی کنین، باتوجه به اینکه با نصب کنترل پنل، سرویس های لازم برای راه اندازی سایت نصب میشن، در صورت عدم نصب کنترل پنل برای اتصال دامنه به سرور باید بصورت دستی سرویس Bind رو نصب کنین و تنظیمات و رکوردهای دامنه و IP رو وارد کنین. شما با خرید VPS ایران یا خرید سرور مجازی آلمان میتونین این سرویس رو در سرورهای بلوسرور راه اندازی کنین. آموزش ویدیویی براساس نسخه Ubuntu 20 تهیه شده ولی در سایر نسخه های اوبونتو یا Centos هم میتونین استفاده کنین، و فقط برای نصب سرویس bind باید از دستورات خود هر سیستم عامل استفاده کنین.
صفحات دیگر سایت :
نصب dns در اوبونتو
آموزش نصب Bind در اوبونتو
برای نصب سرویس bind دستورات زیر رو وارد میکنیم، جهت اتصال به ترمینال لینوکس از آموزش اتصال به SSH در لینوکس میتونین استفاده کنین.
sudo apt update -y
sudo apt install -y bind9 bind9utils bind9-doc dnsutils
( در آموزش ویدیویی اول از فایل named.conf.local یه کپی برای بکاپ تهیه شده بعد اقدام به تنظیم این فایل شده، نیاز به ایجاد بکاپ نیست)، فایل /etc/bind/named.conf.local رو باز میکنیم. فرض میکنیم در اینجا اسم دامنه ای که میخوایم به سرور متصل کنیم test.com است.
zone "test.com" IN { type master; file "/etc/bind/test.com.db"; };
در کدهای بالا یک zone به اسم دامنه که test.com باشه ایجاد کردیم، بعدش آدرس فایل رکوردهایی که باید برای دامنه بدیم رو تعریف میکنیم test.com.db
حالا باید فایل /etc/bind/test.com.db رو با ویرایشگر nano یا هر ویرایشگر دیگه ای باز کنیم و رکوردهامون رو در این فایل قرار بدیم، مثلا رکوردی تعریف میکنیم
nano /etc/bind/test.com.db
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA test.com. root.test.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
;Name Server Information
@ 86400 IN NS ns1.test.com.
@ 86400 IN NS ns2.test.com.
@ IN A 192.168.101.100
localhost.test.com. IN A 192.168.101.100
@ IN MX 0 test.com.
ns1.test.com. 14400 IN A 192.168.101.100 ; #ns1
ns2.test.com. 14400 IN A 192.168.101.100 ; #ns2
www IN A 192.168.101.100
www 14400 IN CNAME test.com.
همچنین بعد از تنظیمات بالا، باید سرویس رو فعال کنیم.
sudo systemctl start named
sudo systemctl enable named
با دستور زیر سرویس DNS رو به فایروال اضافه میکنیم
sudo ufw allow dns
نصب dns در لینوکس centos
برای Centos 7 هم به همین صورت هست، ابتدا با دستورات زیر سرویس Bind رو نصب میکنیم
sudo yum install bind bind-utils
بعد فایل زیر رو باز میکنیم
vi /etc/named.conf
و Zone دامنه رو در این فایل قرار میدیم و آدرس فایل رکورد های دامنه که در دایرکتوری /var/named باشه رو بهش آدرس دهی میکنیم.
zone "test.com" {type master;file "/var/named/test.com.db";};
بعد فایل vi /var/named/itzgeek.local.db رو با ویرایشگر باز میکنیم و رکورد های دامنه رو وارد میکنیم
nano /etc/bind/test.com.db
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA test.com. root.test.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
;Name Server Information
@ 86400 IN NS ns1.test.com.
@ 86400 IN NS ns2.test.com.
@ IN A 192.168.101.100
localhost.test.com. IN A 192.168.101.100
@ IN MX 0 test.com.
ns1.test.com. 14400 IN A 192.168.101.100 ; #ns1
ns2.test.com. 14400 IN A 192.168.101.100 ; #ns2
www IN A 192.168.101.100
www 14400 IN CNAME test.com.
بعد از تنظیم کردن رکورد های دامنه، سرویس DNS رو فعال میکنیم
systemctl restart named
systemctl enable named
اگر از firewalld استفاده میکنین باید پورت 53 رو باز کنین
و برای باز کردن rule 53 که پورت فایروال هست، دستور زیر رو در فایروال اضافه میکنیم
firewall-cmd --permanent --zone=public --add-port=53/tcp firewall-cmd --permanent --zone=public --add-port=53/udp firewall-cmd --reload