網域指向 VPS 主機教學:A 記錄、反向 DNS 與 Mail Server 設定

把網域接到 VPS 的完整流程,從 A 記錄、AAAA、www、反向 DNS (rDNS) 到 Mail Server 必要設定,適合自己架站或跑服務的使用者。

DNSCloudflareVPSA記錄AAAA反向DNSrDNSPTRMail Server教學設定網址綁定IPv6防火牆

網域接 VPS 跟接虛擬主機最大的不同,在於你要自己對很多細節負責,包括 IP、Web Server、SSL、對外 port 與測試方式。這篇會把這條流程串起來,不會只停在「新增一筆 A 記錄」。

你如果不想每次都只是照著別人的畫面一步一步跟著按,卻不知道自己到底改了什麼,這篇會比較適合你。重點不是讓你背流程,而是讓你下次遇到類似情況時,還知道該怎麼自己判斷。

你會學到什麼

  • 完成 VPS 常見的網域指向流程。
  • 理解 DNS 指向成功不代表網站服務一定正常。
  • 設定反向 DNS (rDNS) 讓你的 VPS IP 對應到網域。
  • 了解在 VPS 上跑 Mail Server 時需要的 DNS 設定。
  • 知道切換後要驗哪些層。

什麼情況最適合先看這篇

  • 正在處理網域、解析、Cloudflare 或郵件紀錄,想一次把觀念和排錯順好的人
  • 你現在正要處理「網域指向 VPS 主機」這類操作
  • 你希望做完之後不只功能能用,連驗證與排錯也有概念

開始前先確認

  • 確認 VPS 的 Web Server 已可對外回應。
  • 手邊準備好正確 IP 與網站設定。
  • 正式切換前先測試站點內容。

先提醒你一件事

DNS 問題常常不是設定全錯,而是你同時改了太多地方,最後分不清楚是哪一步造成的。

詳細教學與操作步驟

事前準備

在設定之前,請先準備以下資訊:

  • VPS 的 IPv4 位址: 可在購買後的開通信件或客戶中心「我的服務」中找到。
  • VPS 的 IPv6 位址(如有提供): 同樣可在開通信件中找到。
  • 已在 Cloudflare 設定好的網域: 如尚未設定,請參考 網域指向主機教學 中的 Cloudflare 設定步驟。

VPS 網域指向完整架構圖

新增 A 記錄(IPv4)

  1. 登入 Cloudflare Dashboard,選擇你的網域。
  2. 點選左側「DNS」→「Records」。
  3. 點選「Add record」,填寫:
    • Type: A
    • Name: @(根網域)或你想要的子網域名稱(例如 app
    • IPv4 address: 你的 VPS IPv4 位址
    • Proxy status: 依據用途選擇(見下方說明)
    • TTL: Auto
  4. 點選「Save」。

新增 AAAA 記錄(IPv6)

如果你的 VPS 有提供 IPv6 位址,建議一併新增 AAAA 記錄:

  1. 點選「Add record」,填寫:
    • Type: AAAA
    • Name: @(與 A 記錄相同)
    • IPv6 address: 你的 VPS IPv6 位址(例如 2402:4920:27::102
    • Proxy status: 與 A 記錄保持一致
  2. 點選「Save」。

新增 www 記錄

別忘了處理 www 子網域,大部分人習慣在網址前面加 www:

# 方式一:A 記錄(與根網域相同 IP)
www  A  203.0.113.10

# 方式二:CNAME(指向根網域,推薦)
www  CNAME  example.com

Proxy 狀態選擇建議

VPS 的用途比虛擬主機更多樣,Proxy 狀態需要根據你的使用情境來決定:

VPS 用途建議 Proxy 狀態原因
純網站(HTTP/HTTPS)Proxied(橘色雲朵)享有 CDN 加速與 DDoS 防護
SSH 遠端連線DNS only(灰色雲朵)Cloudflare 不代理 SSH 流量
郵件伺服器DNS only(灰色雲朵)郵件協定不支援 Proxy
遊戲伺服器DNS only(灰色雲朵)遊戲使用非 HTTP 協定
混合用途DNS only(灰色雲朵)確保所有服務都能正常運作

提示: 如果你的 VPS 同時跑網站和其他服務,可以用子網域來區分。例如根網域 example.com 開啟 Proxy 供網站使用,另設 ssh.example.com 為 DNS only 供 SSH 連線。

設定萬用字元記錄(Wildcard)

如果你想讓所有子網域都指向同一台 VPS,可以新增萬用字元記錄:

  1. 點選「Add record」,填寫:
    • Type: A
    • Name: *
    • IPv4 address: 你的 VPS IP
    • Proxy status: DNS only(灰色雲朵)
  2. 點選「Save」。

注意: 免費方案的萬用字元記錄不支援 Proxied 模式,只能使用 DNS only。

反向 DNS (rDNS / PTR 記錄) 設定

反向 DNS 跟一般 DNS 做的事情相反:一般 DNS 是「網域 → IP」,反向 DNS 是「IP → 網域」。

為什麼需要反向 DNS?

  1. Email 送信必要條件:很多郵件伺服器會檢查寄件 IP 的反向 DNS。如果你的 VPS IP 沒有設定 rDNS,或 rDNS 指向的不是你的網域,寄出的信很容易被標為垃圾郵件或直接拒收。
  2. 可信度:正確的 rDNS 設定代表你有合法管理這個 IP 的權限。
  3. 除錯方便:在看 log 或 traceroute 時,有 rDNS 的 IP 會顯示網域名稱,比較好辨識。

如何設定反向 DNS?

反向 DNS 不是在 Cloudflare 或域名商設定的,而是要在你的 VPS 供應商那邊設定:

  1. 登入侃瑞科技 客戶中心
  2. 找到你的 VPS 服務。
  3. 在 VPS 管理面板中找到「Reverse DNS」或「PTR Record」設定。
  4. 將你的 VPS IP(例如 203.0.113.10)的 PTR 記錄設定為你的網域(例如 mail.example.com)。

驗證反向 DNS:

# 用 dig 反查
dig -x 203.0.113.10

# 用 nslookup 反查
nslookup 203.0.113.10

# 預期結果應該顯示你設定的網域名稱

注意事項:

  • rDNS 記錄的網域必須有對應的 A 記錄指回同一個 IP,這叫做「Forward-confirmed reverse DNS (FCrDNS)」。
  • 一個 IP 通常只能設定一個 PTR 記錄。
  • IPv6 也可以設定反向 DNS,但格式比較長。

VPS 上的 Mail Server DNS 設定

如果你打算在 VPS 上自己架設 Mail Server(例如 Postfix + Dovecot),除了基本的 A 記錄外,還需要以下 DNS 設定:

必要的 DNS 記錄:

記錄類型名稱用途
AmailVPS IP郵件伺服器位址
MX@mail.example.com(優先順序 10)指定郵件伺服器
TXT@v=spf1 ip4:VPS-IP -allSPF 驗證
TXT_dmarcv=DMARC1; p=quarantine; ...DMARC 政策
TXTdefault._domainkeyDKIM 公鑰DKIM 簽章驗證
PTRVPS IPmail.example.com反向 DNS

完整的 Mail Server DNS 設定範例:

# A 記錄 - 網站
@         A      203.0.113.10
www       CNAME  example.com

# A 記錄 - 郵件伺服器(必須灰色雲朵)
mail      A      203.0.113.10    (DNS only)

# MX 記錄
@         MX  10  mail.example.com

# SPF
@         TXT    "v=spf1 ip4:203.0.113.10 -all"

# DKIM(從 Mail Server 產生的公鑰)
default._domainkey  TXT  "v=DKIM1; k=rsa; p=MIGfMA0G..."

# DMARC
_dmarc    TXT    "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"

重要提醒:

  • mail 子網域的 A 記錄不能開啟 Cloudflare Proxy(必須灰色雲朵),否則郵件協定會被擋。
  • 自架 Mail Server 的維護成本很高,包括安全更新、垃圾郵件過濾、黑名單監控等。如果只是需要企業信箱,建議使用 Google Workspace 或 Microsoft 365,會省很多事。
  • 確認 VPS 的 port 25(SMTP)沒有被 VPS 供應商封鎖。部分雲端供應商預設會封鎖 port 25 以防止垃圾郵件。

VPS 防火牆與 DNS 的關係

設定 DNS 指向 VPS 後,別忘了確認 VPS 的防火牆有開放必要的 port:

port服務說明
80HTTP網站(必開)
443HTTPS網站 SSL(必開)
22SSH遠端管理(建議限制來源 IP)
25SMTP寄送郵件
465SMTPS加密 SMTP
587Submission郵件提交(推薦)
993IMAPS加密收信
# 使用 ufw 防火牆範例
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 22/tcp
sudo ufw allow 25/tcp
sudo ufw allow 587/tcp
sudo ufw allow 993/tcp

驗證 DNS 設定

設定完成後,使用以下指令確認記錄是否生效:

使用 nslookup:

nslookup example.com
nslookup -type=AAAA example.com
nslookup -type=MX example.com

使用 dig(更詳細):

dig example.com A
dig example.com AAAA
dig example.com MX
dig -x 203.0.113.10   # 反向 DNS 查詢

確認回傳的 IP 位址與你設定的一致即代表成功。如果結果不正確,請等待 DNS 傳播或檢查記錄是否有誤。

做完後怎麼確認自己真的有設對

  • 至少用 dignslookup 或線上工具再驗一次,區分是設定錯、快取,還是 propagation。
  • 重新看一次你剛剛改過的設定值、網址、帳號或紀錄,確認沒有填錯對象。
  • 如果這篇操作會影響正式網站或正式信箱,建議再從不同網路或不同裝置測一次。
  • 如果有設定 Mail Server,用 mail-tester.com 測試郵件健康度。

這一題最常踩的坑

  • A 記錄指對了,但主機服務根本沒開。
  • 忘了處理 www,導致一個能開一個不能開。
  • 還沒測完就先接 Cloudflare 或開 SSL,排錯變太複雜。
  • 要跑 Mail Server 但沒設反向 DNS,寄出的信全進垃圾桶。
  • VPS 防火牆沒開 port 80/443,DNS 指對了但網站還是連不到。

如果你要往下一步走

如果你 VPS 還沒建好網站環境,可以回頭看 Nginx 與 PHP 教學。 如果你接下來要把網站正式上線,也可以直接銜接侃瑞的 主機方案VPS 方案

需要主機來實作?

侃瑞科技提供 cPanel 虛擬主機與 VPS,教學裡的操作開箱即用。

查看方案 →
LINE 諮詢