在Ubuntu系統中設置域名解析可以通過幾種不同的方法來實現,具體取決于您的需求。以下是幾種常見的方法:
Ubuntu系統通常使用systemd-resolved
服務來處理DNS解析。要配置特定的域名解析,可以編輯/etc/systemd/resolved.conf
文件。例如,要為a.com
域名指定公共DNS服務器(如114.114.114.114),可以進行以下操作:
sudo vim /etc/systemd/resolved.conf
在文件中找到或添加以下行:
[Resolve]
DNS=114.114.114.114
FallbackDNS=a.com
然后重啟systemd-resolved
服務以應用更改:
sudo systemctl restart systemd-resolved.service
雖然直接編輯/etc/resolv.conf
文件可能會導致系統覆蓋這些設置,但您可以使用以下方法來永久修改DNS服務器:
備份當前的/etc/resolv.conf
文件:
sudo cp /etc/resolv.conf /etc/resolv.conf.bak
創建一個新的符號鏈接到/run/resolvconf/resolv.conf
:
sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf
編輯/etc/systemd/resolved.conf
文件來指定DNS服務器,然后重啟網絡服務:
sudo systemctl daemon-reload
sudo systemctl restart systemd-resolved.service
Ubuntu使用NetworkManager來管理網絡連接,您可以在/etc/netplan/
目錄下的配置文件中設置DNS服務器。例如,編輯/etc/netplan/00-installer-config.yaml
文件(或相應的網絡配置文件),添加或修改dns-nameservers
行:
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: no
addresses: [192.168.1.10/24]
gateway4: 192.168.1.1
dns-nameservers:
- 8.8.8.8
- 8.8.4.4
然后應用配置:
sudo netplan apply
如果您需要設置一個本地的DNS服務器來解析自定義域名,可以使用BIND。以下是簡要步驟:
安裝BIND:
sudo apt update
sudo apt install bind9 bind9utils bind9-doc
配置BIND的主配置文件/etc/bind/named.conf.options
,設置監聽的IP和轉發器:
options {
directory "/var/cache/bind";
recursion yes;
allow-query { any; };
forwarders {
8.8.8.8;
8.8.4.4;
};
};
創建區域配置文件和區域數據文件,例如/etc/bind/db.example.com
,并添加相應的DNS記錄。
重啟BIND服務:
sudo systemctl restart bind9
(可選)配置客戶端使用新的DNS服務器,編輯/etc/network/interfaces
文件并添加dns-nameservers
行。