跳到主要內容

Linux-CentOS7 使用 Bind 架設 DNS Server & DNS正解

DNS(Domain Name System)服務
提供域名解析,相較於IP位址(IP Address),域名(Domain name)讓使用者容易記憶,使用域名對應IP位址。


1.安裝 BIND 套件
  • # sudo yum install bind

2.編輯 BIND 主設定檔
  • # sudo vim /etc/named.conf

2.1添加 options下的設定值
  • listen-on port 53 - 加入提供服務器的IP
  • allow-query        - 允許查詢此DNS服務器的網段

2.2加入一個正解的 zone ,這邊測試使用 brookdns.local

3.編輯 正解區域檔案清單(brookdns.local.txt)

  • # sudo vim /var/named/brookdns.local.txt


4.使用指令:named-checkconf 檢查下主設定檔

  • 主設定檔錯誤時會有提示,依提示修改錯誤

4.1發現主設定檔一個錯誤 ,在正解宣告區域的地方少了 ; 分號


5.使用指令:name-checkzone,檢查正解區域檔案
  • # sudo named-checkzone brookdns.local. /var/named/brookdns.local.txt

6.防火牆開通DNS服
  • # sudo firewall-cmd --add-service=dns --permanent (永久保存規則)
  • # sudo firewall-cmd --reload (重新載入防火牆規則,讓規則生效)

7.重新啟動named服務並且查看服務的啟動狀態

  • sudo systemctl restart named
  • sudo systemctl status named


8.使用nslookup工具測試 DNS 解析
若使用nslookup指令出現 command not found ,使用 yum pervides nslookup ,查找到套件包(bind-utils)後,將bind-utils安裝上就可以用了。

9.使用 dig 工具測試 DNS 解析

留言

  1. 版主您好,
    請教您個問題
    在我自己建立的環境使用nslookup測試
    # nslookup
    > dns.bt.com.tw
    Server: 192.168.93.129
    Address: 192.168.93.129#53

    ** server can't find vgw.bt.com.tw: SERVFAIL

    會出現此錯誤
    用反解搜尋是正常的
    # nslookup
    >192.168.93.129
    129.93.168.192.in-addr.arpa name = dns.bt.com.tw.

    請問可能是哪邊有錯誤呢?
    謝謝您!

    回覆刪除
    回覆
    1. 你好,最近準備考試呢!來不及給你即時回覆。

      看你提供的資訊使用 nslookup ,查 dns.bt.com.tw 給出 vgw.bt.com.tw: SERVFAIL 目前我還沒遇到過,我嘗試了幾個錯誤設定,但沒有還原出你這個錯誤訊息。

      遇到類似的問題,我會用以下方法排查:
      1.使用 name-checkzone 、named-checkconf 檢查主設定檔跟正解區域檔案,是否有出現錯誤
      2.在正解設定檔內的解析 例如:dns.bt.com.tw. 最後面的 . 是否有添加到設定檔因為那代表 根,沒有添加到的話服務器將無法正常啟動,服務啟動的發生錯誤時依照錯誤訊息查看LOG
      3.如果以上兩個都沒問題,嘗試更改一下正解檔案的的所屬群組修改成 named,在重新啟動服務試試。

      如果你已經解決這個問題,歡迎你在這邊交流一下你發現的狀況。如果以上都沒有解決你的問題在提供設定檔跟正解檔的設定我們再來看看怎麼辦吧!

      刪除

張貼留言

這個網誌中的熱門文章

Linux-CentOS7 Bind 設置 DNS反解(rDNS) & 增加次要(Slave)伺服器

DNS 反解 : 將IP轉換成域名,通常需要 Class C 或是跟上層網路業者申請 ➽此使用內部網路做DNS反解測試。 1.在主設定檔(/etc/named.conf)添加反解區域(240.168.192.in-addr.arpr) # sudo vim /etc/named.conf zone "240.168.192.in-addr.arpa" IN { type master; file "240.168.192.txt"; }; 2.編輯 反解區域檔案(240.168.192.txt),完成後儲存檔案 # sudo vim/var/named/240.168.192.txt 3.重新啟動 Bind 服務&查看 Bind 服務狀態 # sudo systemctl restart named # sudo systemctl status named 4.使用 nslookup 工具測試 server xxx.xxx.xxx.xxx  --> 指定 DNS 服務器 反解測試完成!! DNS次要(Slave)服務器: 主要減少主伺服器的負擔,還有DNS服務器備機的用途。 1.在主要(Master)DNS服務器,正解及反解區域添加: allow-transfer { }; notify yes; 2.重啟主要(Master)DNS服務器的 Bind 服務 # sudo system restart named 3.次要(Slave)服務器安裝 Bind # sudo yum install -y bind 4.編輯 Slave 的 Bind 主設定檔 # sudo vim /etc/named.conf listen-on port 53 {}; //加入次要服務器 IP allow-query {}; //開放允許查詢的網段 // 加入正解區域 zone "brookdns.local" IN { type slave; masters {192.168.240.14...

Windows-使用 PowerShell 更改 RDP Port Number & 調整防火牆規則

目的: 服務器在啟用遠端桌面預設值為"3389",因為對管理上有風險,所以需要更改遠端桌面的端口號、調整防火牆規則增加安全性。 PowerShell內容  GitHub:https://github.com/minyufu/powershell.git function Pause(){ [System.Console]::Write('按任意鍵繼續...') [void][System.Console]::ReadKey(1) } #用途:更改預設RDP端口號並添加防火牆規則 Write-Output "-----目前RDP使用端口號-----" $Now_RDP_PortNumber = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal*Server\WinStations\RDP-TCP\" -Name PortNumber | Select-Object PortNumber Write-Output "PortNumber: $Now_RDP_PortNumber" #使用者輸入需要修改的端口號: $New_Rdp_PortNumber = Read-Host -Prompt '輸入新的RDP端口號' #設定新的端口號 Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal*Server\WinStations\RDP-TCP\" -Name PortNumber -Value $New_Rdp_PortNumber #加入TCP防火牆規則 New-NetFirewallRule -DisplayName "遠程桌面(TCP-In) $New_Rdp_PortNumber" -Direction Inbound -Protocol TCP -Profile Any -LocalPort $New_Rdp_PortNumber -Action allow Write-Output "遠程桌面(TCP...