vim /etc/name.conf
options {
directory "/var/named";
recursion yes;#定義開啓遞歸功能;默認是給所有用戶遞歸。
allow-recursion { 172.16.0.0/16;}; #表示只對這個網段的用戶遞歸;或者定義遞歸客戶端來源的;
allow-query #定義誰可以來進行查詢;
};
zone "." IN {
type hint;
file "named.ca";
allow-transfer { none; };
};
zone "localhost" IN {
type master;
file "named.localhost";
allow-transfer { none; };#表示localhost這個區域誰都不允許傳送;
};
zone "zledu.com" IN {
type master;
file "zledu.com.zone";
allow-transfer { 172.16.100.2; };#表示zledu.com這個區域只允許172.16.100.2這臺主機進行傳送。
};
dig +recurse -t A www.sohu.com @172.16.100.1
dig +norecurse -t A www.sohu.com @172.16.100.1
dig -trace -t A www.baidu.com @172.16.100.1 #顯示整個過程。
dig -t axfr zledu.com
axfs:完全區域傳送;
ixfs:增量區域傳送
區域傳送:(只能允許自己的從服務器進行數據傳送,如何定義有哪些主機進行傳送)
主、從。
如何建立DNS的從服務器?
rpm -e bind-libs bind-utils
scp 172.16.100.1:/etc/yum.repos.d/server.repo ./
yum -y install bind97 bind97-utils
ls -l /var/named/#注意同步數據的時候是以named用戶,named組來同步數據的;因此直接放在這個目錄下面是不可以的;
同步過來的時候,直接放在slave目錄下即可;有兩種方案;
[root@localhost ~]# setenforce 0
setenforce: SELinux is disabled
[root@localhost etc]# mv named.conf /etc/named.conf.org
[root@localhost etc]# scp 172.16.100.1:/etc/named.conf /etc/
vim name.conf
zone "zledu.com" IN {
masters { 172.16.100.1; };
type slave;
file "slaves/zledu.com.zone";
allow-transfer { none; };
};
zone "100.16.172.in-addr.arpa" IN {
type slave;
file "slaves/172.16.100.zone";
masters { 172.16.100.1; };
allow-transfer { none; };
};
[root@localhost ~]# cat /var/named/zledu.com.zone
$TTL 600
zledu.com. IN SOA ns1.zledu.com. admin.zledu.com. (
20150523
1H
5M
2D
6H )
IN NS ns1
IN NS ns2
IN MX 10 mail
ns1 IN A 172.16.100.1
ns2 IN A 172.16.100.2
mail IN A 172.16.100.2
pop IN A 172.16.100.4
www IN A 172.16.100.1
www IN A 172.16.100.3
DNS的日誌文件路徑/var/log/messages:
[root@localhost etc]# service named start
[root@localhost etc]# tail /var/log/messages
在同步的時候,可能會出現錯誤,需要將我們的NS記錄再增加一條即可;當我們新增加一條ns服務器的時候,一定要加一條記錄。
rndc: 遠程管理dns服務器用的;
-h查看幫助信息;
rndc-confgen >/etc/rndc.conf
[root@localhost ~]# cat /etc/rndc.conf
# Start of rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "GluqNmX4q97sW1a55ZUhqw==";
};
options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
# End of rndc.conf
# Use with the following in named.conf, adjusting the allow list as needed:
# key "rndc-key" {
# algorithm hmac-md5;
# secret "GluqNmX4q97sW1a55ZUhqw==";
# };
#
# controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# End of named.conf
將其追加到/etc/name.conf裏面;
rndc -c /etc/rndc.conf #默認就能控制服務器了;
[root@localhost ~]# service named reload
Reloading named: [ OK ]
[root@localhost ~]# rndc -c /etc/rndc.conf status
我們當前的主機能否控制遠端主機,需要修改named.conf裏面的配置文件;
cat /etc/named.conf
controls {
inet 127.0.0.1 port 953 #表示監聽主機的端口;
allow { 127.0.0.1; } keys { "rndc-key"; };#表示允許那臺主機來控制;
};
controls {
inet 172.16.100.1 port 953
allow { 172.16.100.2; } keys { "rndc-key"; };
};
接着執行如下操作即可;
scp /etc/rndc.conf 172.16.100.2:/root
再在172.16.100.2上進行相應的修改;
[root@localhost slaves]# cat /root/rndc.conf
# Start of rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "GluqNmX4q97sW1a55ZUhqw==";
};
options {
default-key "rndc-key";
default-server 172.16.100.1;
default-port 953;
};
[root@localhost slaves]# rndc -c /root/rndc.conf status
注意在本機上進行控制很常用,允許遠程主機用的話,還是很少見的,所以我們至少要在本機上生成一個配置文件。