Topology
Scenario
Router
Hostname : router.0846101.nasa
IP Address : 10.113.25.254/24
Primary (Master) DNS Server
Hostname : ns1.0846101.nasa
IP Address : 10.113.25.1/24
Secondary (Slave) DNS Server
Hostname : ns2.0846101.nasa
IP Address : 10.113.25.2/24
Agent
Hostname : agent.0846101.nasa
IP Address : 10.113.25.129/24
ClientPC (proxy)
Hostname : client-pc.0846101.nasa
IP Address : 10.113.25.119/24
Router
Hostname
跟hostname有關的兩個檔案: /etc/sysconfig/network
and /etc/hosts
vim /etc/sysconfig/network
# Created by anaconda
HOSTNAME=router.0846101.nasa //localhost.localdomain
vim /etc/hosts
加在最後一行
10.113.25.254 router.0846101.nasa
ping 看看有沒有設定成功
ping -c 2 router.0846101.nasa
有的話就可以reboot
重開機後若還是@localhost 可以執行
hostnamectl set-hostname router.0846101.nasa
DHCP Server
# Add ns1 and ns2 to dns
option domain-name-servers 10.113.25.1, 10.113.25.2, 8.8.8.8;
# Set fixed IP to ns1, ns2, and client-pc
host ns1 {
hardware ethernet 08:00:27:00:87:58;
fixed-address 10.113.25.1;
}
host ns2 {
hardware ethernet 08:00:27:61:73:ae;
fixed-address 10.113.25.2;
}
host client-pc {
hardware ethernet 08:00:27:8b:6c:b7;
fixed-address 10.113.25.119;
}
Setting Router As a DNS Client
一般name servers會在/etc/resolv.conf
設定
但重開機會被NetworkManager覆寫
可以先到網卡設定 (Both enp0s3 and enp0s8)
vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
新增一行
PEERDNS=no
再到/etc/resolv.conf
編輯name servers
vim /etc/resolv.conf
search 0846101.nasa
nameserver 10.113.25.1
nameserver 10.113.25.2
nameserver 8.8.8.8
改/etc/nsswitch.conf
的找尋hosts的順序
把DNS擺第一順位
hosts: dns files myhostname
Master DNS Server
Install Bind
dnf install bind
Install Bind-Utils (to enable cmds like dig, nslookup…)
dnf install bind-utils
Configure DNS Server
vim /etc/named.conf
# TSIG keys
#key "dotone-key" {
# algorithm hmac-md5;
# secret "OvexY/E9LNONtKlDlPERlg==";
#};
#key "mysub-key" {
# algorithm hmac-md5;
# secret "kZC7vN85HAFzLTrjsKX4tw==";
#};
#key "others-key" {
# algorithm hmac-md5;
# secret "9ZA6TNRXbaJAimpTsEi2Xw==";
#};
#Global settings
options {
# Who can listen on your port 53?
listen-on port 53 { any; };
# Who can send DNS query to you?
allow-query { any; };
# Allow transfer from Agent
allow-transfer { localhost; 10.113.25.129; };
# Default bind version query reply
version "";
# Only allow recursion from Agent
recursion yes;
allow-recursion { 10.113.25.129; };
# Return NXDOMAIN if there is no corresponding A record
auth-nxdomain yes;
};
acl dotone { 10.113.1.0/24; };
acl mysubnet { 10.113.25.0/24; };
acl others { any; };
view "view1" {
# match-clients { !key mysub-key; !key others-key; key dotone-key; dotone; };
# allow-transfer { key dotone-key; };
# server 10.113.25.2 { keys dotone-key; };
match-clients { !10.113.25.2; !10.113.25.22; 10.113.25.222; dotone; };
zone "0846101.nasa" IN {
type master;
file "/var/named/named.0846101.nasa.one";
allow-transfer { 10.113.25.129; 10.113.25.222; };
};
zone "25.113.10.in-addr.arpa" IN {
type master;
file "/var/named/named.10.113.25.one";
allow-transfer { 10.113.25.129; 10.113.25.222; };
};
zone "235.113.140.in-addr.arpa" IN {
type master;
file "/var/named/named.10.113.25.viewone";
allow-transfer { 10.113.25.129; 10.113.25.222; };
};
zone "nasa" IN {
type slave;
file "slaves/named.nasa.one";
masters { 10.113.0.254; };
allow-transfer { 10.113.25.129; 10.113.25.222; };
};
};
view "viewmine" {
# match-clients { !key dotone-key; !key others-key; key mysub-key; mysubnet; };
# allow-transfer { key mysub-key; };
# server 10.113.25.2 { keys mysub-key; };
match-clients { !10.113.25.2; !10.113.25.222; 10.113.25.22; mysubnet; };
zone "0846101.nasa" IN {
type master;
file "/var/named/named.0846101.nasa.mysub";
allow-transfer { 10.113.25.129; 10.113.25.22; };
};
zone "25.113.10.in-addr.arpa" IN {
type master;
file "/var/named/named.10.113.25.mysub";
allow-transfer { 10.113.25.129; 10.113.25.22; };
};
zone "235.113.140.in-addr.arpa" IN {
type master;
file "/var/named/named.10.113.25.viewmysub";
allow-transfer { 10.113.25.129; 10.113.25.22; };
};
zone "nasa" IN {
type slave;
file "slaves/named.nasa.mysub";
masters { 10.113.0.254; };
allow-transfer { 10.113.25.129; 10.113.25.22; };
};
};
view "viewothers" {
# match-clients { !key dotone-key; !key mysub-key; key others-key; others; };
# allow-transfer { key others-key; };
# server 10.113.25.2 { keys others-key; };
match-clients { !10.113.25.22; !10.113.25.222; 10.113.25.2; others; };
zone "0846101.nasa" IN {
type master;
file "/var/named/named.0846101.nasa";
allow-transfer { 10.113.25.129; 10.113.25.2; };
};
zone "25.113.10.in-addr.arpa" IN {
type master;
file "/var/named/named.10.113.25";
allow-transfer { 10.113.25.129; 10.113.25.2; };
};
zone "nasa" IN {
type slave;
file "slaves/named.nasa";
masters { 10.113.0.254; };
allow-transfer { 10.113.25.129; 10.113.25.2; };
};
};
Create Zone Files
放在/var/named
正查檔 | 反查檔 | view | BIND version |
---|---|---|---|
named.0846101.one | named.10.113.25.one | named.10.113.25.viewone | ver.0846101.nasa |
named.0846101.mysub | named.10.113.25.mysub | named.10.113.25.viewmysub | |
named.0846101 | named.10.113.25 |
Create Forward Zone
通用的正查檔
vim /var/named/named.0846101.nasa
$TTL 86400
;
; The 0846101.nasa. domain database
;
@ IN SOA ns1.0846101.nasa. root.0846101.nasa. (
2020050604 ; Serial Year,Month,Day,Version
21600 ; Refreash
1800 ; Retry
604800 ; Expire
86400 ; Minimum
)
; Define name servers
IN NS ns1.0846101.nasa.
IN NS ns2.0846101.nasa.
; Define localhost
localhost IN A 127.0.0.1
; Define the static hosts
0846101.nasa. IN A 10.113.25.119
ns1 IN A 10.113.25.1
ns2 IN A 10.113.25.2
agent IN A 10.113.25.129
router IN A 10.113.25.254
; for 10.113.1.0/24
;view IN A 140.113.235.131
; for 10.113.25.0/24
;view IN A 140.113.235.151
; for others
view IN A 10.113.25.87
; Define some aliases
web IN CNAME agent.0846101.nasa.
nasa IN CNAME nasa.cs.nctu.edu.tw.
Create Reverse Zone
通用的反查檔
vim /var/named/named.10.113.25
$TTL 600
$ORIGIN 25.113.10.in-addr.arpa.
@ IN SOA ns1.0846101.nasa. root.0846101.nasa. ( 2020050502 10800 1200 3600000 3600 )
;
@ IN NS ns1.0846101.nasa.
@ IN NS ns2.0846101.nasa.
1 IN PTR ns1.0846101.nasa.
2 IN PTR ns2.0846101.nasa.
129 IN PTR agent.0846101.nasa.
254 IN PTR router.0846101.nasa.
; for others
87 IN PTR view.0846101.nasa.
給10.113.1.0/24的view.0846101.nasa反查
vim /var/named/named.10.113.25.viewone
$TTL 600
$ORIGIN 235.113.140.in-addr.arpa.
@ IN SOA ns1.0846101.nasa. root.0846101.nasa. ( 2020050605 10800 1200 3600000 3600 )
131 IN PTR view.0846101.nasa.
給10.113.25.0/24的view.0846101.nasa反查
vim /var/named/named.10.113.25.viewmysub
$TTL 600
$ORIGIN 235.113.140.in-addr.arpa.
@ IN SOA ns1.0846101.nasa. root.0846101.nasa. ( 2020050605 10800 1200 3600000 3600 )
151 IN PTR view.0846101.nasa.
Confuse your BIND version number
For ns1, use “Name Server 1”.
For ns2, use “Name Server 2”.
Only allow queries from your internal network.
dig version.bind txt chaos @ns1.0846101.nasa
在/etc/named.conf
新增
view "chaos" CH {
match-clients { "mysubnet"; };
zone "bind" CH {
type master;
file "ver.0846101.nasa";
allow-update { none; };
};
};
view "chaosrefuse" CH {
match-clients { any; };
zone "bind" CH {
type master;
allow-query { none; };
};
};
vim /var/named/ver.0846101.nasa
$TTL 3600
@ 86400 CH SOA ns1.0846101.nasa. root.0846101.nasa. (
2020050401 ; serial
3600 ; refresh
3600 ; retry
604800 ; expiry
86400 ) ; minimum
;
@ CH NS ns1.0846101.nasa.
version CH TXT "Name Server 1"
SSHFP Record
Add SSHFP record of your machines’ ssh key fingerprint.
The algorithm ECDSA and ED25519 should be implement.
The hash type SHA-256 should be implement.
Generate SSHFP Records Remotely
Download the script and make it executable
wget https://gist.githubusercontent.com/webernetz/2ca7325555ce7f28f26daf5728386d82/raw/1c18dc43a05478771ac4693401a3c78205a4e710/grabsshfp.sh
chmod u+x grabsshfp.sh
And call it with the DNS name or IP address of the destination:
./grabsshfp.sh 10.113.25.254
會得到
IN SSHFP [Algorithm] [Fingerprint Type] [Fingerprint (in hex)]
Algorithm(第一個數字)
1 - RSA
2 - DSA
3 - ECDSA
4 - ED25519
Fingerprint Type(第二個數字)
1 - SHA-1
2 - SHA-256
Add records to zone files
加到/var/named/named.0846101.nasa*
; SSHFP
ns1 IN SSHFP 3 2 3e7b3a4ddc106ac972a2719c475b496b82248abefe06acca8d2e680def01a06c
ns1 IN SSHFP 4 2 cb2890ea5649b06c24cf7c22e54a2892fcfb73e169ed684e05697fbcb51cf86d
ns2 IN SSHFP 3 2 3e7b3a4ddc106ac972a2719c475b496b82248abefe06acca8d2e680def01a06c
ns2 IN SSHFP 4 2 cb2890ea5649b06c24cf7c22e54a2892fcfb73e169ed684e05697fbcb51cf86d
router IN SSHFP 3 2 99557b68b0f2fbe86ec510ebc86af25bb1b6a7ef031093cec559c4a8a5b75d01
router IN SSHFP 4 2 bdbff4baf39c4a222107697f69401126cb4ffcf52c1163ae025cf8e340d43ceb
agent IN SSHFP 3 2 681fecc886e9433284ce3c9630970028e44e7a779f88940fdfac50999c02ad5e
agent IN SSHFP 4 2 e1c0088d8ed2f4ed27c990b46a9f75dad7ad0f7fb45356316a637435d3f57c71
Look up SSHFP records
dig router.0846101.nasa sshfp
DNSSEC
Domain Name System SECurity Extensions
傳統的DNS沒有安全機制,容易遭受攻擊
- Spoofing
- Man‐in‐the‐Middle Attack
- Cache Poisoning Attack
在解析網域名稱的過程中加上驗證的機制
當遇到DNS請求時,會先回上層取得DNSKEY來做認證比對
確保解析網域名稱的過程是安全的,才能進行或回應下一步驟的DNS請求
Based on
- PKI (Public Key Infrastructure) Public Key / Private Key
- Hashing
- Signature (數位簽章)
三大保證
- 來源驗證性 (Origin Authentication)
- 資料完整性 (Data Integrity)
- 受驗證的不存在性 (Authenticated Denial of Existence)
Resource Record : DS & RRSI
Generate KSK
Key Signing Key
dnssec-keygen -a RSASHA256 -b 2048 -f KSK -n ZONE 0846101.nasa
產生兩個key
K0846101.nasa.+008+29014.key //public key
K0846101.nasa.+008+29014.private //private key
Generate ZSK
Zone Signing Key
dnssec-keygen -a RSASHA256 -b 2048 -n ZONE 0846101.nasa
產生兩個key
K0846101.nasa.+008+00945.key //public key
K0846101.nasa.+008+00945.private //private key
我把這四個key放在/var/named/keys
Signing a Zone
Include keys in zone files /var/named/named.0846101.nasa.one
, /var/named/named.0846101.nasa.mysub
,and /var/named/named.0846101.nasa
$INCLUDE /etc/named/keys/K0846101.nasa.+008+29014.key ;KSK
$INCLUDE /etc/named/keys/K0846101.nasa.+008+00945.key ;ZSK
NSEC
dnssec-signzone \
-o 0846101.nasa \
-t \
-k /etc/named/keys/K0846101.nasa.+008+29014.key \
/var/named/named.0846101.nasa \
/etc/named/keys/K0846101.nasa.+008+00945.key
Verifying the zone using the following algorithms: RSASHA256.
Zone fully signed:
Algorithm: RSASHA256: KSKs: 1 active, 0 stand-by, 0 revoked
ZSKs: 1 active, 0 stand-by, 0 revoked
/var/named/named.0846101.nasa.one.signed
Signatures generated: 25
Signatures retained: 0
Signatures dropped: 0
Signatures successfully verified: 0
Signatures unsuccessfully verified: 0
Signing time in seconds: 0.026
Signatures per second: 934.928
Runtime in seconds: 0.041
NSEC3
dnssec-signzone \
-3 55844b7f \ //NSEC3使用的salt值
-H 100 \ //NSEC3使用的iteration值
-u \ //更新NSEC/NSEC3
-o 0846101.nasa \ //domain name
-t \ //查看下面參數
-k /etc/named/keys/K0846101.nasa.+008+29014.key \ //KSK publickey
/var/named/named.0846101.nasa \ //要被簽的zone file
/etc/named/keys/K0846101.nasa.+008+00945.key //ZSK publickey
Verifying the zone using the following algorithms: RSASHA256.
Zone fully signed:
Algorithm: RSASHA256: KSKs: 1 active, 0 stand-by, 0 revoked
ZSKs: 1 active, 0 stand-by, 0 revoked
/var/named/named.0846101.nasa.signed //簽好的zone file
Signatures generated: 27
Signatures retained: 0
Signatures dropped: 0
Signatures successfully verified: 0
Signatures unsuccessfully verified: 0
Signing time in seconds: 0.030
Signatures per second: 891.736
Runtime in seconds: 0.040
Create Trust Chain
dnssec-dsfromkey /etc/named/keys/K0846101.nasa.+008+29014.key //KSK
Upload DS Record to
nasa.
我選擇第二個
Configuration
只列出要新增或修改的地方
把.signed
的zone files替換上去
vim /etc/named.conf
#Global settings
options {
dnssec-enable yes;
dnssec-validation yes;
};
view "view1" {
zone "0846101.nasa" IN {
file "/var/named/named.0846101.nasa.one.signed";
};
};
view "viewmine" {
zone "0846101.nasa" IN {
file "/var/named/named.0846101.nasa.mysub.signed";
};
};
view "viewothers" {
zone "0846101.nasa" IN {
file "/var/named/named.0846101.nasa.signed";
};
};
維護Domain
- RR修改
- 修改原始zone file (rndc freeze)
- 凍結zone
- 簽署zone file
- 解凍zone使其生效 (rndc thaw)
- 退回DNS
- 要求上層拿掉DS record
Start the DNS service
Enable and start DNS service:
systemctl enable named
systemctl start named
Firewall Configuration
Firewall預設是關的
將DNS的 TCP, UDP port 53打開
firewall-cmd --permanent --add-port=53/tcp
firewall-cmd --permanent --add-port=53/udp
firewall-cmd --reload
Router的iptables規則也要改
vim /etc/sysconfig/iptables
-A INPUT -p tcp --dport 53 -j ACCEPT
-A INPUT -p udp --dport 53 -j ACCEPT
-A FORWARD -p tcp --dport 53 -j ACCEPT
-A FORWARD -p udp --dport 53 -j ACCEPT
Test DNS
Restart BIND before testing
systemctl restart named
Forward Look up
dig view.0846101.nasa @10.113.25.1
Reverse Look up
dig -x 10.113.25.254 @10.113.25.1
AXFR
dig axfr 0846101.nasa @10.113.25.1
SOA
dig -t soa router.0846101.nasa
Slave DNS Server
General Configuration
/etc/named.conf
options {
listen-on port 53 { any; };
allow-query { any; };
allow-transfer { localhost; 10.113.25.129; };
version "";
recursion yes;
allow-recursion { 10.113.25.129; 10.113.25.119; 10.113.254.25; };
auth-nxdomain yes;
dnssec-enable yes;
dnssec-validation yes;
};
多個 View 同步到 Slave
VIEW
- Add A record for view.{your_domain}.
- For queries from 10.113.1.x/25
- Answer 140.113.235.131
- For queries from 10.113.ID.x/24
- Answer 140.113.235.151
- For other queries
- Answer 10.113.ID.87
- For queries from 10.113.1.x/25
兩個方法
- TSIG
- 給 Slave 多個IP
TSIG
Transaction Signature
Generate 3 keys in Master DNS
dnssec-keygen -a HMAC-MD5 -b 128 -n Host dotone-key
dnssec-keygen -a HMAC-MD5 -b 128 -n Host mysub-key
dnssec-keygen -a HMAC-MD5 -b 128 -n Host others-key
會在/etc/ssh
產生三組Keys
把.key
的內容cat出來寫入Master、Slave的/etc/named.conf
key "dotone-key" {
algorithm hmac-md5;
secret "OvexY/E9LNONtKlDlPERlg==";
};
key "mysub-key" {
algorithm hmac-md5;
secret "kZC7vN85HAFzLTrjsKX4tw==";
};
key "others-key" {
algorithm hmac-md5;
secret "9ZA6TNRXbaJAimpTsEi2Xw==";
};
ns1/etc/named.conf
acl dotone { 10.113.1.0/24; };
acl mysubnet { 10.113.25.0/24; };
acl others { any; };
view "view1" {
match-clients { !key mysub-key; !key others-key; key dotone-key; dotone; };
allow-transfer { key dotone-key; 10.113.25.129; };
server 10.113.25.2 { keys dotone-key; };
zone "0846101.nasa" IN {
type master;
file "/var/named/named.0846101.nasa.one";
};
zone "25.113.10.in-addr.arpa" IN {
type master;
file "/var/named/named.10.113.25.one";
};
zone "235.113.140.in-addr.arpa" IN {
type master;
file "/var/named/named.10.113.25.viewone";
};
zone "nasa" IN {
type slave;
file "slaves/named.nasa.one";
masters { 10.113.0.254; };
};
};
view "viewmine" {
match-clients { !key dotone-key; !key others-key; key mysub-key; mysubnet; };
allow-transfer { key mysub-key; 10.113.25.129; };
server 10.113.25.2 { keys mysub-key; };
zone "0846101.nasa" IN {
type master;
file "/var/named/named.0846101.nasa.mysub";
};
zone "25.113.10.in-addr.arpa" IN {
type master;
file "/var/named/named.10.113.25.mysub";
};
zone "235.113.140.in-addr.arpa" IN {
type master;
file "/var/named/named.10.113.25.viewmysub";
};
zone "nasa" IN {
type slave;
file "slaves/named.nasa.mysub";
masters { 10.113.0.254; };
};
};
view "viewothers" {
match-clients { !key dotone-key; !key mysub-key; key others-key; others; };
allow-transfer { key others-key; 10.113.25.129; };
server 10.113.25.2 { keys others-key; };
zone "0846101.nasa" IN {
type master;
file "/var/named/named.0846101.nasa";
};
zone "25.113.10.in-addr.arpa" IN {
type master;
file "/var/named/named.10.113.25";
};
zone "nasa" IN {
type slave;
file "slaves/named.nasa";
masters { 10.113.0.254; };
};
};
ns2 /etc/named.conf
view "view1" {
match-clients { !key mysub-key; !key others-key; key dotone-key; dotone; };
server 10.113.25.1 { keys dotone-key; };
zone "0846101.nasa" IN {
type slave;
file "slaves/named.0846101.nasa.one";
masters { 10.113.25.1; };
allow-transfer { 10.113.25.129; };
};
zone "25.113.10.in-addr.arpa" IN {
type slave;
file "slaves/named.10.113.25.one";
masters { 10.113.25.1; };
allow-transfer { 10.113.25.129; };
};
zone "235.113.140.in-addr.arpa" IN {
type slave;
file "slaves/named.10.113.25.viewone";
masters { 10.113.25.1; };
allow-transfer { 10.113.25.129; };
};
zone "nasa" IN {
type slave;
file "slaves/named.nasa.one";
masters { 10.113.0.254; };
allow-transfer { 10.113.25.129; };
};
};
view "viewmine" {
match-clients { !key dotone-key; !key others-key; key mysub-key; mysubnet; };
server 10.113.25.1 { keys mysub-key; };
zone "0846101.nasa" IN {
type slave;
file "slaves/named.0846101.nasa.mysub";
masters { 10.113.25.1; };
allow-transfer { 10.113.25.129; };
};
zone "25.113.10.in-addr.arpa" IN {
type slave;
file "slaves/named.10.113.25.mysub";
masters { 10.113.25.1; };
allow-transfer { 10.113.25.129; };
};
zone "235.113.140.in-addr.arpa" IN {
type slave;
file "slaves/named.10.113.25.viewmysub";
masters { 10.113.25.1; };
allow-transfer { 10.113.25.129; };
};
zone "nasa" IN {
type slave;
file "slaves/named.nasa.mysub";
masters { 10.113.0.254; };
allow-transfer { 10.113.25.129; };
};
};
view "viewothers" {
match-clients { !key dotone-key; !key others-key; key others-key; others; };
server 10.113.25.1 { keys others-key; };
zone "0846101.nasa" IN {
type slave;
file "slaves/named.0846101.nasa";
masters { 10.113.25.1; };
allow-transfer { 10.113.25.129; };
};
zone "25.113.10.in-addr.arpa" IN {
type slave;
file "slaves/named.10.113.25";
masters { 10.113.25.1; };
allow-transfer { 10.113.25.129; };
};
zone "nasa" IN {
type slave;
file "slaves/named.nasa";
masters { 10.113.0.254; };
allow-transfer { 10.113.25.129; };
};
};
給 Slave 多個IP
分配IP
10.113.1.0/24 | 10.113.25.0/24 | others |
---|---|---|
10.113.25.222 | 10.113.25.22 | 10.113.25.2 |
設定
vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
IPADDR1="10.113.25.22"
IPADDR2="10.113.25.222"
PREFIX1="24"
PREFIX2="24"
view "view1" {
match-clients { dotone; };
zone "0846101.nasa" IN {
type slave;
file "slaves/named.0846101.nasa.one";
masters { 10.113.25.1; };
transfer-source 10.113.25.222;
allow-transfer { 10.113.25.129; 10.113.25.119; 10.113.25.222; };
};
zone "25.113.10.in-addr.arpa" IN {
type slave;
file "slaves/named.10.113.25.one";
masters { 10.113.25.1; };
transfer-source 10.113.25.222;
allow-transfer { 10.113.25.129; 10.113.25.119; 10.113.25.222; };
};
zone "235.113.140.in-addr.arpa" IN {
type slave;
file "slaves/named.10.113.25.viewone";
masters { 10.113.25.1; };
transfer-source 10.113.25.222;
allow-transfer { 10.113.25.129; 10.113.25.222; };
};
zone "nasa" IN {
type slave;
file "slaves/named.nasa.one";
masters { 10.113.0.254; };
allow-transfer { 10.113.25.129; 10.113.25.222; };
};
};
view "viewmine" {
match-clients { mysubnet; };
zone "0846101.nasa" IN {
type slave;
file "slaves/named.0846101.nasa.mysub";
masters { 10.113.25.1; };
transfer-source 10.113.25.22;
allow-transfer { 10.113.25.129; 10.113.25.119; 10.113.25.22; };
};
zone "25.113.10.in-addr.arpa" IN {
type slave;
file "slaves/named.10.113.25.mysub";
masters { 10.113.25.1; };
transfer-source 10.113.25.22;
allow-transfer { 10.113.25.129; 10.113.25.119; 10.113.25.22; };
};
zone "235.113.140.in-addr.arpa" IN {
type slave;
file "slaves/named.10.113.25.viewmysub";
masters { 10.113.25.1; };
transfer-source 10.113.25.22;
allow-transfer { 10.113.25.129; 10.113.25.119; 10.113.25.22; };
};
zone "nasa" IN {
type slave;
file "slaves/named.nasa.mysub";
masters { 10.113.0.254; };
allow-transfer { 10.113.25.129; 10.113.25.119; 10.113.25.22; };
};
};
view "viewothers" {
match-clients { others; };
zone "0846101.nasa" IN {
type slave;
file "slaves/named.0846101.nasa";
masters { 10.113.25.1; };
transfer-source 10.113.25.2;
allow-transfer { 10.113.25.129; 10.113.25.119; 10.113.25.2; };
};
zone "25.113.10.in-addr.arpa" IN {
type slave;
file "slaves/named.10.113.25";
masters { 10.113.25.1; };
transfer-source 10.113.25.2;
allow-transfer { 10.113.25.129; 10.113.25.119; 10.113.25.2; };
};
zone "nasa" IN {
type slave;
file "slaves/named.nasa";
masters { 10.113.0.254; };
allow-transfer { 10.113.25.129; 10.113.25.119; 10.113.25.2; };
};
};
Firewall
Firewall預設是關的
將DNS的 TCP, UDP port 53打開
firewall-cmd --permanent --add-port=53/tcp
firewall-cmd --permanent --add-port=53/udp
firewall-cmd --reload
同步
一般只要Master的zone files有更動
更新好serial 就會自動同步到Slave
但也可以
手動同步Master
rndc retransfer 0846101.nasa IN view1
rndc retransfer 0846101.nasa IN viewmine
rndc retransfer 0846101.nasa IN viewothers