1. 程式人生 > >Linux 系統DNS解析

Linux 系統DNS解析

linux 基礎運維學習

1. 高速緩存dns服務器

修改server的配置文件/etc/named.conf
 10options {
 11  listen-on port 53 { any; };  #監聽所有端口的bind服務
 12  listen-on-v6 port 53 { ::1; };
 13  directory      "/var/named";
 14  dump-file       "/var/named/data/cache_dump.db";
 15  statistics-file "/var/named/data/named_stats.txt";
 16  memstatistics-file "/var/named/data/named_mem_stats.txt";
 17  allow-query     { any; };  #允許任何人詢問此臺服務器
 18  forwarders { 172.25.254.250;};#主機不知道的域名則去詢問172.25.254.250這臺主機。

此時只需要將client的機器的dns解析修改為serverip,這時server就為client的DNS的服務器

2. dns正向解析和反向解析

1》正向解析

/etc/named.conf 中可以看到:include "/etc/named.rfc1912.zones"; 包含的配置文件/etc/named.rfc1912.zones,在這個配置文件中可以添加正向解析的文件,同樣反向解析的配置文件也在這裏。

vim /etc/named.rfc1912.zones
zone "feitian.com" IN {             #主機域
   type master;
   file "fengkai.com";             #包含本地DNS高速緩存的文件 
   allow-update { none; };       #不允許任何人更新DNS解析文件
};
[[email protected]
/* */ ~]# cd /var/named/ [[email protected] named]# ls data dynamic named.ca named.empty named.localhost named.loopback slaves [[email protected] named]# cp -p named.localhost fengkai.com [[email protected] named]# vim fengkai.com $TTL 1D @ IN SOA dns.feitian.com. root.feitian.com. ( #分別為DNS服務器的主機名dns.feitian.com和管理員的郵箱root.feitian.com [email protected]
/* */,在此文件中要以‘.‘結尾,不然會不起本機的域名 #2015080901表示你是2015年08月09日第一次修改,此處的數字在主從同步DNS服務器時,如果不同主從會開始做主從同步。 2015080901 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H) ; minimum NS dns.feitian.com. dns A 172.25.254.231 feng A 172.25.254.111 feng A 172.25.254.112 bbs CNAME hui.feitian.com. #這裏就是重命名,訪問bbs.feitian.com是,他會解析出hui.feitian.com. #這裏是輪換解析,一次是111,下一次就是112 hui A 172.25.254.222

2》反向解析

vim /etc/named.rfc1912.zones
zone "254.25.172.in-addr.arpa" IN{
       type master;
       file "fengkai.com";
       allow-update { none; };
};
[[email protected] named]#cp  -p  var/named/named.loopback  fengkaiNaNr
[[email protected] named]# vim  /var/named/fengkai.com
$TTL 1D
@    IN SOA  dns.feitian.com.root.feitian.com. (
                   0    ; serial
                   1D   ; refresh
                   1H   ; retry
                   1W   ; expire
                    3H )   ; minimum
      NS     dns.feitian.com.
dns    A      172.25.254.231
101    PTR     fengkai.com.
202    PTR     kaikai.com.

3. DNS 雙向解析

DNS雙向解析指的是讓一臺服務器有兩個DNS解析文件,一般分為內網和外網,在/etc/named.conf

中添加如下內容:

[[email protected] ~]# vim /etc/named.conf
/*
zone "." IN {
       type hint;
       file "named.ca";
};
 
include"/etc/named.rfc1912.zones";
include "/etc/named.root.key";
*/
#將其註釋,分別添加到下面的標簽中
view localnet {
match-clients {172.25.254.231;};
zone "." IN {
       type hint;
       file "named.ca";
};
include"/etc/named.rfc1912.zones";
};
 
view any {
match-clients {any;};
zone "." IN {
       type hint;
       file "named.ca";
};
include"/etc/named.rfc1913.zones";
};

將/etc/named.rfc1912.zons拷一份名稱為named.rfc1913.zons,分別讓其指向不同的解析文件

cp   /etc/named.rfc1912.zones  /etc/named.rfc1913.zones
vim /etc/named.rfc1912.zones
zone "feitian.com.in" IN {
   type master;
   file "fengkai.com.out";
   allow-update { none; };
};
vim /etc/named.rfc1913.zones
zone "feitian.com.out" IN {
   type master;
   file "fengkai.com.zone";
   allow-update { none; };
};

然後在/var/named/下做如下操作

[[email protected]   named]# cp -p  named.localhost  fengkai.com.out
[[email protected]  named]# cp -p  named.localhost  fengkai.com.in
[[email protected]  named]# vim  fengkai.com.in 
$TTL 1D
@   IN SOA  dns.feitian.com.root.feitian.com. (
                    0    ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H) ; minimum
      NS        dns.feitian.com.
dns    A        172.25.254.231
feng    A        172.25.254.112
bbs    CNAME    hui.feitian.com.
hui    A        172.25.254.222
[[email protected]  named]#  vim  fengkai.com.out  
$TTL 1D
@   IN SOA  dns.feitian.com.root.feitian.com. (
                    0    ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H) ; minimum
     NS        dns.feitian.com.
dns    A        1.1.1.231
feng   A        1.1.1.112
bbs    CNAME    hui.feitian.com.
hui    A        1.1.1.222

4. DNS主從同

#修改server的配置文件
[[email protected] ~]# vim /etc/named.conf
options {
       listen-on port 53 { any; };
       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     { any; };
#修改客戶端client
[[email protected] ~]# vim/etc/named.rfc1912.zones
zone "feitian.com" IN {
       type slave;
       masters {172.25.254.231;};
       file "slaves/feitian.com";
       allow-update { any; };
};
[[email protected] ~]# systemctl restart named
[[email protected] ~]# ls /var/named/slaves/
feitian.com

5.花生殼

將你的防火墻和selinux開啟namd和dhcp服務,或者關閉,修改你的client的DNS為你主機的IP。

1》生成秘鑰

dnssec-keygen -a HMAC-MD5 -b 128 -n HOSTwestos     ##生成密匙
[[email protected] named]# dnssec-keygen -aHMAC-MD5 -b 128 -n HOST westos
Kwestos.+157+53107
ll | gerp  Kwestos
-rw-------. 1 root  root  50 Aug  9 04:25Kwestos.+157+53107.key
-rw-------. 1 root  root  165 Aug  9 04:25Kwestos.+157+53107.private
[[email protected] named]# catKwestos.+157+53107.key
westos. IN KEY 512 3 157  MyuqKKel9qE2kj0CZ1NzUw==
[[email protected] named]#  cp /etc/rndc.key /etc/westos.key -p
vim /etc/westos.key
key "westos" {                                            ##key名稱
      algorithmhmac-md5;
     secret"MyuqKKel9qE2kj0CZ1NzUw==";     ##key的加密字符
};
[[email protected] named] chmod g+x /var/named/          #保證named服務可修改你的解析文件

2》 配置服務dhcp服務

編輯dhcp的配置文件/etc/dhcp/dhcp.conf

dhcpoption domain-name"feitian.com";
option domain-name-servers 172.25.254.231;   #你的DNS解析
ddns-update-style interim;  #開啟dhcp的更新服務。
subnet 172.25.254.0 netmask 255.255.255.0 {
range 172.25.254.80 172.25.254.90;
option routers 172.25.254.250;
}
#37行以後全部刪掉後加上如下內容:
key westos {
algorithm hmac-md5;
secret MyuqKKel9qE2kj0CZ1NzUw==;  #就是你生成的鑰匙文件,key的加密字符
};
zone feitian.com. {
primary 127.0.0.1;
key westos;
};

3》修改named.conf文件

在options標簽的外邊加一個包含你鑰匙的路徑 :include "/etc/westos.key";

修改option標簽的前幾行

options {
listen-on port 53 { any; };
//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     { any; };

4》修該/etc/named.rfc1912.zones文件

在/etc/named.rfc1912.zones中復制一個修改成正向解析模式,反向解析也可以,這裏以正向解析為例

zone "westos.com" IN {    #域名,與/etc/dhcp/dhcpd.conf和你的測試機器的域名結尾保持一致
type master;
file "westos.com.zone";     
allow-update { key westos; }; #鑰匙的名字
};

5》測試

將你的鑰匙發給從機隨便哪個目錄,以/var/named/目錄為例

在你的client上執行如下命令測試你的秘鑰有沒有生效

usupdate -k Kwestos.+157+53107.private 
server 172.25.254.231
update add www.westos.com 86400 A 172.25.254.88 
send
#這時你是用dig  就會出現 172.25.254.88的解析結果

在你的client端修改你的主機域名,與你server上的weston.com保持一致,但是解析文件中沒有解析。

比如:feitain.westos.com,然後設置你的主機的網絡為dhcp,這是你如果dig 你client的域名解析結果會根你client的IP變化說明你的花生殼就做好了。



本文出自 “13122323” 博客,請務必保留此出處http://13132323.blog.51cto.com/13122323/1955802

Linux 系統DNS解析