溫馨提示×

如何在centos虛擬機中配置DNS服務器

小樊
39
2025-10-06 22:03:47
欄目: 云計算

一、準備工作

  1. 環境要求:確保CentOS虛擬機已聯網(建議使用NAT或橋接模式),并能與其他設備(如Windows客戶端)互相ping通。
  2. 靜態IP設置:為DNS服務器配置靜態IP(如192.168.1.100),避免動態IP變動導致解析失敗??赏ㄟ^nmcli或編輯網絡配置文件(如/etc/sysconfig/network-scripts/ifcfg-ens33)設置:
    nmcli con mod ens33 ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 192.168.1.100
    nmcli con up ens33
    
  3. 域名規劃:定義要解析的域名(如example.com)及對應的主機記錄(如www.example.com指向192.168.1.101、mail.example.com指向192.168.1.102)。

二、安裝Bind軟件包

Bind是CentOS下常用的DNS服務器軟件,通過以下命令安裝核心組件及工具:

yum install -y bind bind-utils
  • bind:DNS服務器主程序;
  • bind-utils:包含nslookup、dig等DNS測試工具。

三、配置主DNS服務器

1. 修改全局配置文件named.conf

編輯/etc/named.conf,調整以下關鍵參數:

vim /etc/named.conf
  • 允許本地網絡查詢:找到listen-on port 53allow-query行,修改為:
    listen-on port 53 { any; };  # 監聽所有IP的53端口
    allow-query     { any; };  # 允許所有客戶端查詢
    
  • 啟用IPv6(可選):若需支持IPv6,取消listen-on-v6行的注釋并修改為any。
  • 關閉SELinux對DNS的限制(可選但推薦):
    setenforce 0  # 臨時關閉
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config  # 永久關閉
    

2. 配置正向區域文件

正向解析將域名映射到IP地址。

  • 創建區域配置:編輯/etc/named.rfc1912.zones(或CentOS 7的/etc/named.confzone部分),添加:
    zone "example.com" IN {
        type master;          # 主DNS服務器
        file "example.com.zone";  # 區域文件路徑
        allow-update { none; };   # 禁止動態更新
    };
    
  • 創建區域文件:復制模板文件(named.localhost)并修改:
    cd /var/named
    cp -p named.localhost example.com.zone
    vim example.com.zone
    
    修改內容示例如下(注意域名末尾必須有.,表示絕對域名;IP末尾無.):
    $TTL 86400
    @       IN SOA  ns1.example.com. admin.example.com. (
                    2025100601 ; Serial(序列號,每次修改需遞增)
                    3600       ; Refresh(刷新時間,單位:秒)
                    1800       ; Retry(重試時間)
                    1209600    ; Expire(過期時間)
                    86400 )    ; Minimum TTL(最小TTL)
    @       IN NS   ns1.example.com.  ; 域名服務器記錄
    ns1     IN A    192.168.1.100     ; NS記錄對應的IP
    www     IN A    192.168.1.101     ; www.example.com解析到192.168.1.101
    mail    IN A    192.168.1.102     ; mail.example.com解析到192.168.1.102
    

3. 配置反向區域文件(可選)

反向解析將IP地址映射到域名,用于郵件服務器等場景。

  • 創建反向區域配置:在/etc/named.rfc1912.zones中添加:
    zone "1.168.192.in-addr.arpa" IN {  # 反向區域名格式:反向IP段.in-addr.arpa
        type master;
        file "1.168.192.zone";
        allow-update { none; };
    };
    
  • 創建反向區域文件:復制模板并修改:
    cp -p named.loopback 1.168.192.zone
    vim 1.168.192.zone
    
    修改內容示例如下:
    $TTL 86400
    @       IN SOA  ns1.example.com. admin.example.com. (
                    2025100601 ; Serial
                    3600       ; Refresh
                    1800       ; Retry
                    1209600    ; Expire
                    86400 )    ; Minimum TTL
    @       IN NS   ns1.example.com.
    100     IN PTR  ns1.example.com.  ; 192.168.1.100反向解析到ns1.example.com
    101     IN PTR  www.example.com.  ; 192.168.1.101反向解析到www.example.com
    102     IN PTR  mail.example.com. ; 192.168.1.102反向解析到mail.example.com
    

4. 檢查配置文件語法

在重啟服務前,務必檢查配置文件是否有語法錯誤:

named-checkconf         # 檢查主配置文件
named-checkzone example.com /var/named/example.com.zone  # 檢查正向區域文件
named-checkzone 1.168.192.in-addr.arpa /var/named/1.168.192.zone  # 檢查反向區域文件

若輸出無錯誤,則可繼續。

四、啟動DNS服務

systemctl start named     # 啟動服務
systemctl enable named    # 設置開機自啟
systemctl status named    # 查看服務狀態(確保為“active (running)”)

五、配置客戶端

  1. 設置DNS服務器IP:在客戶端(如Windows)的網絡設置中,將DNS服務器地址改為DNS服務器的IP(如192.168.1.100)。
  2. 測試解析:使用nslookup工具驗證:
    nslookup www.example.com 192.168.1.100  # 正向解析
    nslookup 192.168.1.101 192.168.1.100  # 反向解析
    
    若返回對應的域名或IP,則說明配置成功。

六、常見問題排查

  1. 端口沖突:確保53端口未被占用(netstat -tulnp | grep 53),若有沖突,停止占用進程或修改DNS端口(不推薦)。
  2. SELinux問題:若開啟SELinux,需調整策略:
    setsebool -P named_write_master_zones 1  # 允許named寫入區域文件
    
  3. 防火墻問題:放行DNS服務(UDP 53端口):
    firewall-cmd --permanent --add-service=dns
    firewall-cmd --reload
    

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女