iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 18
1
自我挑戰組

Linux學習系列 第 18

Linux dns-nameservers

截圖來自影片教學
繼續之前的
Ubuntu /etc/network/interfaces和了解四種backbones裝置、靜態與動態ip、VPN

繼續了解:
https://ithelp.ithome.com.tw/upload/images/20181031/20111994akaNe8iY4v.png

測試:如果只有443沒有80可不可以連apache2
結果:不能
https://ithelp.ithome.com.tw/upload/images/20181031/20111994IKPiBgEYZD.png

測試:如果不能連80和443,但連了Apache Full可不可以連apache2
結果:不能,一定要有80
https://ithelp.ithome.com.tw/upload/images/20181031/20111994EwBzJVofWi.png
https://ithelp.ithome.com.tw/upload/images/20181031/20111994t43bIv47lv.png

接著來了解什麼是dns-nameservers 8.8.8.8 8.8.4.4
Computer Networking Tutorial - 38 - DNS

什麼是DNS?
https://aws.amazon.com/tw/route53/what-is-dns/

網域名稱系統(英文:Domain Name System,縮寫:DNS)

DNS就是將人們可讀取的網域名稱 (例如,www.amazon.com) 轉換為機器可讀取的IP地址 (例如,192.0.2.44)

如圖:使用者輸入www.amazon.com, 並不會馬上連接到 www.amazon.com 的伺服器,而是會先經過DNS伺服器把www.amazon.com 轉換成192.0.2.44,在回到使用者的電腦,接著再透過網路才連到www.amazon.com 的伺服器

網際網路DNS系統的工作原理和電話簿類似,管理名稱和數字之間的關係。
https://ithelp.ithome.com.tw/upload/images/20200813/20111994OMAfwadxoQ.png

接著了解:
1 Recursive query
2 iterative query
DNS recursive query vs. Iterative query
(截圖來自教學)

什麼是FQDN?
https://www.youtube.com/watch?v=cbrpljSG_AI
www.amazon.com就是FQDN
如圖:從最底層的www到amazon到com到.
.會省略,不然完整寫的話.也會有
https://ithelp.ithome.com.tw/upload/images/20200813/20111994GjsrFmp32Q.png

Recursive query就是使用者跟DNS伺服器之間的溝通。
使用者: www.amazon.com 的IP地址是什麼?
DNS伺服器: 192.0.2.44是www.amazon.com 的IP地址。
,或者如果DNS找不到IP地址 那DNS會說:我找不到
https://ithelp.ithome.com.tw/upload/images/20200813/20111994XhceJ1uSvL.png

iterative query就不是使用者的事了,而是DNS伺服器和DNS伺服器的溝通
https://ithelp.ithome.com.tw/upload/images/20181031/20111994NoISmFyqic.png

接著影片提供了一個例子:
當我要連google網頁時,我輸入https://www.google.com.tw/ ,我的電腦會檢查兩個地方有沒有IP地址,第一個是:cache,在widows的cmd輸ipconfig/displaydns就會找到FQDN對應的IP,第二個是一個叫做hosts檔案,這個檔案通常會有127.0.0.1 localhost,localhost對應127.0.0.1,所以如果檔案裡有https://www.google.com.tw/ 和google的IP地址就可以取得IP地址了
https://ithelp.ithome.com.tw/upload/images/20200813/20111994UhD7BNmOhV.png
https://ithelp.ithome.com.tw/upload/images/20181031/20111994WuYvdxUDq7.png
https://ithelp.ithome.com.tw/upload/images/20181031/2011199433UYrxnKQl.png

接著如果在電腦找不到https://www.google.com.tw/ 的IP地址,就會向DNS伺服器溝通了。使用者: https://www.google.com.tw/ 的IP地址是? DNS伺服器:我不知道,所以我問其他DNS伺服器
https://ithelp.ithome.com.tw/upload/images/20181031/20111994zcLBQzgkfi.png
https://ithelp.ithome.com.tw/upload/images/20181031/20111994lQ1fIgfTY8.png

接著就是DNS伺服器不斷的去問其他DNS伺服器,首先最上層的root開始問,
Root會說:我不知道https://www.google.com.tw/ 的IP位址, 但是我知道com,這個伺服器可能會知道https://www.google.com.tw/ 的IP位址, 所以你去問com吧!
接著就去找com,com再說:你去找google,google說:我知道!
這串溝通就是iterative query
https://ithelp.ithome.com.tw/upload/images/20181031/20111994CoqoFAsNhH.png

這樣伺服器就知道了https://www.google.com.tw/ 的IP地址,以後就可以不用一直問,可以直接告訴使用者https://www.google.com.tw/ 的IP地址,然後除了伺服器知道google的IP地址,使用者的電腦的cache也會有google的IP位址
這樣更方便了,連伺服器都不用問了
https://ithelp.ithome.com.tw/upload/images/20181031/201119949XGgcwEiX7.png

大概知道DNS後,來了解dns-nameservers 8.8.8.8 8.8.4.4
Google Public DNS上網跑更快,用戶端趕快更換IPv4 DNS設定8.8.8.8與8.8.4.4

所以dns-nameservers 8.8.8.8 8.8.4.4的意思應該就是虛擬機器設定的DNS伺服器是8.8.8.8或8.8.4.4,而8.8.8.8或8.8.4.4代表使用的是Google的DNS伺服器

中華電信HiNet DNS:168.95.192.1與168.95.1.1
Google Public DNS:8.8.8.8與8.8.4.4

所以這邊的dns-nameservers跟網頁伺服器沒什麼關係,但是因為網頁伺服器改成固定 IP,所以沒有指定 DNS Server的話,這台網頁伺服器上網就會有問題,因為如果要到google,主機如果沒有https://www.google.com.tw/ 的IP地址,這時候就要有DNS Server阿!但是固定IP又不像動態IP會有ISP的DNS Server來幫忙,所以要設定dns-nameservers
Ubuntu 手動指定 DNS 伺服器


上一篇
AWS EC2 設定Ubuntu 、了解TCP與UDP、查看封包內容
下一篇
Ubuntu apache2 html 、VirtualBox改成ssh連線
系列文
Linux學習30

尚未有邦友留言

立即登入留言