[精讚] [會員登入]
1939

動態DNS -- dynamic DNS實作

BIND9動態DNS設定

分享此文連結 //n.sfs.tw/11984

分享連結 動態DNS -- dynamic DNS實作@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2020-10-08 13:29:04 最後編修
2017-10-27 13:06:50 By 張○○
 

自動目錄

設定範例

網域 example.com
主機名稱 ddns
IP 163.17.40.100

# named -v
BIND 9.9.4-RedHat-9.9.4-51.el7 (Extended Support Version)

安裝

# yum install bind*

設定

# vi /etc/named.conf

假設要建立網域 example.com,在zone "." IN 下面加入

zone "example.com" {
        type master;
        file "data/example.com.static"; # 建立靜態的內容
        allow-update {127.0.0.1;};    # 開放 127.0.0.1 進行動態更新
        allow-transfer { none; };  # slave 主機,可能一部或多部,若無請寫 none
};

其中檔案 data/example.com.static

# vi /var/named/data/example.com.static

$ORIGIN .
$TTL 43200      ; 12 hours
example.com.             SOA  ddns.example.com. root.dns.example.com. (
                                2017102704 ; serial
                                36000      ; refresh (10 hours)
                                7200       ; retry (2 hours)
                                36000      ; expire (10 hours)
                                43200      ; minimum (12 hours)
                                )
example.com.              NS      ddns.example.com.
ddns.example.com.         A       163.17.40.100

重新啟動

# service named restart

建立腳本檔

# touch dns.script.txt

server 127.0.0.1
update add example.com. 10800 MX 10 ASPMX.L.GOOGLE.COM.
update add proxy.example.com. 10800 CNAME britannica
update add ceag.example.com. 10800 A 140.128.55.100
update add elesson.example.com. 10800 AAAA 2001:288:5400:4::1000
update add wges.example.com. 10800 TXT "google-site-verification=VHi9xhYVUM8IUicq8IRl7Tje-LKc"
send

上面的IP和記錄只是範例

執行你的腳本

# nsupdate -D -v all_dns_script.txt

  -D 是進入 debug mode,執行時才知道大概哪行有問題
  -v 是執行腳本檔,也可以省略

執行完後會多一個 example.com.static.jnl 檔:

  1. 執行完就會生效,不必重啟
  2. jnl 檔可以刪除,若named重啟restart時,jnl會把記錄寫到 example.com.static 中,但reload不會。
  3. 未來若要刪除得使用指令
  4. 重新啟動時,已加入記錄不會消失,得用nsupdate來刪除,除非這時沒有jnl檔
  5. 重覆執行腳本檔不會怎樣,重覆加入不會怎樣

已知的困難

1. 沒辦法清掉設定上的記錄,就算重啟也一樣

2. 無法動態加上zone

指令錯誤訊息

1. 下指令send出現 couldn't get address for 'your.doamin.name': not found 錯誤
可能原因:忘記下 server 127.0.0.1 這個指令

2. 下指令send出現 update failed: NOTZONE 錯誤
可能原因:設定非該網域資料,例如設定的 zone是example.com,要新增example.com,則指令必需打完整的FQDN:
update add example.com 60 A 1.2.3.2

3. 新增的資料沒有出現
可能原因:忘了下達send指令。

4. update failed: NOTAUTH
你修改的網域並不屬於你,可能你在 named.conf中沒有加入這個網域

5. zone x.x.x/IN: journal rollforward failed: not exact
後面的序號比原來的序號小,例如動態增加記錄未寫到靜態檔卻又修改靜態檔

6. zone x.x.x/IN: journal rollforward failed: journal out of sync with zone
靜態檔和動態檔不一致,解決方法:把jnl刪掉放棄動態檔重新載入。

 

參考資料

[1] abelyang@TWNIC http://phorum.study-area.org/index.php?topic=40717.0

 

END

你可能感興趣的文章

[Centos7] 安裝apache+php7+mariadb10+selinux Centos7 安裝apache+php7+mariadb10+selinux

TFTP Server 安裝及使用 讓設備的網路設定檔或是韌體經由TFTP拷備出來,操作的方法

[Centos8] linux 上的Base64加解密指令 在linux上很方便的指令可以加解密 base64

[CENTOS7 8] 查看記憶體 linux 中查看記憶體狀態指令整理

[Oracle9] 查看磁碟檔案類型、掛載和uuid linux 如何查看掛載的磁碟類型?此文做個整理。

[Rocky Linux9] 安裝docker+ docker compose+ apache+ maraidb+ php7 Rocky Linux(Centos9) 下安裝docker及docker compose

我有話要說

>>

限制:留言最高字數1000字。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

[MAC] 截取螢幕畫面的方法 截取螢幕畫面的方法,在MAC中叫作螢幕快照,英文是screenshot

HP SAS硬碟leds燈號說明 HP SAS硬碟leds燈號(hp g7/g6系統適用)說明

[Freebsd] 定時測試 ADSL 是否斷線並重連 中華電信 ADSL 雖有固定 ip,可是他卻會不定時「斷線」, 使用以下的 方法可以定時測試是否斷線,以及重新撥接。

最值得學的電腦技能 什麼是最值得學的電腦技能?程式設計?美工繪圖?系統網路?還是…? 都不是!個人覺得一個最值得學的電腦技能就

[Mysql/MariaDB] 查看資料庫所占空間 查看資料庫在磁碟中所占空間