在Debian系統中設置域名解析到服務器的步驟如下:
首先,你需要在Debian系統上安裝BIND9,這是最常用的開源DNS服務器軟件。
sudo apt update
sudo apt install bind9 bind9utils bind9-doc
打開 /etc/bind/named.conf.options
文件,配置監聽地址和轉發器等。
sudo nano /etc/bind/named.conf.options
添加如下配置(根據你的網絡環境修改):
acl "private-network" { 192.168.0.0/16; localhost; localnets; };
options {
directory "/var/cache/bind";
recursion yes;
allow-query { localhost; private-network; };
allow-transfer { localhost; };
forwarders { 8.8.8.8; 8.8.4.4; };
dnssec-validation auto;
listen-on { any; };
listen-on-v6 { any; };
};
編輯 /etc/bind/named.conf.local
文件來添加你的區域。
sudo nano /etc/bind/named.conf.local
添加如下內容(根據你的實際域名和IP修改):
zone "example.com" {
type master;
file "/etc/bind/zones/db.example.com";
allow-transfer { none; };
};
創建并編輯區域文件,例如 db.example.com
。
sudo mkdir /etc/bind/zones
sudo cp /etc/bind/db.local /etc/bind/zones/db.example.com
sudo nano /etc/bind/zones/db.example.com
編輯文件內容,添加A記錄等。
$TTL 1D
@ IN SOA ns1.example.com. admin.example.com. (
2023040101 ; Serial
8H ; Refresh
2H ; Retry
1W ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
@ IN A 192.168.1.100
www IN CNAME example.com.
在重新啟動BIND之前,檢查配置文件是否有語法錯誤。
sudo named-checkconf
sudo named-checkzone example.com /etc/bind/zones/db.example.com
如果配置文件沒有問題,重新啟動BIND服務以應用配置更改。
sudo systemctl restart bind9
sudo systemctl enable bind9
可以直接修改 /etc/resolv.conf
文件來指定DNS服務器。
sudo nano /etc/resolv.conf
添加如下內容:
nameserver 8.8.8.8
nameserver 8.8.4.4
注意:這種設置在系統重啟后會被覆蓋,因此推薦使用永久設置方法。
編輯 /etc/systemd/resolved.conf
文件,添加DNS服務器地址。
sudo nano /etc/systemd/resolved.conf
取消注釋并添加DNS服務器地址:
DNS=8.8.8.8 8.8.4.4
保存文件后,重啟 systemd-resolved
服務以應用更改。
sudo systemctl restart systemd-resolved
無論使用哪種方法,都可以通過以下命令驗證DNS設置是否生效:
cat /etc/resolv.conf
或者使用 nslookup
或 dig
命令測試DNS服務器是否能夠正常解析域名:
nslookup example.com