Kaip pakeisti DNS serverius VPS: Linux ir Windows
Norint pakeisti DNS serveryje, pirmiausia reikia suprasti, kas valdo vardų sprendimą: tiesioginis /etc/resolv.conf redagavimas, systemd-resolved, netplan ar NetworkManager Linux sistemoje, arba Set-DnsClientServerAddress Windows sistemoje. Ne to failo taisymas dažnai automatiškai atšaukiamas — toliau išnagrinėsime kiekvieną atvejį.
Kas valdo DNS jūsų sistemoje
Pirmiausia patikrinkite, kur nurodo resolv.conf:
ls -l /etc/resolv.conf
- Jei tai simbolinė nuoroda į
../run/systemd/resolve/stub-resolv.conf— DNS valdo systemd-resolved. - Jei tai paprastas failas — jį galima taisyti tiesiogiai (bet jį gali perrašyti netplan, NetworkManager ar cloud-init).
1 būdas. Tiesioginis resolv.conf redagavimas
Tinka, kai failo nevaldo jokia tarnyba. Atidarykite jį:
sudo nano /etc/resolv.conf
Nurodykite reikiamus serverius:
nameserver 1.1.1.1
nameserver 8.8.8.8
Trūkumas: failas gali būti perrašytas perkraunant. Kad pakeitimai išliktų, naudokite jūsų tinklo tvarkyklę atitinkantį būdą.
2 būdas. systemd-resolved
Suredaguokite tarnybos konfigūraciją:
sudo nano /etc/systemd/resolved.conf
Skiltyje [Resolve] nurodykite:
[Resolve]
DNS=1.1.1.1 8.8.8.8
FallbackDNS=9.9.9.9
Perkraukite tarnybą ir patikrinkite:
sudo systemctl restart systemd-resolved
resolvectl status
3 būdas. netplan (Ubuntu)
Jei tinklas sukonfigūruotas per netplan, DNS nurodomas ten:
network:
version: 2
ethernets:
ens3:
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8
Pritaikykite:
sudo netplan apply
4 būdas. Windows Server
PowerShell administratoriaus teisėmis sužinokite sąsajos indeksą ir nurodykite DNS:
Get-NetAdapter | Format-Table Name, ifIndex
Set-DnsClientServerAddress -InterfaceIndex 12 -ServerAddresses ("1.1.1.1","8.8.8.8")
Patikra:
Get-DnsClientServerAddress -InterfaceIndex 12
Populiarūs vieši DNS
| Tiekėjas | Pirminis | Antrinis |
|---|---|---|
| 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 |
5 būdas. NetworkManager (nmcli)
CentOS, RHEL, Fedora ir kai kuriose darbalaukio Ubuntu versijose tinklą valdo NetworkManager. DNS keiskite per nmcli, kitaip resolv.conf pataisymai bus atšaukti.
Peržiūrėkite aktyvius ryšius:
nmcli connection show
Nurodykite DNS reikiamam ryšiui (pavyzdžiui 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"
Parametras ignore-auto-dns yes neleidžia perrašyti jūsų serverių DHCP reikšmėmis.
DNS talpyklos išvalymas
Pakeitus serverius seni atsakymai gali likti talpykloje. Išvalykite ją:
sudo resolvectl flush-caches
Windows sistemoje:
Clear-DnsClientCache
Kaip patikrinti, kad DNS pasikeitė
resolvectl status
dig example.com
nslookup example.com
dig išvestyje eilutė SERVER: parodys, kuris sprendiklis iš tikrųjų buvo naudojamas.
Dažni klausimai
Kodėl resolv.conf po perkrovimo grįžta į seną būseną? Jį perrašo systemd-resolved, netplan arba cloud-init. DNS keiskite tame šaltinyje, kuris valdo failą, o ne pačiame resolv.conf.
Ar DNS pakeitimai įsigalioja iš karto?
Naujoms užklausoms — taip. Bet jau užkešuoti atsakymai galioja iki TTL pabaigos. Talpyklą išvalysite: sudo resolvectl flush-caches.
Kaip pasirinkti DNS serverį? Vertinkite artumą ir patikimumą: Cloudflare (1.1.1.1) ir Google (8.8.8.8) daugumoje regionų veikia stabiliai ir greitai.
Ar galima nurodyti savo vietinį DNS?
Taip, nurodykite savo sprendiklio IP (pavyzdžiui unbound ar dnsmasq) kaip nameserver/DNS=.
Kaip sužinoti, kuris DNS naudojamas dabar?
resolvectl status Linux sistemoje arba Get-DnsClientServerAddress Windows sistemoje parodys aktyvius serverius.
Diegiate ir konfigūruojate savo serverį? Užsisakykite VPS su Linux skiltyje VPS nuoma arba užsakykite Serverių administravimą.