Kuidas muuta DNS-servereid VPS-is: Linux ja Windows
Serveris DNS-i muutmiseks tuleb kõigepealt aru saada, kes nimelahendust juhib: kas /etc/resolv.conf otse, systemd-resolved, netplan või NetworkManager Linuxis, või Set-DnsClientServerAddress Windowsis. Vale faili muutmine tühistatakse sageli automaatselt — allpool vaatame läbi iga juhtumi.
Kes teie süsteemis DNS-i juhib
Kõigepealt kontrollige, kuhu resolv.conf osutab:
ls -l /etc/resolv.conf
- Kui see on nimeviit failile
../run/systemd/resolve/stub-resolv.conf, juhib DNS-i systemd-resolved. - Kui see on tavaline fail, võib seda otse muuta (kuid netplan, NetworkManager või cloud-init võivad selle üle kirjutada).
Viis 1. resolv.conf otsene muutmine
Sobib siis, kui faili ei halda ükski teenus. Avage see:
sudo nano /etc/resolv.conf
Määrake vajalikud serverid:
nameserver 1.1.1.1
nameserver 8.8.8.8
Miinus: fail võidakse taaskäivitusel üle kirjutada. Püsivuse jaoks kasutage viisi, mis vastab teie võrguhaldurile.
Viis 2. systemd-resolved
Muutke teenuse konfiguratsioonifaili:
sudo nano /etc/systemd/resolved.conf
Sektsioonis [Resolve] määrake:
[Resolve]
DNS=1.1.1.1 8.8.8.8
FallbackDNS=9.9.9.9
Taaskäivitage teenus ja kontrollige:
sudo systemctl restart systemd-resolved
resolvectl status
Viis 3. netplan (Ubuntu)
Kui võrk on seadistatud netplaniga, määratakse DNS just seal:
network:
version: 2
ethernets:
ens3:
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8
Rakendage:
sudo netplan apply
Viis 4. Windows Server
Avage PowerShell administraatori õigustes, uurige välja liidese indeks ja määrake DNS:
Get-NetAdapter | Format-Table Name, ifIndex
Set-DnsClientServerAddress -InterfaceIndex 12 -ServerAddresses ("1.1.1.1","8.8.8.8")
Kontroll:
Get-DnsClientServerAddress -InterfaceIndex 12
Populaarsed avalikud DNS-serverid
| Teenus | Esmane | Teisene |
|---|---|---|
| Cloudflare | 1.1.1.1 | 1.0.0.1 |
| 8.8.8.8 | 8.8.4.4 | |
| Quad9 | 9.9.9.9 | 149.112.112.112 |
Viis 5. NetworkManager (nmcli)
CentOS-is, RHEL-is, Fedoras ja mõnes lauaarvuti Ubuntus haldab võrku NetworkManager. Muutke DNS-i käsuga nmcli, muidu resolv.conf muudatused tühistatakse.
Vaadake aktiivsed ühendused:
nmcli connection show
Määrake vajalikule ühendusele DNS (näiteks System eth0):
sudo nmcli connection modify "System eth0" ipv4.dns "1.1.1.1 8.8.8.8"
sudo nmcli connection modify "System eth0" ipv4.ignore-auto-dns yes
sudo nmcli connection up "System eth0"
Parameeter ignore-auto-dns yes keelab teie serverite ülekirjutamise DHCP väärtustega.
DNS-i vahemälu tühjendamine
Pärast serverite vahetamist võivad vanad vastused vahemällu alles jääda. Tühjendage see:
sudo resolvectl flush-caches
Windowsis:
Clear-DnsClientCache
Kuidas kontrollida, et DNS vahetus
resolvectl status
dig example.com
nslookup example.com
Käsu dig väljundis näitab rida SERVER:, millist lahendajat tegelikult kasutati.
Korduma kippuvad küsimused
Miks resolv.conf muutub pärast taaskäivitust vanaks? Selle kirjutab üle systemd-resolved, netplan või cloud-init. Muutke DNS-i seal, kus faili hallatakse, mitte resolv.conf-is endas.
Kas DNS-i muudatused jõustuvad kohe?
Uued päringud küll. Kuid juba vahemällu salvestatud vastused elavad TTL-i lõpuni. Vahemälu tühjendamiseks: sudo resolvectl flush-caches.
Kuidas valida DNS-serverit? Lähtuge lähedusest ja töökindlusest: Cloudflare (1.1.1.1) ja Google (8.8.8.8) on enamikus piirkondades stabiilsed ja kiired.
Kas oma kohaliku DNS-i saab määrata?
Jah, määrake oma lahendaja IP-aadress (näiteks unbound või dnsmasq) väärtusena nameserver/DNS=.
Kuidas teada saada, milline DNS on praegu kasutusel?
resolvectl status Linuxis või Get-DnsClientServerAddress Windowsis näitavad aktiivseid servereid.
Võtate kasutusele ja seadistate oma serverit? Valige Linuxi VPS jaotisest VPS rent või tellige serverite haldus.