MailVSR MailVSR 三分鐘搞定你的企業網站

DNS伺服器設定

DNS 伺服器設定管理本機的 BIND(named)服務,負責回應網域名稱查詢,並提供正解(域名對 IP)與反解(IP 對域名)的轄區資料。當您要讓這台 MailVSR-MS 自己擔任網域的 DNS 伺服器,或要為郵件主機建立 MX、SPF、DKIM、DMARC 等紀錄時,就會用到這一頁。頁面上方會顯示「服務狀態:」燈號與 PID,並可按「重啟服務」重新啟動 named。若網域 DNS 已委由外部廠商代管,本頁可維持停用——但如此一來 SPF/DKIM/DMARC 等紀錄就必須到代管廠商那邊設定,本頁的紀錄工具也幫不上忙。

基本設定

  • 啟用 DNS 伺服器:啟動或停用 BIND named 服務
  • 監聽 IPv4/監聽 IPv6:接受查詢的位址,以分號分隔,any; 表示全部
  • 允許查詢/允許遞迴:允許查詢與遞迴的網路,以分號分隔
  • 內部網路:內部網路區段,以分號分隔;此清單會成為 BIND 的 lan ACL,用來判斷來源是否屬於內部

按「儲存」後系統會重新產生 BIND 設定並重新載入服務;套用失敗會顯示「DNS 設定套用失敗:…」,此時設定不生效,請依訊息修正後再儲存。

⚠️ 「允許遞迴」請只開放給信任網段。開放給所有網路會讓本機成為開放式遞迴伺服器,遭利用進行 DNS 放大攻擊——這是 DNS 伺服器最常見的資安事故,寧可少開也不要全開。

轄區管理

分頁上方是「選擇轄區」下拉(選項顯示為「啟用/禁用 域名(名稱)正解/反解 視圖」),選取後顯示轄區摘要與記錄表格。未選取時下方會提示「請選取一個轄區以檢視 DNS 記錄」。右側為「新增轄區」「編輯轄區」「刪除轄區」,編輯與刪除需先選取轄區。

新增與編輯轄區的欄位
  • 啟用:此轄區是否生效
  • 域名:正解轄區填寫,例如 example.com(最長 255 字元)
  • 名稱:轄區辨識名稱,必填、最長 255 字元;輸入域名後會自動帶入,可再自行修改(只是方便辨識,不影響解析)
  • 視圖:any(全球)、wan(對外)、lan(內部)。內部那份只服務「內部網路」清單中的來源與本機,對外那份服務所有來源
  • 類型:正解或反解;編輯時不可變更
  • NS IP 位址:正解轄區必填,且必須是 IPv4 位址(如 192.0.2.10)。填主機名稱會被擋下並顯示「NS IP 必須填 IPv4 位址(如 192.168.10.1),不能填 dns.example.com 這類主機名稱」;留空則顯示「請填寫名稱伺服器的 IPv4 位址(如 192.168.10.1)」
  • ARPA 類型:反解轄區選 in-addr.arpa(IPv4)或 ip6.arpa(IPv6),編輯時不可變更
  • 反解 IP/反解主機:反解轄區填正序網段,以及此網段的名稱伺服器 FQDN(如 dns.example.com)
  • TTL:預設(0,沿用轄區預設)或 10 秒~14 天(10/30 秒、1/5/10/30 分、1/2/4/8 小時、1/2/3/5/7/14 天)

NS IP 為什麼一定要 IPv4:這個值會被原封不動寫進三筆 A 記錄(ns、dns、@)。若填了主機名稱,zone 檔就會產生 @ 60 IN A tg1.ms 這種內容,BIND 回應 bad dotted quad,整個轄區都載不進去,該網域所有查詢全部 SERVFAIL。留空也一樣會產生空的 A 記錄而載入失敗,所以正解轄區必填。

反解轄區的網段填法
  • IPv4 只支援單一 Class C 網段(/24):填前 3 段,例如 192.168.10 代表 192.168.10.0/24,系統自動反轉為區名 10.168.192.in-addr.arpa
  • 跨多個 /24 的網段不能一次建立,例如 192.168.8.0/22 會被擋下並提示:「網段格式錯誤:IPv4 只支援單一 Class C 網段,請填 3 段…跨多段網段(如 192.168.8.0/22)請拆成多段分別建立(192.168.8、192.168.9、192.168.10、192.168.11)」
  • IPv6 填帶 prefix 的網段(如 2001:db8::/32),prefix 長度需為 4 的倍數
  • 同一網段不可重複建立,否則顯示「此網段的反解 zone 已存在」
  • 反解主機必填且要是合法主機名稱,否則顯示「請輸入有效的名稱伺服器主機名稱(FQDN),例如 dns.example.com」

新增正解轄區會自動建立 7 筆常用紀錄:@ NS ns.<域名>、ns A <NS IP>、@ NS dns.<域名>、dns A <NS IP>、@ MX 10 <域名>、@ A <NS IP>、@ SPF "v=spf1 a mx -all"。反解轄區則自動建立一筆 @ NS <反解主機>。

刪除轄區(不可復原)

刪除轄區會連同底下所有紀錄消失、BIND 設定重新產生,無法復原,因此要求二次確認:確認視窗會警告該轄區底下的 N 筆紀錄將一併刪除,接著必須再輸入一次轄區域名(大小寫不拘)才能按下刪除。輸入不符時會顯示「輸入的轄區域名不符(應為 :domain),未刪除任何東西」,系統不會變更任何設定,也不會重新產生 BIND 設定。

DNS 記錄管理

選取轄區後,下方「DNS 記錄」表格列出紀錄(欄位為啟用、主機、TTL、類型、記錄資料),可依主機或類型搜尋與排序;未選取轄區時按「新增記錄」會提示「請先選取一個轄區」。反解轄區只支援 PTR 與 NS,新增時類型預設為 PTR;編輯紀錄時「記錄類型」不可變更。每次新增、修改或刪除紀錄,系統都會立即重新產生 BIND 設定並套用(不是按「儲存」才生效)。

主機名稱(owner name)的共通規則:必填(DKIM/DMARC 除外,見下)、最長 253 字元、每一段標籤最長 63 字元;只允許英數字、底線與連字號(連字號不可在標籤開頭或結尾);可用 @ 表示網域本身、最左層 * 表示萬用字元(如 *.example.com)。留空會顯示「主機名稱不可空白(空白會讓 BIND 把這行當成上一筆記錄的續行,導致整個轄區載入失敗)」;格式錯誤則顯示「主機名稱格式錯誤:只允許英數、底線、連字號與 .(可用 @ 表示網域本身,或最左層 * 表示萬用字元)」。

**目標類欄位(MX/CNAME/NS/SRV/PTR 的目標)**必須是主機名稱,不能填 IP 位址;填 IP 會被擋下並提示「「:field」必須是有效的主機名稱(FQDN),例如 mail.example.com,不能填 IP 位址」。這是因為 MX 10 192.0.2.10 這種寫法語法合法、BIND 也照收,但永遠查不到,屬於典型的無聲錯誤。

以下是 10 種可用於正解轄區的紀錄(另有 PTR 僅限反解轄區):

  • A:把主機名稱指向一個 IPv4 位址。欄位:主機名稱、A 記錄 IP(必填,需為 IPv4)。填錯格式顯示「IP 必須是 IPv4 位址(如 192.168.10.1),不能填主機名稱」。例:主機 mail、IP 192.0.2.10 → mail.example.com 指向 192.0.2.10
  • AAAA:同 A,但指向 IPv6 位址。欄位:主機名稱、AAAA 記錄(必填,需為 IPv6)。例:2001:db8::10
  • MX:指定這個網域收信的郵件主機。欄位:主機名稱(通常 @)、優先權(必填,0~65535 的整數)、郵件交換伺服器(必填 FQDN)。優先權數字越小越優先:只有一台就填 10;有多台時,收信端會先嘗試數字最小的,連不上才依序往後。例:@ MX 10 mail.example.com 與備援 @ MX 20 mail2.example.com
  • CNAME:別名。欄位:主機名稱、CNAME 目標(必填 FQDN)。不可設在網域本身(@),否則會顯示「CNAME 不能設在網域本身(@):與 SOA/NS 記錄衝突會讓整個轄區無法載入」。另外 CNAME 與同名的 A/MX/TXT 等紀錄不能並存,同一個名稱只能有一筆 CNAME。例:主機 www、目標 example.com
  • TXT:自由文字紀錄,常用於網域驗證。欄位:主機名稱、TXT 資料(必填)。資料不可含雙引號 " 或反斜線 \,否則會顯示「「:field」不可包含雙引號或反斜線(會破壞 BIND 設定檔的引號結構,導致整個轄區載入失敗)」。長度上限:值本身最長 65535 字元,且系統以 255 位元組分段後的實際長度也不得超過 65535 位元組,超過會顯示「「:field」內容過長:系統會自動以 255 位元組分段,但分段後的總長仍不得超過 65535 位元組(BIND 的 TXT 上限),否則整個轄區會載入失敗」
  • SPF:寄件者政策,必須以 v=spf1 開頭(大小寫不拘),否則顯示「SPF 記錄必須以 v=spf1 開頭,否則等於沒有 SPF」。欄位與字元限制同 TXT。新增時預設帶入 v=spf1 a mx -all。例:@ SPF "v=spf1 a mx -all"
  • DKIM:網域簽章公鑰。此型別沒有「主機名稱」欄位,改用專屬的「DKIM 主機名稱」(必填,預設 default._domainkey),另填「DKIM 資料」。新增時會自動帶入系統目前的 DKIM TXT,可直接沿用。字元限制同 TXT(公鑰常是多行貼上,系統會逐行處理)
  • DMARC:政策與報告設定。同樣沒有「主機名稱」欄位,改用「DMARC 主機名稱」(必填,預設 _dmarc),另填「DMARC 資料」,且必須以 v=DMARC1 開頭,否則顯示「DMARC 記錄必須以 v=DMARC1 開頭,否則收信端會忽略這筆政策」。新增時預設帶入 v=DMARC1; p=reject; rua=mailto:admin@<域名>
  • SRV:服務位置。欄位:主機名稱(如 _sip._tcp)、優先權/權重/連接埠(三者皆必填,0~65535 的整數,格式錯誤顯示「「:field」必須是 0 ~ 65535 的整數」)、目標(必填 FQDN)。例:_sip._tcp SRV 10 60 5060 sipserver.example.com
  • NS:這個轄區的名稱伺服器。欄位:主機名稱(通常 @)、名稱伺服器(必填 FQDN,不能填 IP)。例:@ NS dns.example.com

PTR(僅反解轄區):把 IP 反查回主機名稱。欄位依 ARPA 類型而不同:

  • IPv4 反解轄區:填「IP 末段」(0~255 的數字),系統自動組出完整 IP。例:反解網段 192.168.10、末段 190 → 針對 192.168.10.190 建立 PTR,目標填 mail.example.com。末段非 0~255 會顯示「IP 末段必須是 0 ~ 255 的數字」
  • IPv6 反解轄區:填完整 IPv6 位址(如 2001:db8::190),必須落在這個反解網段內
  • 反解目標主機必填,格式錯誤顯示「請輸入有效的反解目標主機名稱(FQDN),例如 mail.example.com」;若 IP 不屬於此反解網段,顯示「IP 不在這個反解網段內」

刪除紀錄前會顯示確認:單筆「確定要刪除記錄「host(類型)」嗎?」,批次「確定要刪除選取的 N 筆記錄嗎?」。刪除紀錄可重建,不需重新輸入識別值。

常見誤解與陷阱

  • 一個小錯就讓整個轄區掛掉,不是只有那一筆失效:BIND 是整檔載入,只要有一行語法錯誤,整個 zone 就 not loaded due to errors,該網域全部查詢 SERVFAIL。最常見的三個地雷是主機名稱留空或格式錯誤、TXT 系資料含雙引號或反斜線、CNAME 設在 @——查詢不到時先檢查這三項
  • 目標欄位填 IP 不會報錯,但永遠無效:表單會擋下(見上方 FQDN 規則),但若用其他方式寫入,BIND 仍會接受,症狀是「看起來設定好了卻不通」
  • 新增/編輯紀錄是即時生效:改完就重新產生並套用 BIND 設定,沒有「先存檔再一次套用」的緩衝
  • TTL 填 0 不是「不過期」:0 表示沿用轄區預設值
  • 反解網段不能跨 /24:IPv4 一定要拆成單一 Class C 逐段建立
  • 刪除紀錄可以重建,刪除轄區不行:後者必須重打域名,因為底下的紀錄會一起消失

與其他功能的關聯

MX、SPF、DKIM、DMARC 直接影響郵件收發與驗證,請與「郵件伺服器 / SPF 管理」「郵件伺服器 / DomainKey管理」「郵件伺服器 / Dmarc 管理」保持一致——DKIM 的公鑰可直接從 DomainKey 管理頁取得後貼進本頁的 DKIM 紀錄。DNS 查詢紀錄可在「系統日誌 / DNS伺服器日誌」查看;若郵件被退或驗證失敗,先確認本頁紀錄與外部查詢結果是否一致。