Kā nomainīt DNS serverus VPS: Linux un Windows
Lai serverī nomainītu DNS, vispirms jāsaprot, kas pārvalda vārdu atpazīšanu: tieša /etc/resolv.conf rediģēšana, systemd-resolved, netplan vai NetworkManager Linux vidē, vai Set-DnsClientServerAddress Windows vidē. Nepareizā faila labojumi bieži tiek automātiski atcelti — zemāk apskatīsim katru gadījumu.
Kas jūsu sistēmā pārvalda DNS
Vispirms pārbaudiet, uz ko norāda resolv.conf:
ls -l /etc/resolv.conf
- Ja tā ir simboliska saite uz
../run/systemd/resolve/stub-resolv.conf— DNS pārvalda systemd-resolved. - Ja tas ir parasts fails, to var rediģēt tieši (bet to var pārrakstīt netplan, NetworkManager vai cloud-init).
1. veids. Tieša resolv.conf rediģēšana
Der, ja failu nepārvalda servisi. Atveriet to:
sudo nano /etc/resolv.conf
Norādiet vajadzīgos serverus:
nameserver 1.1.1.1
nameserver 8.8.8.8
Trūkums: failu var pārrakstīt pēc pārstartēšanas. Pastāvīgam rezultātam izmantojiet paņēmienu, kas atbilst jūsu tīkla pārvaldniekam.
2. veids. systemd-resolved
Rediģējiet servisa konfigurāciju:
sudo nano /etc/systemd/resolved.conf
Sadaļā [Resolve] norādiet:
[Resolve]
DNS=1.1.1.1 8.8.8.8
FallbackDNS=9.9.9.9
Pārstartējiet servisu un pārbaudiet:
sudo systemctl restart systemd-resolved
resolvectl status
3. veids. netplan (Ubuntu)
Ja tīkls ir konfigurēts ar netplan, DNS tiek norādīts tur:
network:
version: 2
ethernets:
ens3:
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8
Piemērojiet:
sudo netplan apply
4. veids. Windows Server
PowerShell ar administratora tiesībām noskaidrojiet interfeisa indeksu un norādiet DNS:
Get-NetAdapter | Format-Table Name, ifIndex
Set-DnsClientServerAddress -InterfaceIndex 12 -ServerAddresses ("1.1.1.1","8.8.8.8")
Pārbaude:
Get-DnsClientServerAddress -InterfaceIndex 12
Populārākie publiskie DNS
| Pakalpojums | Primārais | Sekundārais |
|---|---|---|
| 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. veids. NetworkManager (nmcli)
CentOS, RHEL, Fedora un dažās darbvirsmas Ubuntu versijās tīklu pārvalda NetworkManager. Mainiet DNS ar nmcli, citādi resolv.conf labojumi tiks atcelti.
Apskatiet aktīvos savienojumus:
nmcli connection show
Norādiet DNS vajadzīgajam savienojumam (piemēram 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"
Parametrs ignore-auto-dns yes aizliedz pārrakstīt jūsu serverus ar DHCP vērtībām.
DNS keša tīrīšana
Pēc serveru maiņas kešatmiņā var palikt vecās atbildes. Iztīriet to:
sudo resolvectl flush-caches
Windows vidē:
Clear-DnsClientCache
Kā pārbaudīt, ka DNS ir nomainīts
resolvectl status
dig example.com
nslookup example.com
dig izvadē rinda SERVER: parādīs, kurš atrisinātājs tika reāli izmantots.
Biežākie jautājumi
Kāpēc resolv.conf pēc pārstartēšanas atgriežas vecais? To pārraksta systemd-resolved, netplan vai cloud-init. Mainiet DNS tajā avotā, kas pārvalda failu, nevis pašā resolv.conf.
Vai DNS izmaiņas stājas spēkā uzreiz?
Jaunajiem pieprasījumiem jā. Bet jau kešotās atbildes dzīvo līdz TTL beigām. Keša tīrīšana: sudo resolvectl flush-caches.
Kā izvēlēties DNS serveri? Vadieties pēc tuvuma un uzticamības: Cloudflare (1.1.1.1) un Google (8.8.8.8) ir stabili un ātri lielākajā daļā reģionu.
Vai var norādīt savu lokālo DNS?
Jā, norādiet sava atrisinātāja IP adresi (piemēram unbound vai dnsmasq) kā nameserver/DNS=.
Kā uzzināt, kurš DNS tiek izmantots šobrīd?
resolvectl status Linux vidē vai Get-DnsClientServerAddress Windows vidē parādīs aktīvos serverus.
Izvietojat un konfigurējat savu serveri? Ņemiet VPS ar Linux sadaļā VPS noma vai pasūtiet serveru administrēšanu.