روش های تنظیم 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 وارد کنید تا تغیرات ثبت شود.