روش های تنظیم DNS در ubuntu

در ubuntu, چندین روش مختلف برای تنظیم DNS از خط فرمان وجود دارد که برخی از آن ها را برسی می‌کنیم.

با resolvconf

فایل /etc/resolvconf/resolv.conf.d/head را ایجاد و ویرایش کنید.

sudo mkdir -p /etc/resolvconf/resolv.conf.d/ && sudo nano /etc/resolvconf/resolv.conf.d/head

سپس به صورت زیر nameserver های خود را در آن تعریف کنید.

nameserver 178.22.122.100
nameserver 185.51.200.2

سپس با اجرای استورات زیر, DNS را بروزرسانی کنید.

sudo resolvconf -u

برای مطمئن شدن از اینکه آیا nameserver ها نوشته شده اند, فایل زیر را می‌خوانیم.

cat /etc/resolv.conf

با systemd-resolved

sudo mkdir -p /etc/systemd/resolved.conf.d/ && sudo nano /etc/systemd/resolved.conf.d/dns_servers.conf
[Resolve]
DNS=8.8.8.8 1.1.1.1 9.9.9.9 178.22.122.100 185.51.200.2

سپس با دستور زیر, systemd-resolved را restart کنید.

sudo systemctl restart systemd-resolved

با netplan

این روش برای برخی به خوبی کار می‌کند, و البته برای برخی دیگر, گاهی خیر؛ در پوشه /etc/netplan/, فایل YAML موجود را به شکل زیر ویرایش کنید.

network:
    version: 2
    renderer: NetworkManager
    ethernets:
       [DEVICE_NAME]:
          dhcp4: true
          nameservers:
             addresses: [NAMESERVER, .... , NAMESERVER_n]

با دستور ip a می‌توانید قسمت های خالی را پر کنید.

2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 54:a0:50:8b:fb:9e brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.5/24 brd 192.168.1.255 scope global dynamic noprefixroute enp4s0
       valid_lft 80631sec preferred_lft 80631sec
    inet6 fe80::df6b:958a:41a6:89db/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

سپس دستور sudo netplan apply وارد کنید تا تغیرات ثبت شود.

comments