DNS正反向解析
環境
一臺Linux虛擬機,安裝centos7.4版本IP地址:192.168.100.139,最後進行測試測試。
實驗
在Linux虛擬機上安裝dns服務及bind。
[root@localhost ~]# yum install bind -y
[root@localhost ~]# rpm -qc bind //查找bind的配置文件
[root@localhost ~]# vim /etc/named.conf //修改主配置文件 //注意vim,有些虛擬機需要安裝。
將朱配置文件內的listen-on port 53{ 127.0.0.1; }改爲listen-on port 53 { any; }; allow-query { localhost; };改爲 allow-query { any; }; 保存退出。
接下來修改區域配置文件。
vim /etc/named.rfc1912.zones
本來文件內有模板:正向代理的模板:
zone "localhost" IN {
type master;
file "named.localhost";
allow-update { none; };
};
反向代理的模板:
zone "1.0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
allow-update { none; };
};
按照模板修改,正向代理:
zone "benet.com" IN {
type master; //類型
file "benet.com.zone"; //工作文件
allow-update { none; };
};
反向代理:
zone "100.168.192.in-addr.arpa" IN { //IP反過來寫,不謝最後一位,及192.168.100段的。
type master; //類型
file "benet.com.local"; //工作文件
allow-update { none; };
};
保存退出。修改區域數據文件。路徑:cd /var/named/ 然後ls查看文件。因爲只有一份區域配置文件,需要複製並將名稱改爲與區域配置文件正反向代理的工作文件名稱相符。複製兩份文件
[root@localhost named]# cp -p named.localhost benet.com.zone //-p是爲了保持屬主和屬組的權限。
[root@localhost named]# cp -p named.localhost benet.com.local
然後編輯兩個數據文件。vim /benet.com.zone
原文件:
$TTL 1D //生命週期
@ IN SOA @ rname.invalid. ( //第一個“@”是一個變量,是代表在區域配置文件中設置的工作文件的名稱,這裏是“benet.com” 。“SOA”資源起始記錄。
第二個“@”也是一個變量,是完整域名,這裏是“benet.com.” 。
後面爲管理員郵箱
0 ; serial //。序列號。數字越大越新,然後會同步
1D ; refresh //刷新時間,1天
1H ; retry //重試連接,若找不到,提供服務的機器。則每隔一個小時重新嘗試連接。
1W ; expire //最大忍耐期限。若在規定的時間內找不到服務器,則自動放棄,尋找
3H ) ; minimum //無效緩存,保留期限。
NS @ //服務器名字
A 127.0.0.1 //主機地址,需改爲dns服務地址
AAAA ::1 //ipv6服務地址
修改後的文件:
$TTL 1D
@ IN SOA @ admin (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS benet.com.
A 192.168.100.139
www IN A 192.168.100.100 //可以將www.benet.com解析爲此地址。
保存退出
下面編輯反向代理文件:
原文件:
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
修改後的文件:
$TTL 1D
@ IN SOA benet.com. admin.benet.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS benet.com.
A 192.168.100.139
139 IN PTR www.benet.com. //PTR 爲反向指針
保存退出。
最後輸入 echo "nameserver 192.168.100.139" > /etc/resolv.conf
啓動服務。測試
[root@localhost named]# nslookup 192.168.100.139
Server: 192.168.100.139
Address: 192.168.100.139#53
139.100.168.192.in-addr.arpa name = www.benet.com.
[root@localhost named]# nslookup www.benet.com
Server: 192.168.100.139
Address: 192.168.100.139#53
Name: www.benet.com
Address: 192.168.100.139
試驗成功。