Linux域名服務DNS——將域名轉換為IP地址


什么是 DNS

DNS 全稱是 Domain Name System,大意是域名解析系統,它的職責是把域名翻譯成一個一個可以識別的 IP 供不同的計算機設備連接。

linux 有關 DNS 解析的配置和文件

linux 中有三個文件是關於 dns 解析的:

  • /etc/hosts 記錄 hostname 對應的ip地址
  • /etc/resolv.conf 設置DNS服務器的ip地址
  • /etc/host.conf 指定域名解析的順序(是從本地的hosts文件解析還是從DNS解析)

/etc/hosts 的存在是早期網絡並不是特別發達,僅僅在 hosts 中保存主機名和 ip 地址的對應關系即可滿足需要,隨着網絡的發展逐漸出現分布式 DNS 服務,但是 /etc/hosts 形式保留下來了。

/etc/resolv.conf 是配置DNS 域名和 ip 地址的,網上有很多資料可以參考一下。

一個域名是如何被解析的

How the Domain Name System (DNS) Works 這篇大致解釋了域名被解析的過程,基本可以分為:

  • 向根域名服務請求頂級域名所在所在域名服務
  • 向頂級域名服務請求二級域名服務
  • 向二級域名服務請求具體的 ip 地址

簡易DNS配置案例(基於CentOs7)

服務器端

1.安裝bind

yum install bind

2.修改/etc/named.conf配置文件

vim /etc/named.conf
options {
        listen-on port 53 { any; };    //開啟監聽端口53,接受任意IP連接
        listen-on-v6 port 53 { ::1; };    //支持IP V6
        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     { 0.0.0.0/0; };    //允許任意IP查詢
        recursion yes;
		dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;
		/* Path to ISC DLV key */
	    bindkeys-file "/etc/named.iscdlv.key";
	 	managed-keys-directory "/var/named/dynamic";

};

logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};

zone "." IN {
type hint;
file "named.ca";
};

include "/etc/named.rfc1912.zones"; //主要配置文件
include "/etc/named.root.key";

3.修改/etc/named.rfc1912.zones文件,添加duiyi.com的正向區域

vim /etc/ named.rfc1912.zones
zone "localhost.localdomain" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};

zone "localhost" IN {
type master;
file "named.localhost";
allow-update { none; };
};

zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.loopback";
allow-update { none; };
};

zone "1.0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
allow-update { none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "named.empty";
allow-update { none; };
};

//duiyi.com的正向區域
zone "duiyi.com" IN {
type master;
file "duiyi.com.zone";
allow-update { none; };
};

4.創建正向區域資源文件

vim /var/named/duiyi.com.zone
$TTL 1D
@    IN SOA  duiyi.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
www    IN A 192.168.81.1
mail    IN A 192.168.81.2
ftp    IN A 192.168.81.3

5.啟動named服務

systemctl start named

6.開機自啟動

systemctl enable named

客戶端

操作系統:windows和linux都可以
IP地址:能夠ping通DNS服務器的IP(192.168.81.133)都可以,
作用:測試DNS服務器是否正常工作。

1.修改DNS:

2.ping 服務端ip(192.168.81.133),測試能否訪問服務器

3.使用nslookup命令測試三個DNS解析能否成功

如圖所示則表示DNS正向解析成功

Linux作為客戶端測試:

1. 安裝bind-utils包,以便能使用nslookup、dig和host工具

yum install bind-utils

2. 修改DNS配置使用我們的DNS服務器

vim /etc/resolv.conf
nameserver 192.168.81.133
nameserver 114.114.114.114
nameserver 8.8.8.8

3. 正向解析測試,使用nslookup命令(與windows測試一致)

nslookup
出處:https://www.cnblogs.com/MessiXiaoMo3334/p/11416784.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM