2026年8月12日 星期三

在 192.168.91.x/24 網段中,架設DNS,讓client電腦進行正解與反解-centos 7

一、環境說明:
在 192.168.91.x/24 閘道 192.168.91.254,centos 7 主機IP:192.168.91.2 架設BIND9,讓 client IP:192.168.91.201 進行正解與反解。

1.網路架構:


設備IP角色
Gateway192.168.91.254        預設閘道
DNS Server192.168.91.2        BIND 9
Client192.168.91.201        DNS 用戶端
網段192.168.91.0/24        LAN
Domainlab.lan       內部 DNS 網域

預計建立:

dns.lab.lan      → 192.168.91.2
client.lab.lan   → 192.168.91.201
gateway.lab.lan  → 192.168.91.254

反向解析則是:

192.168.91.2    → dns.lab.lan
192.168.91.201  → client.lab.lan
192.168.91.254  → gateway.lab.lan

2. DNS Server 安裝並設定 BIND 9:
IP:192.168.91.2

(1)安裝 BIND 9
sudo yum install -y bind bind-utils

(2)設定固定IP
nmcli connection modify ens33 ipv4.method manual  ipv4.addresses 192.168.91.2/24  ipv4.gateway 192.168.91.254  ipv4.dns 127.0.0.1

(3)重啟網路
sudo systemctl restart NetworkManager

(4)設定 /etc/named.conf
sudo vi /etc/named.conf 
內容:
options {
        listen-on port 53 { 127.0.0.1; 192.168.91.2; };
        listen-on-v6 port 53 { ::1; };

        directory       "/var/named";

        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";

        allow-query     { localhost; 192.168.91.0/24; };

        recursion yes;

        dnssec-validation yes;
};


zone "lab.lan" IN {
        type master;
        file "lab.lan.zone";
        allow-update { none; };
};


zone "91.168.192.in-addr.arpa" IN {
        type master;
        file "91.168.192.rev";
        allow-update { none; };
};

(5)建立正向解析 Zone
sudo vi /var/named/lab.lan.zone
內容為
$TTL 86400
@       IN      SOA     dns.lab.lan. admin.lab.lan. (
                        2026081201
                        3600
                        1800
                        604800
                        86400
)

@          IN      NS      dns.lab.lan.

dns        IN      A       192.168.91.2
client     IN      A       192.168.91.201
gateway IN      A       192.168.91.254

(6)建立反向解析 Zone
sudo vi /var/named/91.168.192.rev
內容為:
$TTL 86400
@       IN      SOA     dns.lab.lan. admin.lab.lan. (
                        2026081201
                        3600
                        1800
                        604800
                        86400
)

@       IN      NS      dns.lab.lan.

2         IN      PTR     dns.lab.lan.
201     IN      PTR     client.lab.lan.
254     IN      PTR     gateway.lab.lan.

(7)設定與確認 Zone 檔案權限
  A.設定 Zone 檔案權限
sudo chown root:named /var/named/lab.lan.zone
sudo chown root:named /var/named/91.168.192.rev

sudo chmod 640 /var/named/lab.lan.zone
sudo chmod 640 /var/named/91.168.192.rev

  B.確認 
Zone 檔案權限
ls -l /var/named/*.zone
ls -l /var/named/*.rev

(8)檢查 BIND 設定
  A.檢查 name.conf
named-checkconf /etc/named.conf
  B.檢查 正向 Zone
named-checkzone lab.lan /var/named/lab.lan.zone
  C.檢查 反向 Zone
named-checkzone 91.168.192.in-addr.arpa /var/named/91.168.192.rev

(9)啟動 BIND
sudo systemctl enable named
sudo systemctl start named

3. DNS Server 本機測試正向與反向解析:
 (1)
本機測試正向解析
 A.測試 dns.lab.lan
dig @192.168.91.2 dns.lab.lan +short
 B.測試 client.lab.lan
dig @192.168.91.2 client.lab.lan +short
C.測試 gateway.lab.lan
dig @192.168.91.2 gateway.lab.lan +short
 (2)本機測試反向解析
 A.測試 DNS Server
dig @192.168.91.2 -x 192.168.91.2 +short
 B.測試 Client
dig @192.168.91.2 -x 192.168.91.201 +short
C.測試 Gateway
dig @192.168.91.2 -x 192.168.91.254 +short

4. Client 測試正向與反向解析:

(1)設定固定IP
nmcli connection modify ens33 ipv4.method manual  ipv4.addresses 192.168.91.201/24  ipv4.gateway 192.168.91.254  ipv4.dns 192.168.91.2

(2)重啟網路
sudo systemctl restart NetworkManager

 (3)Client測試正向解析
 A.測試 dns.lab.lan
dig dns.lab.lan +short
 B.測試 client.lab.lan
dig client.lab.lan +short
C.測試 gateway.lab.lan
dig gateway.lab.lan +short
 (4)Client測試反向解析
 A.測試 DNS Server
dig -x 192.168.91.2 +short
 B.測試 Client
dig -x 192.168.91.201 +short
C.測試 Gateway
dig -x 192.168.91.254 +short














2026年8月2日 星期日

在 192.168.91.x/24 網段,架設兩台DNS。當Master變更,讓client電腦對Slave 進行變更後的正解與反解-ubuntu 26.04


一、環境說明:
在 192.168.91.x/24 閘道 192.168.91.254,ubuntu 26.04 主機架設BIND9:一台MASTER:IP:192.168.91.2、一台SLAVE:IP:192.168.91.3 ,MASTER變更,讓 client IP:192.168.91.201 對SLAVE  進行變更後的正解與反解。
二、Master (192.168.91.2)
(1) 安裝
      sudo apt update
      sudo apt install bind9 bind9-utils bind9-dnsutils -y

(2)設定 /etc/bind/named.conf.lan
     sudo nano /etc/bind/named.conf.lan
    內容:
zone "lab.lan" { 
     type master; 
     file "/etc/bind/db.lab.lan"; 

     allow-transfer { 
           192.168.91.3; 
     }; 

     also-notify { 
           192.168.91.3; 
     }; 
};

zone "91.168.192.in-addr.arpa" { 
     type master; 
     file "/etc/bind/db.192.168.91"; 

     allow-transfer { 
            192.168.91.3; 
      }; 

      also-notify { 
             192.168.91.3; 
      }; 
};

(3)設定正解區 /etc/bind/db.lab.lan
    sudo nano /etc/bind/db.lab.lan
    內容:
$TTL 86400 

@ IN SOA dns1.lab.lan. admin.lab.lan. ( 
                   2026080201 
                   3600 
                   1800 
                   604800 
                   86400 

@               IN   NS    dns1.lab.lan. 
@               IN   NS    dns2.lab.lan. 

dns1           IN    A      192.168.91.2 
dns2           IN    A      192.168.91.3 

master        IN     A       192.168.91.2 
slave           IN     A       192.168.91.3 
client          IN     A        192.168.91.201

(4)設定反解區 /etc/bind/db.192.168.91
    sudo nano /etc/bind/db.192.168.91
    內容:
$TTL 86400 
 
@ IN SOA ns1.lab.lan. admin.lab.lan. ( 
                  2026080201 
                  3600 
                  1800 
                  604800 
                  86400 

@              IN             NS           dns1.lab.lan. 
@              IN             NS           dns2.lab.lan. 

2                IN              PTR         master.lab.lan. 
3                IN              PTR         slave.lab.lan. 
201            IN              PTR         client.lab.lan.

(5)檢查
     sudo named-checkzone lab.lan /etc/bind/db.lab.lan 
     sudo named-checkzone 91.168.192.in-addr.arpa  /etc/bind/db.192.168.91
     sudo named-checkconf 

(6)重新啟動
    sudo systemctl restart bind9

三、Slave (192.168.91.3)
(1) 安裝
      sudo apt update
      sudo apt install bind9 bind9-utils bind9-dnsutils -y

(2)設定 /etc/bind/named.conf.lan
     sudo nano /etc/bind/named.conf.lan
    內容:
zone "lab.local" { 
     type slave
     masters {      192.168.91.2;   };
     file "/var/cache/bind/db.lab.lan"; 
};

zone "91.168.192.in-addr.arpa" { 
     type slave
     masters {      192.168.91.2;   };
     file "/var/cache/bind/db.192.168.91"; 
};

(3)重新啟動
    sudo systemctl restart bind9

(4)確認是否已同步
    ls /var/cache/bind
    當出現 db.192.168.91 與 db.lab.lan 即是OK

四、Master 修改資料
     新增一筆資料  pc50        192.168.91.50
    (1)修改正解區 /etc/bind/db.lab.lan
        sudo nano /etc/bind/db.lab.lan
        內容:
$TTL 86400 

@ IN SOA dns1.lab.lan. admin.lab.lan. ( 
                   202608020
                   3600 
                   1800 
                   604800 
                   86400 

@               IN   NS    dns1.lab.lan. 
@               IN   NS    dns2.lab.lan. 

dns1           IN    A      192.168.91.2 
dns2           IN    A      192.168.91.3 

master        IN     A       192.168.91.2 
slave           IN     A       192.168.91.3 
client          IN     A        192.168.91.201
pc50           IN     A         192.168.91.50    

    (2)修改反解區 /etc/bind/db.192.168.91
        sudo nano /etc/bind/db.192.168.91
        內容:
$TTL 86400 
 
@ IN SOA dns1.lab.lan. admin.lab.lan. ( 
                  2026080202 
                  3600 
                  1800 
                  604800 
                  86400 

@              IN             NS           dns1.lab.lan. 
@              IN             NS           dns2.lab.lan. 

2                IN              PTR         master.lab.lan. 
3                IN              PTR         slave.lab.lan. 
201            IN              PTR         client.lab.lan.
50              IN              PTR         pc50.lab.lan.

    (3)重新載入
        sudo rndc reload
        或
        sudo systemctl reload bind9

五、Client (192.168.91.201)
     (1) 修改 DNS 的 IP:192.168.91.3
          cd /etc/netplan
          sudo cp 00-installer-config.yaml 00-installer-config.yaml.BK
          sudo nano 00-installer-config.yaml
          內容如下:

          # This is the network config written by 'subiquity'
            network:
                ethernets:
                    ens33:
                        dhcp4: false
                        addresses:
                            - 192.168.91.201/24
                        routes:
                            - to: default
                               via: 192.168.91.254
                        nameservers:
                            addresses:
                                - 192.168.91.3
            version: 2


     (2)測試正解
        dig pc50.lab.lan

     (3)測試反解
        dig -x 192.168.91.50

六、驗證 Slave 已更新
    (1) 在 Slave 執行
          dig @192.168.91.3 lab.lan SOA

七、更新流程

此架構可確保 Master 更新後,Slave 自動同步,而 Client 指向 Slave 查詢時能取得最新的正解與反解紀錄。


在 192.168.91.x/24 網段中,架設DNS,讓client電腦進行正解與反解-ubuntu 26.04

一、環境說明:
在 192.168.91.x/24 閘道 192.168.91.254,ubuntu 26.04 主機IP:192.168.91.2 架設BIND9,讓 client IP:192.168.91.201 進行正解與反解。
二、架設DNS與測試
1.安裝BIND9
    (1)更新套件
        sudo apt update
    (2)安裝
        sudo apt install bind9 bind9-utils bind9-dnsutils -y     (3)確認版本
        named -v 

2.設定固定IP
    (1) 設定固定IP:192.168.91.2
          cd /etc/netplan
          sudo cp 00-installer-config.yaml 00-installer-config.yaml.BK
          sudo nano 00-installer-config.yaml
          內容如下:
          # This is the network config written by 'subiquity'
            network:
                ethernets:
                    ens33:
                        dhcp4: false
                        addresses:
                            - 192.168.91.2/24
                        routes:
                            - to: default
                               via: 192.168.91.254
                        nameservers:
                            addresses:
                                - 127.0.0.1
                                - 8.8.8.8
            version: 2

    (2)套用設定
         sudo netplan apply    

3.建立 Forward Zone
    (1)編輯 named.conf.lan
        sudo nano /etc/bind/named.conf.lan
        加入內容:

zone "lab.lan" {
        type master;
        file "/etc/bind/db.lab.lan";
};
zone "91.168.192.in-addr.arpa" {
        type master;
        file "/etc/bind/db.192.168.91";
};

4.建立 Forward Database
    (1)建立  db.lab.lan
        sudo nano /etc/bind/db.lab.lan
        內容為:
$TTL 604800 @ IN SOA dns.lab.lan. admin.lab.lan. ( 2026080201 604800 86400 2419200 604800 ) @ IN NS dns.lab.lan. dns IN A 192.168.91.2 client IN A 192.168.91.201

5.建立 Reverse Zone
  (1)建立 db.192.168.91
     sudo nano /etc/bind/db.192.168.91
     內容為:
$TTL    604800

@       IN      SOA     dns.lab.lan. admin.lab.lan. (
                        2026080201
                        604800
                        86400
                        2419200
                        604800 )

@       IN      NS      dns.lab.lan.
2       IN      PTR     dns.lab.lan.
201     IN      PTR     client.lab.lan.

6.允許 LAN 查詢
  (1)修改 named.conf.options
     sudo nano /etc/bind/named.conf.options  
    內容為:
options { directory "/var/cache/bind"; recursion yes; allow-query { localhost; 192.168.91.0/24; }; listen-on { any; }; listen-on-v6 { none; }; dnssec-validation auto; };

7.檢查設定
  (1)Forward
    sudo named-checkzone lab.lan /etc/bind/db.lab.lan
(2)Reverse
     sudo named-checkzone 91.168.192.in-addr.arpa /etc/bind/db.192.168.91
(3)整體設定
     sudo named-checkconf
沒有輸出,表示正常

8.重新啟動
   (1) 重新啟動 Bind9
         sudo systemctl restart bind9
   (2) 設定開機啟動 Bind9
         sudo systemctl enable bind9
   (3) 查看狀態
         sudo systemctl status bind9

三、Client 設定 DNS

1.設定固定IP
    (1) 設定固定IP:192.168.91.201
          cd /etc/netplan
          sudo cp 00-installer-config.yaml 00-installer-config.yaml.BK
          sudo nano 00-installer-config.yaml
          內容如下:
          # This is the network config written by 'subiquity'
            network:
                ethernets:
                    ens33:
                        dhcp4: false
                        addresses:
                            - 192.168.91.201/24
                        routes:
                            - to: default
                               via: 192.168.91.254
                        nameservers:
                            addresses:
                                - 192.168.91.2
            version: 2

    (2)套用設定
         sudo netplan apply    

四、測試正解
    (1)在 client 執行
        nslookup dns.lab.lan
        或
        dig dns.lab.lan

    (2)DNS 本機測試
        dig @127.0.0.1 dns.lab.lan

五、測試反解
    (1)在 client 執行
        nslookup 192.168.91.2
        或
        dig -x 192.168.91.2
    (2)DNS 本機測試
        dig @127.0.0.1 -x 192.168.91.201



2026年7月30日 星期四

在 Ubuntu 26.04 架設網域名稱伺服器(DNS)及相關設定說明

        BIND(Berkeley Internet Name Domain 伯克利網際網路域名) 是全世界最廣泛用來提供DNS服務的軟體,能夠將 網域名稱 <-對應-> IP 。提供兩種工具:1.named  2.rndc (遠端管理named 工具)
        1.安裝BIND
           sudo apt install bind9

        2.檢測是否安裝成功
            sudo ss -tulnp | grep named
            各個指令的意義:
             ss 顯示 Socket 相關的資訊
             -t 顯示 TCP連線
             -u 顯示 UDP連線
             -l 顯示 監聽中的連線
             -n 顯示 連接埠數字
             -p 顯示 占用連線的行程(process)
            (1).當 TCP 與 UDP 監聽 連接埠 53 表示 BIND 安裝成功
            (2).當TCP 監聽 連接埠 953 表示 rndc 會用到的連接埠  
       一、named:BIND 提供的守護程式(daemon)
       1.主要設定檔- named.conf:預設位置 /etc/bind/
        named.conf 內容:
       (1) named.conf.options 用來存放 options (選項),內容:
    其中 directory "/var/cache/bind";
                    directory 指定一個目錄,作為DNS資料庫,預設目錄為 /var/cache/bind
            forwarders {    
                 0.0.0.0;       
            };                     
                    forwarders 指定多個IP,以分號 ; 區隔。當我們DNS 無法回應使用者的查詢請求時,
                    轉移(forward) 指定的IP (就目前的IP為 0.0.0.0)
            dnssec-validation auto;
                    讓我們DNS 支援 DNSSEC (Domain Name System Security Extension)
            Listen-on-v6 設定監聽 IPv6範圍
       (2) named.conf.local 用來存放本地和使用者自定的 Zone 區塊。設定A.正解 B.反解
            A.正解(用網域名稱 查 IP) 
            B.反解(用IP 查 網域名稱)
       (3) zones.rfc1918 用來定義私有網域為 10.0.0.0 ~10.255.255.255、172.16.0.0~172.31.255.255、192.168.0.0 ~ 192.168.255.255,內容為
       172.16.0.0~172.16.255.255 zone的反解寫法:
        zone "16.172.in-addr.arpa" {    ...    };
        那 zone "16.172.in-addr.arpa" { type master; file "/etc/bind/db.empty";  };
       file 指定一個檔案給 zone 區塊對應的網域或IP,
             而該檔案內有DNS資源紀錄(Resource Record  RR)。        
       /etc/bind/db.empty 是 BIND 內建的設定檔,內容如下:
       type 設定值有三:A.master B.slave C.hint
        A.master 表示 zone 是主從架構的DNS中的 主要主機 
        B.slave   表示 zone 是主從架構的DNS中的 從屬主機
        C.hint     用於對應 . 的時候。 . 表示 [根域名](root name)
       (4) db.empty 內容:
       $TTL 86400
   
    $TTL 設定此RR(資源紀錄Resource Record) 作為解答的快取時間,單位是秒。
       $TTL 86400 意思是使用者的查詢請求只要問過DNS一次,就可以持續一整天(86400秒)

        @   IN  SOA localhost. root.localhost. (                                                   
                           1     ; Serial      
                 604800     ; Refresh     
                   86400     ; Retry       
               2419200     ; Expire      
                   86400 )   ; Negative Cache TTL
                   @                                       代表   zone name :目前網域(Zone Root )
                  IN                                       代表   Class          :InterNet 類別
  SOA(Start Of Authority 授權開始)  代表   這筆DNS紀錄值的格式
              localhost.                               代表   主要(master)主機的網域名稱                  
           root.localhost.                           代表   管理者的電子信箱
              Serial                                      代表   版本序號
              Refresh                                   代表   從屬(slave)主機的更新時間
               Retry                                     代表    重試的時間間隔
             Expire                                     代表    逾時時間
      Negative Cache TTL                     代表    最小的TTL值

        @   IN   NS   localhost.
                NS(Name Server)                代表    指定此網域的權威 DNS 伺服器                                      
      其他常用的DNS 資源記錄類型,如下:
      A            :指定網域名稱所對應的IPv4。正解用。
      AAAA   :指定網域名稱所對應的IPv6。正解用。
      PTR       :指定IP所對應的網域名稱。反解用。
      CNAME:指定別名。正解用。
      MX        :用於指定電子郵件交換器的主機名稱。
       TXT      :指定網域名稱對應某筆字串資料,通常用於驗證網域所有權。

資料來源:

只要點兩下就能將 彰化縣EIP系統全校學生帳號總表 依 各班級 分成 各班級學生帳號總表

系列文章: 1. 只要點兩下就能產出彰化縣Cloud School 學生帳號密碼匯入彰化縣EIP系統學生帳號密碼的CSV 1. https://skjhcreator.blogspot.com/2025/08/cloud-school-eipcsv.html 2. 只要點兩下就能...