久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Linux下怎么搭建DNS與服務器

161次閱讀
沒有評論

共計 5005 個字符,預計需要花費 13 分鐘才能閱讀完成。

這篇文章主要介紹“Linux 下怎么搭建 DNS 與服務器”,在日常操作中,相信很多人在 Linux 下怎么搭建 DNS 與服務器問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linux 下怎么搭建 DNS 與服務器”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!

DNS 基本概念

本節概念,如果已知可以直接跳到 搭建 DNS 服務器

其實不管是開發還是運維,多少都接觸過 DNS, 一個域名長這樣,一個點一個域,最多四個域, 用域名也就是一個字符串來標記一個網址的方式,是為了讓人更好記,計算機才不在乎是 ip 還是用域名呢!

Linux 下怎么搭建 DNS 與服務器

頂級域又可以分為三類:

通用頂級域(.com 商業機構,.org 非營利性組織,.net 網絡服務機構等)

國家頂級域(.cn 中國,.uk 英國,.us 美國,.jp 日本)

反向域(基礎建設頂級域,.arpa)

我們如果自己注冊一個域名,完全不用在乎用哪個頂級域名,只是一個潛規則,給別人知道大概你的網站可能有什么用,我們通常在 ICP 那里申請的域名是二級域名,申請下來以后就可以隨意自己加三級、四級域名,因為很多人頂級域名是一樣的,申請的是二級域名,然后所有的三級四級域名你都可以自己加,都屬于你,按這種邏輯來看域名系統就像一顆樹

Linux 下怎么搭建 DNS 與服務器

我們任何人都可以申請域名,只要花幾十塊錢就可以用他來搭網站,比如我在騰訊云上申請的域名 coding3min.com 就是 60 塊一年的。

域名解析的過程

域名解析有多種類型,www、@、*、mail、二級域名、手機網站對應不同的用法。

Linux 下怎么搭建 DNS 與服務器

可以在騰訊云上看到提示,通常 www 為前綴的是主域名,但是輸入麻煩,我把他重定向到了 coding3min.com 上,也就是 @方式,各個的作用看上圖。

記錄類型又分為下面這幾種

Linux 下怎么搭建 DNS 與服務器

常用的是 A 類型,直接指向一個服務器的  ip,CNAME 類型是指向另一個域名,比如我們用 github 給我們提供的表態網站服務就可以搭建起來一個免費的博客會提供一個域名用來中轉,我們也可以借助自己的域名來解析到 MX 類型,搭建自己后綴的郵件服務器。

下面是一個詳細的域名解析過程,劃重點! 這里考試要考

Linux 下怎么搭建 DNS 與服務器

如上圖,

在瀏覽器中輸入 www.baidu.com 域名,操作系統會先檢查自己本地的 hosts 文件是否有這個網址映射關系,如果有,就先調用這個 IP   地址映射,完成域名解析。

如果 hosts 里沒有這個域名的映射,則查找本地 DNS 解析器緩存,是否有這個網址映射關系,如果有,直接返回,完成域名解析。

如果 hosts 與本地 DNS 解析器緩存都沒有相應的網址映射關系,首先會找 TCP/IP 參數中設置的首選 DNS 服務器,在此我們叫它本地 DNS   服務器,此服務器收到查詢時,如果要查詢的域名,包含在本地配置區域資源中,則返回解析結果給客戶機,完成域名解析,此解析具有權威性。

如果要查詢的域名,不由本地 DNS 服務器區域解析,但該服務器已緩存了此網址映射關系,則調用這個 IP 地址映射,完成域名解析,此解析不具有權威性。

如果本地 DNS 服務器本地區域文件與緩存解析都失效,則根據本地 DNS 服務器的設置 (是否設置轉發器) 進行查詢,如果未用轉發模式,本地 DNS 就把請求發至  “根 DNS 服務器”,“根 DNS 服務器”收到請求后會判斷這個域名 (.com) 是誰來授權管理,并會返回一個負責該頂級域名服務器的一個  IP。本地 DNS 服務器收到 IP 信息后,將會聯系負責.com 域的這臺服務器。這臺負責.com 域的服務器收到請求后,如果自己無法解析,它就會找一個管理.com 域的下一級 DNS 服務器地址 (baidu.com) 給本地 DNS 服務器。當本地 DNS 服務器收到這個地址后,就會找 baidu.com 域服務器,重復上面的動作,進行查詢,直至找到 www.baidu.com 主機。

如果用的是轉發模式,此 DNS 服務器就會把請求轉發至上一級 DNS 服務器,由上一級服務器進行解析,上一級服務器如果不能解析,或找根 DNS   或把轉請求轉至上上級,以此循環。

不管是本地 DNS 服務器

用還是轉發,還是根提示,最后都是把結果返回給本地 DNS 服務器,由此 DNS 服務器再返回給客戶機。

DNS 查詢方式包含遞歸和迭代,解析方式包含正向解析和反向解析。我們知道了原理,實戰一下看看吧!

搭建本地 DNS 服務器

如果你用的是 kubernetes 來部署服務,他的 kube-dns 組件會自動做好域名解析,讓服務和服務之間用特定的名稱規則自動完成服務發現。

DNS 只是一種協議,真正提供服務的是 bind 軟件,因此,現在來安裝它:

sudo yum install bind-utils bind bind-chroot

安裝后有幾個目錄或文件是需要記得的:

/etc/named.conf: 主配置文件

/etc/sysconfig/named: 配置是否啟動 chroot 及額外的參數

/var/named: 數據庫文件存放目錄,存放主機名對應 ip 的文件

/var/run/named: named 程序執行時 pid-file 文件存放目錄(在 ubuntu 系統中,目錄為 /run/named)

知道了這幾個重要配置文件和目錄后,下面開始配置,我們把 baidu.com 的流量劫持了試試看

修改配置文件前一個重要習慣是先復制一份,這樣改錯了方便恢復。

改主配置文件 named.conf, 找到相應的配置位置,改成我這個

listen-on port 53 { any; }; listen-on-v6 port 53 { any; }; allow-query { any; }; recursion yes;

意思是開放 53 號端口對于任意地址的監聽,允許所有主機對我們進行訪問,拒絕遞歸查詢方式,使用迭代查詢方式,增加資源利用率。

拉到底部可以看到 include 了這個配置文件,你可以在里面對正解 (反解) 區域進行定義。

include  /etc/named.rfc1912.zones

在 /etc/named.rfc1912.zones 底部添加如下內容。

zone  baidu.com  IN { // 一級域名為.com、二級域名為.baidu type master; // 類型為主 DNS 服務器  file  named.baidu.com  // 指向正解文件為 /var/named/named.baidu.com };

修改 /var/named/named.baidu.com 文件如下,其中 127.0.0.1 這個 ip 你可以改成你想要的。

$TTL 600 ; 定義下列所有記錄緩存在客戶端的時間  @ IN SOA dns.yu.com. root.localhost ( 0 ; serial #序列號,用于主從 dns 中判斷是否為最新版本  1H ; refresh #一小時更新一次  15M ; retry #若連接不上,等待 15 分鐘后重新嘗試連接  1W ; expire #超過一周仍無法下載便放棄下載  3D ) ; minimum # 客戶端找服務端做 dns 解析時,否定答案的緩存時間為 3 天  @ IN NS dns.baidu.com. ; NS 記錄表明了 dns 服務器的 SDQN 為 dns.baidu.com. dns.baidu.com. IN A 127.0.0.1 ;  下面三條 A 記錄表明了域內主機的 IP 地址  www.baidu.com. IN A 127.0.0.1 ftp IN A 127.0.0.1

重啟服務,檢查 SELinux 并開啟防火墻的 dns 服務

systemctl restart named #重啟服務  setenforce 0 #關閉 SELinux firewall-cmd --add-service=dns # 開啟防火墻的 dns 服務

修改 DNS 服務器指向

在 linux 中,DNS 服務器指向的配置有固定的文件,如下文件就有一個主服務器,一個備服務器,等搭建好 DNS 服務器后就是改這個文件。

$ cat /etc/resolv.conf nameserver 192.168.3.1 nameserver 114.114.114.114

測試

ping www.baidu.com PING www.baidu.com (127.0.0.1) 56(84) bytes of data. 64 bytes from VM-0-11-centos (127.0.0.1): icmp_seq=1 ttl=64 time=0.006 ms 64 bytes from VM-0-11-centos (127.0.0.1): icmp_seq=2 ttl=64 time=0.021 ms ^C --- www.baidu.com ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 999ms rtt min/avg/max/mdev = 0.006/0.013/0.021/0.008 ms

也可以用 nslookup 來查看域名的解析,如果改完了新的 DNS 服務器的位置就可以用這個命令來查詢。

$ nslookup coding3min.com Server: 192.168.3.1 Address: 192.168.3.1#53 Non-authoritative answer: coding3min.com canonical name = coding3min.com.cdn.dnsv1.com. coding3min.com.cdn.dnsv1.com canonical name = 6yucorit.dispatch.spcdntip.com. Name: 6yucorit.dispatch.spcdntip.com Address: 112.67.251.116 Name: 6yucorit.dispatch.spcdntip.com Address: 113.105.165.183 Name: 6yucorit.dispatch.spcdntip.com Address: 113.96.98.77 Name: 6yucorit.dispatch.spcdntip.com Address: 125.78.252.121

Server 后的就是 DNS 服務器的地址

因為我用了 CDN,所以 DNS 解析出了多個地址,下面的 Address 比如 112.67.251.116 就是解析出來的真實 ip

DNS 協議運行在 UDP 協議之上,因此使用的 53 號端口,當沒有辦法查詢到完整的信息時,就會再次以 TCP 協議來查詢,因此,防火墻需要放行 TCP、UDP 的  53 號端口,端口號可以在 /etc/services 文件查看到:

cat /etc/services | grep domain domain 53/tcp # name-domain server domain 53/udp domaintime 9909/tcp # domaintime domaintime 9909/udp # domaintime

名詞解釋

DNS 服務器:運行 DNS 服務器程序的計算機,存儲 DNS 數據庫信息。

DNS 緩存:DNS 服務器在解析客戶機的域名請求時,如果本地沒有該域名的記錄,則會詢問其它 DNS 服務器,當其它域名將解析結果返回給 DNS   服務器時,DNS 將對應的記錄保存在本地,生成 DNS 緩存,當下一次客戶機再次請求時,DNS 服務器則可以直接使用緩存中的 DNS 記錄。

DNS 查詢方式:遞歸查詢和迭代查詢

遞歸查詢:當客戶機向 DNS 服務器發起域名解析請求時,DNS 服務器首先查看自己本機的 DNS 記錄,如果沒有則會向其它 DNS   服務器發起解析請求。迭代查詢:當客戶機向 DNS 服務器發起域名解析請求時,DNS 服務器不會給客戶機解析地址,而是告訴客戶機另外一臺 DNS   服務器,客戶機再向這臺服務器發起地址解析請求。

正向解析和反向解析正向解析:指域名解析到 IP 地址的解析過程。反向解析:指 IP 地址解析到域名的解析過程。

到此,關于“Linux 下怎么搭建 DNS 與服務器”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注丸趣 TV 網站,丸趣 TV 小編會繼續努力為大家帶來更多實用的文章!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計5005字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 连城县| 泽库县| 竹溪县| 互助| 淮南市| 兴安县| 高清| 姚安县| 阜新市| 铁岭县| 聂拉木县| 肇源县| 中阳县| 刚察县| 鄂州市| 定州市| 新田县| 高阳县| 来宾市| 宣化县| 平阴县| 延长县| 临猗县| 新宁县| 阿合奇县| 明溪县| 扶绥县| 什邡市| 科尔| 襄垣县| 呼玛县| 芜湖县| 吉首市| 望江县| 芦溪县| 绍兴市| 罗城| 赣州市| 潞西市| 宜都市| 卓尼县|