Varidata 新聞資訊
知識庫 | 問答 | 最新技術 | IDC 行業新聞
Varidata 知識文檔

如何在Ubuntu伺服器上設定DNS?

發布日期:2025-02-03

在Ubuntu伺服器上設定DNS(網域名稱系統)是最佳化網路效能和確保可靠連線的關鍵步驟。無論您是在管理伺服器租用環境還是微調伺服器的DNS設定,本完整指南都將一步步帶您完成這個過程。我們將探討臨時和永久DNS修改方法,重點關注實際實施和效能最佳化。

了解DNS及其對伺服器效能的影響

在深入設定過程之前,了解DNS配置的重要性至關重要。DNS作為網際網路的電話簿,將網域名稱轉換為IP位址。正確設定的DNS可以顯著提高伺服器的回應時間,減少延遲,並提升整體網路可靠性。

伺服器環境中常用的DNS提供商包括:

  • Google公共DNS (8.8.8.8, 8.8.4.4)
  • Cloudflare DNS (1.1.1.1, 1.0.0.1)
  • OpenDNS (208.67.222.222, 208.67.220.220)

臨時DNS設定方法

讓我們從快速的臨時DNS修改開始。這些更改將在系統重新啟動後恢復,但對測試目的很有用。

方法1:使用resolvectl指令:


sudo resolvectl dns eth0 8.8.8.8 8.8.4.4
sudo resolvectl dnsovertls eth0 yes
sudo systemd-resolve --status

方法2:修改resolv.conf:


sudo nano /etc/resolv.conf

# 添加這些行
nameserver 8.8.8.8
nameserver 8.8.4.4

要驗證您的更改,使用:


dig google.com | grep "SERVER"

永久DNS設定方法

對於在系統重新啟動後仍然保持的持久DNS設定,我們將探討三種可靠的方法。這些方法確保您的DNS配置在伺服器重新啟動後保持一致。

1. Netplan配置(現代Ubuntu系統)

Netplan是Ubuntu的預設網路配置工具。建立或編輯您的配置檔案:


sudo nano /etc/netplan/00-installer-config.yaml

# 添加此配置
network:
  version: 2
  ethernets:
    eth0:
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
        search: [mydomain.com]
      dhcp4: true

套用更改:


sudo netplan try
sudo netplan apply

2. Systemd-resolved配置

對於更進階的設定,修改systemd-resolved配置:


sudo nano /etc/systemd/resolved.conf

[Resolve]
DNS=8.8.8.8 8.8.4.4
FallbackDNS=1.1.1.1 1.0.0.1
DNSOverTLS=yes
DNSSEC=allow-downgrade
DNSStubListener=yes

重新啟動服務以套用更改:


sudo systemctl restart systemd-resolved
sudo systemctl status systemd-resolved

3. Network Manager方法

對於安裝了Network Manager的伺服器,使用nmcli指令:


# 查看目前連線名稱
nmcli connection show

# 修改DNS設定
sudo nmcli con mod "System eth0" ipv4.dns "8.8.8.8 8.8.4.4"
sudo nmcli con mod "System eth0" ipv4.ignore-auto-dns yes

# 套用更改
sudo nmcli con up "System eth0"

效能測試和驗證

在實施DNS更改後,驗證和基準測試您的配置至關重要:


# 測試DNS解析速度
time dig @8.8.8.8 google.com

# 檢查DNS配置
systemd-resolve --status

# 監控DNS查詢
sudo tcpdump -i any port 53

常見DNS問題故障排除

在管理Ubuntu伺服器上的DNS配置時,您可能會遇到幾個常見問題。以下是系統化解決這些問題的方法:

1. DNS解析失敗


# 清除DNS快取
sudo systemd-resolve --flush-caches

# 檢查DNS連線性
dig +short google.com
ping -c 4 8.8.8.8

# 驗證網路介面狀態
ip addr show

2. 配置衝突

如果您遇到不同DNS配置方法之間的衝突,請按照以下優先順序檢查:

  • 檢查systemd-resolved是否正在運行並啟用
  • 驗證Netplan配置語法
  • 確保/etc/resolv.conf中沒有衝突項目

DNS效能最佳化技巧

使用這些進階配置最佳化您的伺服器DNS效能:


# 啟用DNS快取
sudo nano /etc/systemd/resolved.conf

[Resolve]
Cache=yes
DNSStubListener=yes
CacheFromLocalhost=no

考慮實施這些最佳實踐:

  • 使用地理位置更近的DNS伺服器以減少延遲
  • 實施DNS輪詢以實現負載平衡
  • 配置備用DNS伺服器以實現冗餘
  • 定期監控DNS回應時間

結論

正確的DNS配置是Ubuntu伺服器最佳效能的基礎。無論您是在管理租用伺服器環境還是配置專用伺服器,實施正確的DNS設定都能顯著影響伺服器的可靠性和速度。請記住定期測試DNS配置並使其保持最新的安全實踐。

透過遵循本指南,您已經學會了使用各種方法在Ubuntu伺服器上配置DNS設定。從臨時修改到永久配置,您現在已經掌握了實施和維護可增強伺服器網路功能的強大DNS設定的知識。

您的免費試用從這裡開始!
聯繫我們的團隊申請實體主機服務!
註冊成為會員,尊享專屬禮遇!
您的免費試用從這裡開始!
聯繫我們的團隊申請實體主機服務!
註冊成為會員,尊享專屬禮遇!
Telegram Skype