網路紮根概念20- 應用層DNS介紹

阿彬電腦
9 位粉絲
2024年10月14日
「雲端時代必備網路紮根概念(含TCP/IP與IPV6)」詳細線上課程連結:
https://www.udemy.com/course/tcpipipv6/?referralCode=6C8F3C4D4EBB95130B02
「AWS雲端實戰基礎」詳細線上課程連結:
https://www.udemy.com/course/aws-service/?referralCode=F89F4B85975612C59357
「Microsoft Azure雲端基礎實戰」詳細線上課程連結:
https://www.udemy.com/course/ms-azure/?referralCode=74F790E7290C998395E2
「AWS雲端Linux從零開始到架站與應用」詳細線上課程連結: https://www.udemy.com/course/awslinux/?referralCode=116FE91C10109D88E559
「Cisco Packet Tracer 8.X 基礎實戰」詳細線上課程連結:
https://www.udemy.com/course/packet-tracer/?referralCode=2620E85317674F4AD99A
大家好,我是阿斌
這個影片我們要介紹DNS
是需求也可下載影片資源中的講義
DNS的工作就是做名稱解析
我問DNS server www.google.com
它告訴我IP
我再用這個IP去連Google的電腦
DNS是網路7層中應用層的通訊協定
這個架構圖
每一個框框都是一臺DNS server
這一臺是美國IBM他們公司的DNS server
這一臺是Acer臺灣宏碁他們公司的DNS
這一臺是ASUS臺灣華碩他們公司的DNS server
比如華碩他們公司
就可以在他們的DNS server
建立一筆
www.asus.com.tw
對應到某一個IP
讓全世界的人問到這個名字
得到這個IP
用這個IP連到那臺電腦
所以我們在查DNS
是全世界每一家公司
他們自己DNS建的資料
加起來Total的Database
那假如我們要問一筆資料
要到全世界每一家公司的DNS的資料
每一臺去問
一臺一臺問
那請問要問到民國幾年
所以DNS在設計的時候
就要有這個階層的架構
比如我在問
www.asus.com.tw
他會先去問跟
再去問tw
再去問com
再去問asus
答案www的IP就出來了
我只要問四臺
就可以得到IP
我不用一臺一臺去問
全世界每一家公司
都有一臺DNS
全世界有幾百萬臺DNS
假如要一臺一臺問
那要問到什麼時候
跟這一臺DNS是固定的
只要不知道就問跟
從跟一臺一臺找下來
只要找四臺
就可以得到答案
只要把DNS這個軟體裝好
他內建就有跟的位置
那跟最早只有一臺
他目前有13臺
在做容錯跟Low Balance
只要不知道就問跟
請問www.asus.com.tw IP多少
跟會先告訴我TW這臺DNS的IP
叫我去問TW
我再去問TW
請問www.asus.com.tw IP多少
TW會先告訴我com
這臺DNS的IP
那我再去問com這一臺
請問www.asus.com.tw IP多少
com這一臺會先告訴我asus
這一臺DNS的IP
那我再去問asus這一臺
接著asus再去查他DNS的資料庫
就可以查到www這一筆的IP
再把IP告訴我
那我最後再用這個IP
連到asus的網站
這裡有一個重點
為什麼去問com這一臺
他會告訴我asus這一臺DNS的IP
叫我去問asus這一臺
原因就是華碩這家公司
要去跟上層的DNS
申請asus這一個Domain Name
申請Domain Name
其實就是跟上層註冊
以後有人問你
www.asus.com.tw
你叫他來問我下面這一臺
我這一臺的IP是200.2.3.4
每一臺下層的DNS
都要跟他的上層註冊
DNS就是這種階層的架構
我只要透過跟一層一層問下來
我只要問四臺
全世界任何一臺任何一筆
我都可以問得到
ipconfig空一個斜線後
我可以看到我這一臺電腦
目前DNS server
設在168.95.1.1
這一臺是中華電信的DNS server
8888
這一臺是Google的DNS server
不管我設在哪一臺都沒有關係
我只是先問中華電信的DNS server
當他不知道
他會幫我去問跟
透過跟一層一層問下來
只要問四臺
全世界任何一臺任何一筆
我都可以問得到
當我們發出一個
名稱查詢的時候
第一個
他會先查我自己這一臺電腦的cache
我早上已經查過
www.google.com
他就會把IP記在電腦的cache
下午要連
他就直接問cache
就可以得到IP
當cache查不到的時候
第二點
他會查自己這一臺電腦的host檔
host這個文字檔
可以讓我們定義
某一個名字IP是多少
當有定義的話
就可以讓這一臺電腦
查得到這個名字
得到IP
當一跟二都查不到的時候
他才會去問
我電腦指定的16895.1
中華電信的DNS server
會去查他自己的Database
有沒有我要問的這一筆
沒有的話
再去查cache
有沒有曾經問過這一筆
再沒有的話
再去找內是三臺根的其中一臺
透過根
一層一層問下來
只要問四臺
任何一臺
任何一筆
都可以查得到
Display DNS
這一個指令
可以讓我們看本機的cache
我曾經問過什麼名字
得到什麼IP
我在命令提示支援
執行IP Config
空一格斜線
Display DNS
Enter
我就可以看到
我曾經問過
dial.pchome
他的IP是39
所以我下次要連pchome
他就不用再去問DNS server了
等一下
我用系統管理員的身份
打開記事本
在記事本中
打開host檔
建一個名稱跟IP的對應
最後我們再來測試
pin
我建的名稱
我們會看到對應的IP
就有回應
我們再開始
搜尋Nope
在記事本按右鍵
以系統管理員身份執行
打開Nope
在左上角
檔案
開啟舊檔
我們找
西朝
Windows
C32
Driver
ETC
我們在右下角
往下拉
星星點
星星
我們找到
host檔
打開
我在最下面加一行
1968.1.50
空格
good.abc.com
以後
我用這個名字
就可以對應到1.50
最後把記事本
叉叉
儲存
最後
我們打開命令提示字元
我們pin
我們剛剛建的那個名稱
good.abc.com
那我們就可以看到
他有幫我解析
成1.50
那至於
有沒有回應
那就要看
有沒有1.50那臺電腦
還有那臺電腦的ICMP
有沒有開放
接下來
我想簡單介紹
我自己的Domain Name
是如何申請的
很多地方都可以讓你申請
Domain Name
那我發現
Namecheap.com
這個地方還蠻便宜的
你把你要申請的Domain Name
輸入在這個空格
然後搜尋
只要沒有人申請
你就可以申請
比如我剛才搜尋
Hello我的名字
這裡列出來
就是沒有人申請
你可以申請的
比如
我要申請
HelloBinru.com
這樣子一年要8塊美金
假如
你不在乎的話
有一些
比較少用的名字
他的價錢
會很便宜
比如
HelloBinru.syz
他一年只要
1塊美金
那
假如這些名字
你通通都不滿意
下面
你還可以打開
400個額外的名稱
好
那我決定要申請
HelloBinru.syz
一年
1塊美金
我把它加入購物車
接著
我點Checkout
這裡
你可以決定
你要購買幾年
或者
事後再做續約
好
那我購買一年
我點
Confirm Order
假如
你曾經有在
Namecheap
建過帳號
那你就直接登入
那假如
沒有建過帳號
要先建一個帳號
填入一些基本資料
點
Create Account
建好帳號之後
直接用信用卡付款
當付完款
這一年
這個Domain Name
就是你所擁有
申請完
以後我們要管理
我們的Domain Name
第一個我們要先
Sign In
我們在Namecheap
建的帳號
Sign In之後
這裡就可以看到
Binru
我已經登入
Binru的帳號
我們點左邊的
Domain List
我們可以看到
我們申請的
Domain Name
Binru.in
它的過期日
是2028年
只要在2028年
以前有做續約的話
這個Domain Name
都可以繼續使用
好
那我們點右邊的
Menu去
點入
往下
這裡有一個Name Server
往下拉
這裡可以讓我們決定
這個Domain Name
由它來維護
或者
我們自己加一臺
Ninus或者Windows的
DNS Server
我們自己來維護
這個Domain Name的
Database
假如選擇
自己維護的話
這裡就要填入
自己公司的
DNS Server
一臺
或者多臺
那我這裡
不做修改
我選第一個
由它來維護
這個Domain Name的
Database
所謂
由它維護
我們自己就不用
架DNS Server
我只要點
Advanced DNS
那我就可以
在這個
Domain Name裡面
建名稱跟IP的對應
我點入
Advanced DNS
我們往下拉
這裡就可以看到
我們曾經
建過的Raker
下面有一個紅色的
Add New Raker
這個可以讓我們
建一筆新的Raker
我們最常見的
有A Raker
CNAME Raker
還有
NS Raker
好
那我這邊點
A Raker
A Raker就是讓我們
建一筆
名稱跟IP的對應
比如
我上面這裡
有建一筆
A Raker
它的名字是
www.binruin
IP對應到129
以後我就可以
用這個名字
對應到這個IP
看到這臺電腦的網頁
CNAME
我們稱作別名
原本這臺的名字
是這一個
我覺得不好聽
我要替它取一個別名
叫
adr.binruin
以後我只要用
adr.binruin
就可以連到
這一臺
我這邊簡單用
Pin來測一下
我Pin
adr.binruin
Enter
它就會幫我
對應到這個名字
找到這臺電腦
原因是因為
我不喜歡
這個名字
所以我幫它
取一個別名
那以後
我用這個別名
我就可以連到
這一臺
第三個Raker
我們叫
Name Server
我可以切一個
Subdomain
iii.binruin
給下層的
DNS Server
來Maintain
這個Subdomain的
Database
可能我公司很大
我有很多分公司
或者我有很多部門
這時候
我就想要
切一個Subdomain
給分公司
他們自己
去加一臺
DNS Server
來Maintain
這個Subdomain的
Database
我們之前講
DNS是
階層的架構
我只要問到
上層
xxx.iii.binruin
它就會
叫我去問
下層這一臺
DNS
那我們來看
下層這一臺
DNS
在哪裡
繞53
是Amazon
AWS的
DNS Server
我這一臺
要來當下層的
DNS Server
那我就要
把xxx.iii.binruin
這一個Subdomain的
Database
建上去
那我再到
這個Subdomain的
Database裡面
去建一筆
Error
xxx.iii.binruin
它的IP
對應到
1.1
最後
我們用Pin來測
Pin
xxx.iii.binruin
Enter
那最後
我們就可以Pin到
1.1
這一個IP
下面這一個
跟上面這一個的
差別
它中間多了
iii
這一個Subdomain
Subdomain
可以建很多個
我可能有
高雄的分公司
臺中的分公司
臺北的分公司
這時候
我就可以建
多個Subdomain
給他們
個別的
DNS Server
來Maintain
他們自己
Subdomain的Database
這個影片
先介紹到這裡
謝謝收看
下次再見
