24_linux筆記-DNS服務
文章目錄
參考部落格
https://blog.csdn.net/loukundeboke/article/details/80012231
知識點1 DNS服務
DNS( Domain Name System) 域名系統
前提:
我們網路中都是使用ip地址通訊,無論是訪問服務,還是不同主機間進行資料交換
ip地址非常多,如果每個服務都通過ip地址來登入的話,使用者就需要記住這些很複雜的ip地址,不方便使用者使用
就像儲存在手機裡的電話號碼一樣,會有一個備註,通過這個備註 就可以找到正確的相應聯絡人的電話
那域名解析跟這個實現差不多,在普通使用者中,我們用域名來訪問服務,域名就通過域名解析來獲取到ip地址
dns服務就像電話簿,提供了可以查詢的域名到ip地址的對映關係
#注:在瀏覽器中輸入www.taobao.com,敲回車的一瞬間,先去解析域名
1、完全限定域名 FQDN
FQDN:Full Qualified Domain Name,完全限定域名,即每個域在全球網路都是唯一的;另外值得提到的一點是域並不是指諸如www.google.com這樣的域名,而google.com才是域
#注:www.music.163.com/ 163.com是域,前面是主機名
安裝dns服務軟體包bind
[root@cPen_B ~]# yum install bind
#注:安裝後,資料存放在/var/named/下
[root@cPen_B ~]# cd /var/named/
[root@cPen_B named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
2、域的分類
一、根域(.) 全球13組根域名伺服器以英文字母A到M依序命名,域名格式為“字母.root-servers.net”
在/var/named/name.ca檔案中可以檢視 # 注:標識為.
二、頂級域
頂級域:頂級域(Top Level Domain,簡稱TLD)分為三類
1> 通用頂級域:諸如 .com(商業機構) .org(非營利性組織) .net(網路服務機構)等
2> 國家頂級域:諸如 .cn(中國) .uk(英國) .us(美國) .jp(日本) .hk
3> 反向域(基礎建設頂級域):.arpa,即從IP到FQDN的反向解析 # 注:反向查詢
#注:正向域:從域名到ip; 反向域:從ip到域名
三、
二級域
三級域
www.sc.163.com --> 頂級域.com -->二級域163.com -->三級域sc.163.com
#注:前面的www是它的主機名
3、DNS解析
正向解析 域名 --> ip
反向解析 ip --> 域名
常用命令域名解析命令:
1、Ping
[root@cPen_A ~]# ping www.baidu.com
PING www.a.shifen.com (14.215.177.38) 56(84) bytes of data.
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=1 ttl=55 time=16.3 ms
#注:ping命令只能返回1個ip
2、host
安裝bind-utils軟體包
yum install bind-utils
[root@cPen_A ~]# host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.#注:為www.a.shifen.com取別名www.baidu.com
www.a.shifen.com has address 14.215.177.38 #注:ip地址
www.a.shifen.com has address 14.215.177.39
3、dig #注:看的比較詳細,推薦
[root@cPen_A ~]# dig www.baidu.com
;; ANSWER SECTION:
www.baidu.com. 34 IN CNAME www.a.shifen.com.
www.a.shifen.com. 216 IN A 14.215.177.38
www.a.shifen.com. 216 IN A 14.215.177.39
4、nslookup
[root@cPen_A ~]# nslookup www.baidu.com
www.baidu.com canonical name = www.a.shifen.com. #注:查詢的時候會加上根域,平時感覺不到
Address: 14.215.177.38
Address: 14.215.177.39
#注:可以拿DNS實現分流的作用。將新機器的域名地址解析成2個ip
#注:負載均衡:把很多機器當做1臺機器使用。DNS可以做到負載均衡,把流量分發的很多機器
#注:高可用:1臺機器去服務 它跪掉了,高可用就是這臺機器跪掉了,把流量引導其他機器
#注:高可用 避免單點故障
#注:運維思想:備份、高可用。比如系統盤2塊,其中1塊跪掉了,另外一塊還能繼續服務
#注:負載均衡和高可用 一般一起存在
DNS服務軟體:bind
預設埠 upd協議 53號埠
[root@cPen_A ~]# less /etc/services
domain 53/udp
示例:修改/etc/hosts檔案
[root@cPen_A ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@cPen_A ~]# ping localhost #注:解析成127.0.0.1
PING localhost (127.0.0.1) 56(84) bytes of data.
[root@cPen_A ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 www.baidu.com baid.com #注:新增這一行
[root@cPen_A ~]# ping www.baidu.com
PING www.baidu.com (127.0.0.1) 56(84) bytes of data. #注:解析成127.0.0.1
[root@cPen_A ~]# ping baid.com
PING www.baidu.com (127.0.0.1) 56(84) bytes of data. #注:解析成127.0.0.1
#注:/etc/hosts檔案 解析時 優先順序最高
示例:解析網址
[root@cPen_A html]# pwd
/usr/share/nginx/html
[root@cPen_A html]# vim index.html
hello world
cPen
[root@cPen_A html]# ip a
inet 192.168.0.19/24 brd 192.168.0.255 scope global noprefixroute dynamic ens33
#Windows機器上
Windows:C:\Windows\System32\drivers\etc\hosts
#注:hosts檔案裡
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
192.168.0.39 www.ldj.com #注:新增這一條
這樣在瀏覽器查詢 www.ldj.com 就會訪問到linux機器上的網址。www.ldj.com被解析成192.168.0.39
知識點2 DNS解析過程
DNS解析過程:
#注:面試題:當敲入www.baidu.com 發生什麼事情
1、先查詢本地hosts檔案,linux:/etc/hosts; Windows:C:\Windows\System32\drivers\etc\hosts
可以解析就直接返回地址
2、hosts檔案不能解析,去看本地快取。如果有,則返回結果,沒有就進行下一步查詢
linux下域名快取:nscd服務
[root@cPen_A html]# yum install nscd
[root@cPen_A html]# service nscd restart #注:清除快取 (重啟服務就是清除快取)
快取會有快取時間,快取多久可以指定的
#注:設定了DNS服務,但是設定了沒有生效,考慮1、快取 清除快取和2、/etc/hosts是否寫死
3、本地快取沒有找到,就會去請求本地的域名伺服器,本地域名伺服器有 就返回查詢結果
Linux下指定域名解析伺服器檔案 /etc/resolv.conf (配置本地域名伺服器ip地址的檔案)
第1個指定的nameserver就是首選dns伺服器,剩下的都是備選dns伺服器
[root@cPen_A html]# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.114 #注:可以指定多個ip 去解析ip
nameserver 192.168.0.1 #注:用nameserver指定
[root@cPen_A html]# dig www.baidu.com
;; SERVER: 114.114.114.114#53(114.114.114.114) #注:訪問114.114.114.114 53號埠去解析ip
4、本地域名伺服器沒有找到相應記錄,如果設定轉發查詢,就會去轉發的伺服器上去查詢。如果沒有設定轉發,或者都沒有找到,就會去根域查詢 (迭代查詢)
本地DNS就把請求發至13臺根DNS,根DNS伺服器收到請求後會判斷這個域名(.com)是誰來授權管理,並會返回一個負責該頂級域名伺服器的一個IP。本地DNS伺服器收到IP資訊後,將會聯絡負責.com域的這臺伺服器。這臺負責.com域的伺服器收到請求後,如果自己無法解析,它就會找一個管理.com域的下一級DNS伺服器地址(qq.com)給本地DNS伺服器。當本地DNS伺服器收到這個地址後,就會找qq.com域伺服器,重複上面的動作,進行查詢,直至找到www.qq.com主機
#注:面試題:當敲入www.baidu.com 發生什麼事情 (DNS解析流程)
答:DNS解析流程
第1步 先去 本地hosts檔案(/etc/hosts)去找 ip和域名的對映關係。有就返回。沒有就去
第2步 本地DNS快取 找…。有就返回。沒有就去
第3步 本地的域名伺服器 (/etc/resolv.conf)找…。有就返回。沒有就
第4步 如果本地域名伺服器 設定轉發查詢,就會去轉發的伺服器 上找…, 有就返回。
沒有找到 或 沒有設定 就去 根域查詢,先在根域裡找到頂級域的伺服器ip地址 返回頂級域的ip地址給本地域名伺服器
本地域名伺服器再去頂級域名伺服器 找,沒有找到就返回二級域伺服器的ip地址,本地域名伺服器去二級域裡找,沒有找到 返回三級域的ip地址給本地域名伺服器……迭代查詢,直到找到整個域名才返回
或者說 去根域查詢,迭代查詢, 直到找到為止
知識點3 dns服務的型別
1、快取域名伺服器
2、主域名伺服器
這上面定義了真正的ip到域名的對映關係
3、從域名伺服器
上面的資料域名對映 從主域名伺服器獲取
1、快取域名伺服器
也稱為 唯快取記憶體伺服器
通過向其他域名伺服器查詢獲得域名->IP地址記錄
將域名查詢結果快取到本地,提高重複查詢時的速度
3、主域名伺服器
特定DNS區域的官方伺服器,具有唯一性,權威性
負責維護該區域內所有域名->IP地址的對映記錄
3、從域名伺服器
也稱為 輔助域名伺服器
其維護的 域名->IP地址記錄 來源於主域名伺服器
知識點4 域名伺服器配置
1、安裝bind、bind-utils
域名解析主程式
[root@cPen_B etc]# which named
/usr/sbin/named
2、配置檔案
如果沒有安裝bind-chroot軟體包
主配置檔案: /etc/named.conf 資料檔案位於:/var/named/目錄
[root@cPen_B etc]# less /etc/named.conf
3、修改配置
1、 vim /etc/named.conf # 注:全域性配置檔案
options {
listen-on port 53 { 127.0.0.1; };
listen-on port 53 { any; }; # 注:將監聽地址改成any,設定監聽在本機的任意ip上
allow-query { localhost; }; # 注:允許訪問服務的主機
allow-query { any; }; # 注:將許可權設定為any,允許任何人來查詢
zone "." IN { # 注:定義根域
type hint; # 注:指定根域
file "named.ca"; # 注:在named.ca裡去找 /var/named/named.ca
};
include "/etc/named.rfc1912.zones"; # 注:定義其他域
include "/etc/named.root.key";
2、域配置檔案 /etc/named.rfc1912.zones
新增域配置:
[root@cPen_B ~]# vim /etc/named.rfc1912.zones
zone "sc.com" IN { # 注:新增sc.com域的解析
type master; # 注:主域名伺服器
file ""sc.com""; # 注:域名配置存放檔案 (域的解析從哪裡檔案裡去找)
allow-update { none; };
};
4、配置指定域的解析檔案
目錄:/var/named
#注:注意許可權, named使用者要可讀
#注:注意屬組
[root@cPen_B named]# cp named.empty sc.com
[root@cPen_B named]# pwd
/var/named
[root@cPen_B named]# vim sc.com
$TTL 3H ; 注:快取時間
@ IN SOA sc.com. ( ; 注:修改的地方
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
;注:A記錄 正向解析記錄
dns A 192.168.136.129 ;注:dns伺服器的IP地址
www A 192.168.136.129 ;注:www伺服器的IP地址
* A 192.168.136.123 ;注:配置泛域名解析
;mail MX 192.168.136.129 ;注:分號註釋
;dns IN 600 A 192.168.136.129 ;注:配置A記錄解析 快取時間為600s
[root@cPen_B named]# service named restart # 注:重啟服務
[root@cPen_B named]# lsof -i:53 # 注:埠起來了
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
named 1839 named 21u IPv4 42519 0t0 TCP localhost:domain (LISTEN)
named 1839 named 22u IPv4 42521 0t0 TCP cPen_B:domain (LISTEN)
named 1839 named 23u IPv6 42523 0t0 TCP localhost:domain (LISTEN)
[root@cPen_B named]# dig www.sanchuang.com
;; SERVER: 192.168.136.2#53(192.168.136.2)
[root@cPen_B named]# cat /etc/resolv.conf # 注:指定本機的DNS伺服器
# Generated by NetworkManager
search localdomain
nameserver 192.168.136.2
[root@cPen_B named]# dig www.sc.com @192.168.136.129 # 注:用192.168.136.129去解析
;; QUESTION SECTION:
;www.sc.com. IN A
;; ANSWER SECTION:
www.sc.com. 10800 IN A 192.168.136.129 # 注:解析成功
;; AUTHORITY SECTION:
sc.com. 10800 IN NS sc.com.
#設定反向域
[root@cPen_B named]# vim /etc/named.rfc1912.zones
zone "1.0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
allow-update { none; };
};
[root@cPen_B named]# pwd
/var/named
[root@cPen_B named]# less named.loopback
知識點5 資源記錄型別
(1)A記錄(Address)正向解析
A記錄是將一個主機名(全稱域名FQDN)和一個IP地址關聯起來。這也是大多數客戶端程式預設的查詢型別。
(2)PTR記錄(Pointer)反向解析
PTR記錄將一個IP地址對應到主機名(全稱域名FQDN)。這些記錄儲存在in-addr.arpa域中。
(3)CNAME記錄(Canonical Name)別名
別名記錄,也稱為規範名字(Canonical Name)。這種記錄允許您將多個名字對映到同一臺計算機。
(4)MX記錄(Mail eXchange)
MX記錄是郵件交換記錄,它指向一個郵件伺服器,用於電子郵件系統發郵件時根據 收信人的地址字尾來定位郵件伺服器。MX記錄也叫做郵件路由記錄,使用者可以將該域名下的郵件伺服器指向到自己的mail server上,然後即可自行操控所有的郵箱設定。
當有多個MX記錄(即有多個郵件伺服器)時,則需要設定數值來確定其優先順序。通過設定優先順序數字來指明首選伺服器,數字越小表示優先順序越高。
(5)NS記錄(Name Server)
NS(Name Server)記錄是域名伺服器記錄,也稱為授權伺服器,用來指定該域名由哪個DNS伺服器來進行解析。
將網站的NS記錄指向到目標地址,在設定NS記錄的同時還需要設定目標網站的指向,否則NS記錄將無法正常解析
NS記錄優先於A記錄。即,如果一個主機地址同時存在NS記錄和A記錄,則A記錄不生效。
相關文章
- dns服務DNS
- DNS主從服務DNS
- DNS服務應用DNS
- 模擬DNS服務DNS
- DNS域名解析服務DNS
- 域名系統DNS服務DNS
- CA認證服務筆記筆記
- WCF服務承載(筆記)筆記
- DNS學習筆記DNS筆記
- DNS解析服務(bind)安裝DNS
- Linux學習 DNS服務LinuxDNS
- CIFS服務端開發筆記服務端筆記
- DNS域名解析服務及其配置DNS
- Linux——DNS域名解析服務LinuxDNS
- Cloudflare正式推出1.1.1.1公共DNS服務CloudDNS
- 分散式服務框架開發筆記分散式框架筆記
- Laravel底層學習筆記02 - 服務容器,服務提供者Laravel筆記
- Centos7系統配置DNS服務CentOSDNS
- Nmap掃描教程之DNS服務類DNS
- 學習筆記 - DNS協議筆記DNS協議
- Laravel 原始碼筆記 2 App 服務容器Laravel原始碼筆記APP
- Kubernetes學習筆記(四):服務筆記
- Consul 學習筆記-服務註冊筆記
- Laravel 學習筆記 —— 神奇的服務容器Laravel筆記
- 筆記本DNS怎麼設定 Win10筆記本設定阿里公共DNS教程筆記DNSWin10阿里
- 網路技術DNS服務全介紹DNS
- 《DNS服務快取的建立》RHEL6DNS快取
- 《搭建DNS負載均衡服務》RHEL6DNS負載
- 《搭建更新DNS叢集服務》RHEL6DNS
- springCloud學習筆記2(服務發現)SpringGCCloud筆記
- angular學習筆記(十五)-module裡的'服務'Angular筆記
- angular學習筆記(二十九)-$q服務Angular筆記
- Symfony2 學習筆記之服務容器筆記
- nacos學習筆記之服務發現中心筆記
- 華為帳號服務學習筆記(四):Authorization Code模式服務端開發筆記模式服務端
- redhat7.2 DNS配置筆記(轉)RedhatDNS筆記
- Google:Google DNS 每天請求數 700 億次 成世界最大 DNS 服務GoDNS
- Java後端分散式系統的服務路由:智慧DNS與服務網格Java後端分散式路由DNS