分類
教學 最新文章

Google AdSense 2019/09 重大變更之一,子網域無法申請廣告

本站有使用 Google AdSense 的廣告投放機制,可以賺取微薄的廣告費。我在 2019/09 月之前可以正常投放廣告。後來因為網址變更,所以要重新申請 AdSense 的核准,結果一直被拒絕。

分類
教學

[基礎] 網址、網域、DNS 代管與主機是什麼?

許多人會都希望能架設自己的網站,但對於很多初學者來說,需要了解的部份大致尚有網址、網域、DNS 紀錄設定與主機。

分類
技術文章 教學 網域名稱

DNS 除錯教學系列文章(4) – dig 指令教學

DNS 系列文章目錄

DNS 除錯教學系列文章(1) – DNS 入門
DNS 除錯教學系列文章(2) – DNS 架構
DNS 除錯教學系列文章(3) – DNS 紀錄
DNS 除錯教學系列文章(4) – dig 指令
DNS 除錯教學系列文章(5) – 常見 DNS 問題與 dig 除錯方法

為什麼要用 dig,不能用 ping 嗎?

dig 能顯示 DNS 封包中大部份的資料,包括每一個 bit 的值,對於你要快速進行 DNS 除錯的人來說,比較能有一目了然的效果。ping 是網路測試工具,他不會經由正確的 DNS 解析來查詢 DNS,他會借助系統的設定透過 Public DNS 來解析,很有可能會拿到暫存的資料。

dig 教學

基本指令與格式

dig 是一個非常好用的 DNS 除錯工具,他能夠模擬一般電腦查詢、遞迴查詢、非遞迴查詢、DNS 快去伺服器查詢、DNSSEC 查詢、TCP 查詢等等。只要你知道該下哪些參數,你就能查看所有的 DNS 資料喔,基本的指令如下:

dig [options] example.com [type]

由於 options 的部份實在太多,我只列出幾個我常用的,type 的部份就是前面章節所提到的 DNS 紀錄類型。

回應區段

dig 回應的資料有四大區段,分別是標頭 (HEADER)、問題 (QUESTION)、解答 (ANSWER) 與權威伺服器 (Authority) 其他資訊 (ADDITIONAL) 五大區塊。

DNS Sections – RFC 1035

Header 中有比較需要注意的幾個欄位,所以我們列出來看一下:

DNS Header – RFC 1035

Header 中有很多欄位:

  • ID:DNS 查詢的亂數辨識碼,數字。
  • QR:0 查詢,1 回應。
  • Opcode:0 QUERY,1 IQUERY,2 STATUS,3-15 保留,同常都是 0。
  • AA:權威伺服器回答。
  • TC:截斷,表示封包是否因為過長而被截斷。
  • RD:用戶端是否要求遞迴查詢。
  • RA:伺服器回應是支援遞迴查詢。
  • Z:保留。
  • RCODE:0 沒有錯誤,1-5 錯誤代碼。
  • QDCOUNT:Question 區段的資料數量。
  • ANCOUNT:Answer 區段的資料數量。
  • NSCOUNT:Authority 區段的資料數量。
  • ARCOUNT:Additional 區段的資料數量。

如果你有興趣詳細了解,請參考 RFC 1035

參數 (Options)

@server,指定伺服器。你可以指定要對那一台伺服器送出 DNS 查詢,不指定時則使用系統的設定。範例:

$ dig +short @8.8.8.8 rsync.tw a
217.70.184.38
$ dig +short @168.95.1.1 rsync.tw a
217.70.184.38
$ dig +short @1.1.1.1 rsync.tw a
217.70.184.38

+short,簡略輸出。只顯示 ANSWER 區塊的部份,如果 ANSWER 沒有回應,就會顯示空白,上方的範例中也使用了 +short 參數。如果你沒有使用 +short 參數,就會看到五個區塊的詳細資料,範例(輸出的資料有點多,我刪除的部份資訊:

$ dig blog.rsync.tw 

; <<>> DiG 9.10.3-P4-Ubuntu <<>> blog.rsync.tw
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16954
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 6, ADDITIONAL: 15

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;blog.rsync.tw.			IN	A

;; ANSWER SECTION:
blog.rsync.tw.		3049	IN	CNAME	gpaas15.dc2.gandi.net.
gpaas15.dc2.gandi.net.	3	IN	A	217.70.186.115

;; AUTHORITY SECTION:
dc2.gandi.net.		949	IN	NS	dns2.gandi.net.
[略]
dc2.gandi.net.		949	IN	NS	dns1.gandi.net.

;; ADDITIONAL SECTION:
dns0.gandi.net.		44990	IN	A	217.70.177.39
dns0.gandi.net.		44990	IN	AAAA	2001:4b98:d:1::39
[略]
dns6.gandi.net.		44990	IN	AAAA	2400:cb00:2049:1::a29f:186f

;; Query time: 240 msec
;; SERVER: 217.70.181.80#53(217.70.181.80)
;; WHEN: Wed Apr 17 12:43:11 CST 2019
;; MSG SIZE  rcvd: 515

-4只使用 IPv4 位址進行與伺服器的連線。

-6只使用 IPv6 位址進行與伺服器的連線。

+tcp 使用 TCP 的方式與 DNS 伺服器連線。這個設定有時候我會用到,當幫一些客戶進行 DNS 測試的時候,因為 DNS 原生是使用 UDP/53 的協定,而有些人會忘記開啟主機或是 IP 分享器的防火牆,忘了讓 UDP 封包通過,我就會透過 +tcp 的方式將 DNS 查詢改為 TCP 連線,如果一般查詢沒有回應,而 +tcp 會過,就表示防火牆沒有開啟,指令範例:

$ dig +tcp +short blog.rsync.tw a
gpaas15.dc2.gandi.net.
217.70.186.115

+cdflag 這個是在設定 cdflag 旗標,作用是在關閉 DNSSEC 查詢。DNSSEC 是一種 DNS 延生安全協議,它能確保你的 DNS 紀錄無法偽造。但有些時候 DNSSEC 管理不當的話就會造成 DNSSEC 驗證失敗,你會發生不穩定的 DNS 解析,這時候你就可以試者用 +cdflag 旗標來測試將此查詢關閉 DNSSEC,如果一般查詢沒有回應,但 +cdflag 能有正確回應,表示你的 DNSSEC 壞掉摟:

(8.8.8.8 沒有回應)
{13:26}:@~]$ dig @8.8.8.8 haway.xyz a +short

(用 CD Flag 來讓 8.8.8.8 關閉 DNSSEC 驗證)
{13:26}:@~]$ dig +cdflag @8.8.8.8 haway.xyz a +short
146.66.105.148

查詢類型(type)

dig 指令的最後就是你要查詢的 DNS 類型,預設不輸入的話會查詢 A 紀錄。在做 dig 除錯的時候一定要指定類型,因為你必須確認你正在查詢的 DNS 資料是什麼。

範例

# 查詢 Cache Server 的 A 紀錄
$ dig @8.8.8.8 blog.rsync.tw a

# 查詢網域名稱的 MX
$ dig rsync.tw mx

# 查詢域名負責人
$ dig rsync.tw soa

# 追蹤模式
$ dig +trace blog.rsync.tw a

# tcp 查詢模式
$ dig +tcp blog.rsync.tw a

# 查詢 IP 反解
$ dig -x 8.8.8.8 ptr

# 關閉 DNSSEC 查詢
$ dig +cdflag @8.8.8.8 blog.rsync.tw a

分類
技術文章 教學 網域名稱

DNS 除錯教學系列文章(3) – DNS 紀錄

DNS 紀錄常見的有 A、MX、CNAME、NS 等,你知道怎麼正確設定嗎?

DNS 系列文章目錄

DNS 除錯教學系列文章(1) – DNS 入門
DNS 除錯教學系列文章(2) – DNS 架構
DNS 除錯教學系列文章(3) – DNS 紀錄
DNS 除錯教學系列文章(4) – dig 指令
DNS 除錯教學系列文章(5) – 常見 DNS 問題與 dig 除錯方法

DNS 紀錄是什麼?

在了解基礎與 DNS 架構之後,我們來了解一些 DNS 紀錄的類型,在不同的目的時,我們會需要用到不同的紀錄。DNS 基本上就是做一件事情,”對應“,白話一點說就是把網域名稱對應到一個 IP 位址,像這樣:

blog.rsync.tw => 1.2.3.4

基本上左邊是來源,右邊是目的,當你的來源與目的有不同需求的時候,就需使用不同的紀錄,上述的範例,來源是網域名稱,目的是 IP 位址,就要使用 A 紀錄,下表示不同的來源與目的時,該使用的紀錄:

來源位址目的位址DNS 類型
網域名稱名稱伺服器NS
網域名稱管理資料SOA
網域名稱郵件主機MX
網域名稱SSL 憑證CAA
主機名稱IPv4 位址A
主機名稱主機名稱CNAME
主機名稱文字TXT
主機名稱IPv6 位址AAAA
IP 位址主機名稱PTR

實際在設定的畫面長這樣,名稱指的就是來源,值就是目的位址,而類型就是對應的方式:

DNS 紀錄
DNS 紀錄

常見類型

NS 紀錄

NS 紀錄的用途有兩個,一個是向下授權,一個是平行授權。

向下授權就是建立一個子網域,譬如跟伺服器建立個一個 .tw 的子網域,並授權給 TWNIC 的主機:

$ dig +short rsync.tw ns
ns2.gandi.net.
ns1.gandi.net.
ns3.gandi.net.

平行授權指的是同一個網域名稱的所有名稱伺服器,都必須擁有相同的 NS 紀錄。以上數的例子來說,rsync.tw 已經授權給三台名稱伺服器,而這三台的 rsync.tw ns 紀錄必須完全一模一樣。

$ dig +short @ns1.gandi.net rsync.tw ns
ns1.gandi.net.
ns2.gandi.net.
ns3.gandi.net.
$ dig +short @ns2.gandi.net rsync.tw ns
ns3.gandi.net.
ns1.gandi.net.
ns2.gandi.net.
$ dig +short @ns3.gandi.net rsync.tw ns
ns2.gandi.net.
ns3.gandi.net.
ns1.gandi.net.

不一樣會怎樣?不會怎樣!真的~一開始都不會怎樣,你會發現網頁還是連的到,郵件還是會通,但是時間久了之後,你會覺得怪怪的,有時候會通,有時候不會通,有人跟你反應網頁連不到,但你自己測試又可以,這個 NS 名稱不一致的錯誤叫做 LAME Server。

SOA 紀錄

SOA 紀錄是網域名稱的系統管理紀錄,不過若你是使用一些代管 (像是 CloudFlare、Gandi LiveDNS) 這個紀錄你完全不需要處理。這個紀錄是在一起自架 DNS 主機的人會需要設定。他主要代表者這個網域名稱的管理者、管理主機、區域檔序號與全域性的 TTL 資料。

A/AAAA 紀錄

當你要將網域名稱對應到伺服器的 IP 位址的時後,就需要使用 A 紀錄,A 紀錄是 指向 IPv4位址,AAAA 紀錄是指向 IPv6 位址。

$ dig +short blog.rsync.tw a
gpaas15.dc2.gandi.net.
217.70.186.115
$ dig +short blog.rsync.tw aaaa
gpaas15.dc2.gandi.net.
2001:4b98:dc2:950::115

MX 紀錄

Mail Exchange(MX) 紀錄是指這個網域名稱的郵件主機紀錄,如果有人寄信給你,郵件主機會優先查詢這個網域名稱有沒有 MX 紀錄,如果有,就會連線到郵件主機,如果沒有特別設定 MX 紀錄,寄送郵件的主機會嘗試解析網域名稱的 A 紀錄,如果有 A 紀錄,就會嘗試連線主機的郵件伺服器。

{11:43}:@~]$ dig +short rsync.tw mx
10 spool.mail.gandi.net.
50 fb.mail.gandi.net.

當網域名稱有設定 MX 紀錄的時候,郵件主機就會嘗試去連線 spool.mail.gandi.net. (注意看是 FQDN)。MX 紀錄有一個特殊欄位就是 優先順序 因為通常郵件系統會做備援功能,就是一台壞掉的時候,另一台會接手接收郵件,然後等主郵件伺服器回復後,再把郵件寄回給主伺服器,所以在 MX 紀錄內,可以設定郵件主機的優先順序,數值越小的優先。寄給 rsync.tw 的信,會先送給 spool.mail.gandi.net. ,如果投遞不成功,就會轉連線到 fb.mail.gandi.net. 。

如果 rsync.tw 沒有 MX 紀錄,寄送的郵件主機會直接解析網域名稱的 A 紀錄,並嘗試連線到 217.70.184.38。

$ dig +short rsync.tw a
217.70.184.38

TXT/SPF 紀錄

TXT 類型就是文字的意思。你可以在任何紀錄中設定 TXT 紀錄,可以自訂文字的內容。

$ dig +short helloworld.rsync.tw txt
"This is my world."

你可以設定任何文字。那 SPF(Sender Policy Framework) 又是什麼呢?SPF 是用來設定認證你的郵件主機,你是否有看過那種冒用你的網域名稱來寄送垃圾郵件的?因為郵件協定當初並沒有很好的安全機制設計,後來就有人想到若我可以在網域名稱內宣告我自己的郵件主機,若不是列表中的主機寄出的信件,就是冒用的。就像是你在自己的網域名稱中宣告郵件主機的白名單。SPF 的宣告很簡單,也是文字格式,所以 SPF 就直接使用了 TXT 類型。SPF 的設定,請參考 WIKI

$ dig +short rsync.tw txt
"v=spf1 include:_mailcust.gandi.net ?all"

CNAME 紀錄

CNAME 紀錄也算是主機名稱的別名的一種,主要是當你的目的位址是主機名稱時,而不是常見的 IP 位址,你就需要使用 CNAME 來進行對應,查看 CNAME 時,需要把 +short 取消掉,比較看的清楚,我也先刪除了一些過多的資訊:

{12:25}:@~]$ dig  blog.rsync.tw 

;; ANSWER SECTION:
blog.rsync.tw.		433	IN	CNAME	gpaas15.dc2.gandi.net.
gpaas15.dc2.gandi.net.	40	IN	A	217.70.186.115

你可看到 blog.rsync.tw. 先 CNAME 到了 gpass15.dc2.gandi.net. 然後才再次對應到 217.70.186.115。使用 CNAME 有一個限制,就是同一筆紀錄之下,如果有設定 CNAME 紀錄,就不能在設定其他紀錄,例如你設定了 blog.rsync.tw. 的 CNAME,就不能設定 blog.rsync.tw. 的 A、MX、TXT 等等的紀錄。

所以常見問題是有些人會設定裸域名的 CNAME,例如我註冊了 rsync.tw ,而我想要把 rsync.tw 的網頁瀏覽者連到跟 blog.rsync.tw. 同樣的網站,所以設定了 rsync.tw CNAME blog.rsync.tw.

這時因為 rsync.tw 網域名稱本身就一定會帶有 SOA 與 NS 紀錄,會造成跟 CNAME 的衝突,這時後會造成網域名稱運作不穩定。所以如果你要設定裸域名的 CNAME,你可以用網頁轉址的方式。

PTR 紀錄

PTR 紀錄是將 IP 位址對應到主機名稱,譬如:

{12:38}:@~]$ dig -x 8.8.8.8 ptr 

;; ANSWER SECTION:
8.8.8.8.in-addr.arpa.	86371	IN	PTR	google-public-dns-a.google.com.

就會將 8.8.8.8 對應到主機名稱 google-public-dns-a.google.com.,通常你必須有 IP 位址的管理權,才會需要設定 PTR 紀錄。一般來說都是自架 DNS 並且有一段 IP 位址是歸你管的情況下,才會需要設定。

DNS 系列文章目錄

DNS 除錯教學系列文章(1) – DNS 入門
DNS 除錯教學系列文章(2) – DNS 架構
DNS 除錯教學系列文章(3) – DNS 紀錄
DNS 除錯教學系列文章(4) – dig 指令
DNS 除錯教學系列文章(5) – 常見 DNS 問題與 dig 除錯方法



分類
技術文章 教學 網域名稱

DNS 除錯教學系列文章(2) – DNS 架構

DNS 系列文章 2,來談談 DNS 的架構。

DNS 系列文章目錄

DNS 除錯教學系列文章(1) – DNS 入門
DNS 除錯教學系列文章(2) – DNS 架構
DNS 除錯教學系列文章(3) – DNS 紀錄
DNS 除錯教學系列文章(4) – dig 指令
DNS 除錯教學系列文章(5) – 常見 DNS 問題與 dig 除錯方法

DNS 的架構

在你了解 系列文章 1 的入門之後,現在我們來看看 DNS 的架構,DNS 是透過階層、分散資料的方式來完成查詢。在你輸入網址的時候:

https://haway.30cm.gg

系統會知道你是要在 rsync.tw 這個網域裡面查找 blog 這台主機(為什麼? 請看系列文章1),系統會先檢查你的 hosts 檔的設定,如果沒有,就會查看 resolv.conf (Linux 系統) 的設定,將網域變更為 FQDN,然後從根網域開始尋找網域名稱。

來源:dns-learning.twnic.net.tw

“.” 我們又叫做 “Root” 或是 “根網域”,是所有 DNS 查詢的起始點,接者就會看你要查詢的網域是那一個,根網域向下”授權” 了很多子網域,像是 “tw”、”hk”、”cn”、”com”、”net” 等等的子網域,然後這些網域的域名管理局(Registry),又會依照使用者所註冊的網域名稱來向下授權,譬如 rsync.tw 就會去查找 .tw 底下的 rsync 網域,所以就會透過 .tw 的 DNS 主機,如果是 rsync.jp,那就會去查找 .jp 的主機,在網域名稱就是透過 “.” 來區分每一層的 DNS 授權,blog.rsync.tw 就表示有兩層域名,主機是 blog。

階層式 DNS 架構

關於 DNS 架構的其他參考文章:

DNS 快取伺服器 – /etc/resolv.conf

在每個人的電腦裡面,一定會紀錄 DNS 快取伺服器的位址,快取伺服器的作用是協助電腦 (用戶端) 來查詢 DNS 的解析。

遞迴查詢與非遞迴查詢

在整個 DNS 的解析過程中,包含了遞迴查詢與非遞迴查詢兩種查詢模式。因為 DNS 架構是階層、分散式的,所以在每一個層裡面都只擁有自己所管理的一層資料,譬如 .tw 的主機內就只擁有 *.tw 的所有子網域 (但只有下一層),所以 .tw DNS 主機內有 rsync.tw 的資料,但卻沒有 blog.rsync.tw 的紀錄。

因為每一層都只有自己的資料,所以當使用者要查詢 blog.rsync.tw 的時候,必須透過多次的查詢才能獲得最終的資料。

使用者的電腦在發起 DNS 查詢的時候,會對 DNS 快取伺服器發起”遞迴查詢“,然後快取伺服器就會針對查詢一層一層的幫使用者查詢到最終的答案,並將解答回傳給使用者。在使用者與快取伺服之間,使用者電腦只需要透過一次查詢,(例如送出 https://www.gandi.net),快取伺服器就會透過根伺服器、.net 伺服器、gandi 伺服器依序查詢到最終主機(權威伺服器),快取伺服器的這個過程我們稱為”非遞迴查詢” (因為要多次詢問)。

DNS 查詢圖解

resolv.conf

前面有提到在使用者電腦發起 DNS 查詢的時候,他怎麼知道要去哪裡找快取伺服器呢?答案就是 /etc/resolv.conf (Linux 系統) 這個檔案,在這個檔案中,我們可以設定快取伺服器,你的電腦就會將 DNS 遞迴查詢送到這些伺服器做查詢。Linux 系統可以使用指令來查看你電腦的名稱伺服器:

{14:44}:@~/]$ cat /etc/resolv.conf 
domain rsync.tw
nameserver 168.95.1.1
nameserver 8.8.8.8
search hdns.com.tw example.com

這個檔案內的 nameserver 指的是 DNS 快取伺服器 (Cache Server),並不是管理網域的名稱伺服器。

如果你有注意到,你會看到有 domain 與 search 這兩個設定,要講解他們的用途之前,你應該先了解什麼是 FQDN,在沒有 “.” 結尾的主機名稱,都會被系統自動附加網域名稱,而此設定就是告訴系統可以附加什麼網域名稱。

如果你只輸入 blog,系統會自動改為 blog.rsync.tw 並嘗試送到 168.95.1.1 進行 DNS 解析,如果不成功,會換成 blog.hdns.com.tw 再次嘗試解析,又失敗的話會改為 blog.example.com,所以你知道為什麼要先了解主機名稱、子網域與網域名稱的區別了嗎?

如果 168.95.1.1 的 DNS 服務無法連上,系統就會自動跳到第二筆 8.8.8.8 快取伺服器。

DNS 權威伺服器 (名稱伺服器)

DNS 權威伺服器就是管理 DNS 紀錄的主機,實際上是由系統管理員設定 DNS 服務,並將網域名稱加入到主機中,當主機接收到 DNS 查詢的時候,就會回應該網域名稱的資料。那你會覺得說 DNS 快取伺服器也會接收 DNS 查詢並且回應。跟權威主機有什麼不一樣呢?

快取伺服器是幫你去詢問其他主機的 DNS 資料,而權威主機是從自己的資料庫中取出資料並且回應。

因為現在多數人都會使用 DNS 代管服務。會在購買網域名稱的時候就使用域名註冊商所提供的 DNS 代管或是用其他第三方 DNS 代管,代管主機就是你的網域名稱的權威伺服器。

向下授權

前面有提到 DNS 架構的階層概念、主機名稱、網域名稱與權威主機。而串起所有 DNS 流程的功能,最重要的就是向下授權這個動作。我們再看一次這張圖:

DNS 運作流程

圖中的 .(root) 指向了 tw 就是一個向下授權,代表根伺服器將 tw 網域向下授權給其他主機,而 .tw 又將 rsync(.tw) 與 com(.tw) 向下授權給不同的主機。

就像一個主管把技術授權給工程師小明,把行銷工作授權給阿美,把會計工作授權給大寶。如果有人跑來問主管說系統的問題要找誰,主管就會請他去找小明,而行銷與會計的工作,就分別去找阿美跟大寶,由主管來分配,而在 DNS 中,目前是由 ICANN 根據當初申請的狀況將各網域名稱分配給不同的機構,如 tw 是分配給TWNIC 進行管理,而 TWNIC 就要負責架設 tw 的權威伺服器來管理此網域與之下的所有子網域。

你將認識的第一個紀錄 – NS

ICANN 可以知道實際管理的機構,但電腦不知道,電腦只認識伺服器與 IP 位址,根伺服器會記錄每一個子網域 (.tw 對根伺服器來說是一個子網域) 的授權主機位置,就是透過 NS (NameServer) 紀錄,例如說根網域(.)的主機中會紀錄 .tw 主機的位置,所有查詢 .tw 的 DNS 就都會轉去 .tw 的授權主機進行下一步的查詢。

第一個除錯技巧-正確的授權主機是誰?

所以,第一個你將學習到的除錯技巧是你的 DNS 主機目前到底是正式授權到哪些主機上面,因為所有你網域名稱的 DNS 查都會從授權主機中查出答案,正式授權主機是什麼產生的呢?就是你在購買網域名稱的時候所填寫的名稱主機 (NameServer) ,網域註冊商 (Registrar) 會依照你所註冊的域名,把你的名稱伺服器送給域名管理局 (Registry),管理局確認後就會把你的主機資料放入他們的紀錄中,就會產生一組 NS 資料。以本網站來說,筆者跟 .tw 註冊了 rsync.tw 的網域名稱,並且在網域註冊商的名稱伺服器中填寫了:

rsync.tw 名稱伺服器

我們就可以從 dig 指令查詢到 rsync.tw 的 NS 紀錄,雖然我們還沒教你怎麼使用 dig ,但聰明的你一定可以小試伸手把域名改成你自己的,然後看看你的名稱伺服器是什麼:

{11:23}:@~]$ dig rsync.tw ns
; <<>> DiG 9.10.3-P4-Ubuntu <<>> rsync.tw ns
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1881
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 7
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;rsync.tw. IN NS
;; ANSWER SECTION:
rsync.tw. 2085 IN NS ns2.gandi.net.
rsync.tw. 2085 IN NS ns1.gandi.net.
rsync.tw. 2085 IN NS ns3.gandi.net.

查詢網域的名稱伺服器非常重要,因為當你在做 DNS 除錯的時候,一定要先確認目前的名稱伺服器是不是你所填寫的資料,如果不是,表示網域註冊商沒有更新,或是你填錯了,請立刻修正。

其實 ns 的查詢不是像本範例中那麼簡單,因為這樣查詢到的資料有可能是 TTL 的資料 (TTL 是什麼?),後續會教你如何正確的查詢 NS(NameServer) 紀錄。

接者我們將在下一章結先看一下一些常見的 DNS 紀錄,然後在繼續學習 dig 的使用。

DNS 系列文章目錄

DNS 除錯教學系列文章(1) – DNS 入門
DNS 除錯教學系列文章(2) – DNS 架構
DNS 除錯教學系列文章(3) – DNS 紀錄
DNS 除錯教學系列文章(4) – dig 指令
DNS 除錯教學系列文章(5) – 常見 DNS 問題與 dig 除錯方法


分類
技術文章 教學 網域名稱

DNS 除錯教學系列文章(1) – DNS 入門

DNS 是一門很容易卻又很容易弄錯的領域,筆者想分享多年來協助客戶處理 DNS 的一些經驗,所以撰寫了這個系列文章。

分類
教學 最新文章 網域名稱

TTL 是什麼?該設定多久?

TTL 的全名叫做 Time to Live,是 DNS 解析的時候在使用的,主要的作用是設定每一筆紀錄在 DNS 快取伺服器所保留的時間我們常常在設定 DNS 紀錄的時候會有一個欄位叫做 TTL,到底要設定多少呢?這個值,如果你常常在變動 DNS 紀錄的話,有多小就調多小 (要看你的代管商最小能設定多少),反之,如果你沒有常常變動,可以調大一點,單位是秒,若你設定 1800,表示 1800 秒。所以當你變更這筆 DNS 紀錄的時候,要 1800 秒後才會全球生效!

分類
教學 網域名稱

不要在域名快到期時才移轉域名

最近發生的一個真實案例。客戶想把域名進行移轉,錢也付了,EMail 移轉確認信的確認連結也點選了,結果最後移轉失敗,客戶本身以為移轉成功,就沒去注意。

因為若是移轉成功的話,會收取一次續用的費用,然後自動幫域名續用一年,因為客戶已經被收取了費用,就以為移轉成功,就沒去注意。結果在最後一刻不知道什麼原因移轉被域名管理局拒絕。域名真實的狀態被退回去原註冊商,我猜原註冊商有發到期通知信,但客戶以為域名已經在新的註冊商,所以沒去理會。

結果域名到期之後,就被釋出,然後被別人註冊走了。(尖叫)

我一直都說域名移轉是域名操作大魔王之一,裡面有很多細節要注意,有幾件事情你一定要在移轉的時候多加注意:

  • 主動去了解域名移轉的狀況,直接打電話給客服也沒關係,一定確定移轉順利
  • 通常 5 天之內一定會移轉完成,更快的情況是 2 天,只要超過時間,一定有問題。
  • 新的註冊商都是先收錢,才會進行移轉,所以收到錢不表示移轉已經完成。
  • EMail 一定要能通,你可以查一下 Whois 上面的 EMail 你是否可以收的到信,另外你的郵件伺服器是代管在哪裡?在移轉的時候有沒有可能會斷掉?
  • 千萬不要(算我求你)不要域名快到期了才開始移轉

關於域名移轉的詳細流程,請參考網域名稱移轉大寶典的說明,另外域名的生命週期也是很重要的。

希望大家多注意自己的網域名稱狀態,不要以為你的名子沒人會注意,全世界到處搶來搶去的可是一堆啊!

分類
教學 最新文章

主動取消訂閱的妙招 – 郵件別名

現在大家都有使用 GMail 的服務,更多人是直接使用 GMail 當作公司信箱帳號,因為容量大,並且對於垃圾郵件的過濾效果也不錯。幾乎是每一個人都有自己的 GMail 信箱。但通常我們都會只會使用一個信箱當作主要的信箱,因為方便管理與設定。

像筆者本身也有一個 @gmail 的帳戶,使用也很久了,目前所有重要資訊都會往這個信箱塞,再加上有訂閱一些電子報,其實每天都收到一堆信,扣掉垃圾信後還是一堆,有時候還要去垃圾信裡面看一下有沒有誤判的信件。

一般來說我們註冊信箱的時候,或是你有一個域名,你就可以建立自己的信箱,使用自己喜愛的名子 user@yourname.com 來當電子郵件帳號,其實現在比較少人會使用電子郵件,大部分都會直接用 LINE、Messenger、Telegram  等軟體來直接與對方溝通,公事上才有可能會使用公司的信箱,所以信箱幾乎都只是拿來印名片的,或是要傳遞些檔案的方法之一。雖然使用的機會已經大幅減少,但其實還有一個重要的功能,就是 註冊其他網路服務的帳號。譬如我們要使用 Facebook、Yahoo 線上購物、PChome 線上購物等等的網路服務,都還是需要透過 EMail 來註冊一個帳號。

通常註冊帳號之後,EMail 就會開始收到信,收到通知信、廣告信、垃圾信,最後的結論就是你不想再使用這個信箱了,所以只好又去重新申請一個。

另外有時候我們會用電子信箱去訂閱一些電子報,或是優惠通知,根據台灣法律,在你不需要時,應該有可以退訂電子報的方法,通常退訂的方法會在電子報的下方已 “取消訂閱” 的連結,但是你有遇過,按下退訂結果出現網頁錯誤,或是要求你打電話給客服要求退訂,甚至有顯示取消成功,結果後續還是一直收到廣告信,無可奈何。

其實有一個很簡單並且可以奪回控制權,並且不會影響你現有信箱帳戶的方式,就是使用 信箱別名! 別名就像是你的網路暱稱一樣,他代表者你,但是你使用的是另外一個名子,而且有些人會在註冊信箱時使用 last name + first name 的方式(或是公司配發),其實已經把你的個資洩露出去了呢!假如你如果有一個實體信箱是:

haway@rsync.tw

只要你將這個郵件信箱公佈出去,就會開始收到一堆垃圾信。若你像我一樣用很久了,要把他丟棄也不太可能,不過你可以從現在開始,找尋有提供別名的郵件服務商,採用別名的策略,可以把掌控全握在自己手中喔!譬如你可以把上述實體位址加上別名:pchome@,然後註冊 pchome 的服務,若是哪天你不想收到 pchome 的東西,就只要把 pchome 這個別名刪除就可以,或是另外建立一個 pchome 的轉址就可以轉到其他信箱。當然!PChome 只是範例,你可以為每個不同的服務建立不同的別名,但是實際使用的實體信箱,若是您要訂閱電子報,也可以用別名的方式來訂閱電子報,若無法取消訂閱的時候,就只要把別名刪除即可。

如何建立信箱別名

如果你跟我一樣使用 Gandi 的服務,每個名都有免費提供 2 個 3GB 的信箱,還有無限制數量的別名,就可以設定我剛說的方式,您只許要點選域名之後,在點選左方電子信箱 ->(若沒有信箱的話就新增一個)-> 已經有實體信箱就點選信箱右側的鉛筆(編輯):

點選實體信箱之後,點選 管理別名

在下方白色大框框內填入別名的名稱,你可以用萬用字元來涵蓋所有符合的字串,譬如如果你設定 super* ,表示 superA、superman、superzz 都是符合的條件。如下的範例,我看起來像有五個信箱,但其實我只有一個,別名是不會佔空間,實體信件會直接寄到 haway@rsync.tw 內。所以我可以用 gandi@rsync.tw 去註冊 Gandi 的服務,twitter@rsync.tw 去註冊 twitter。subscribe-news@rsync.tw 可以去訂閱某一家的訂電子報,然後當你不想要收到電子報的時候,只要把 subscribe-news 這個別名砍掉就可以了,你可以把每個電子報建立不同的別名,然後只需要在實體信箱收信即可。

利用別名可以把信箱的虛擬跟真實混搭,善加利用能讓電子信箱的管理最大化,你現在可以開始想想看要怎麼設定你的信箱別名。如果你的信箱不提供別名服務,參考一下 Gandi 的服務吧!

分類
教學 最新文章

如何在 WordPress 使用 jQuery

jQuery 主要是使用在前端,在一些特殊的需求中可能會使用到,如果客戶需要某些功能,WordPress 本身不提供,或是沒有適合外掛,就必須要客制化開發,而 jQuery 簡單功能又強大。本篇文章會教你如何在 WordPress 中使用 jQuery。