Bind

為 localhost 的萬用字元子域創建 DNS

  • June 13, 2017

我正在嘗試為在 localhost 上執行的萬用字元子域創建 DNS。

它不工作。主域很好,但子域指向外部伺服器。

這是我所擁有的:

在 /etc/named.conf 中:

zone "typeflex" IN {
   type master;
   file "/var/named/typeflex.zone";
   allow-update { none; };
};

在 /var/named/typeflex.zone 中:

$TTL    86400;
@   IN SOA typeflex.com.    hostmaster.typeflex.com. (
   20170101        ; serial
   3h              ; refresh
   1h              ; retry
   1w              ; expiry
   1d              ; minimum
   )

   IN  NS  typeflex.com.
   IN  A   127.0.0.1

@                       IN A            127.0.0.1
*                       IN A            127.0.0.1
*.typeflex.com.         IN A            127.0.0.1
www                     IN CNAME        typeflex.com.

更改zone "typeflex" IN {zone "typeflex.com" IN {並確保您執行rndc reload以啟動更改。

然後確保您的 /etc/resolv.conf 使用:

nameserver 127.0.0.1

…而不是任何其他名稱伺服器。

還要確保您的綁定配置允許從環回 (127.0.0.1) 進行遞歸查找。

您的區域不是針對 TLD 的,typeflex.com.而是針對typeflex.TLD 的。正在工作,typeflex.com因為/etc/hosts覆蓋了A它的 DNS 記錄。對於每個子域,都使用權威的 DNS 伺服器。

如果您有localhost遞歸 DNS 伺服器,則不需要在/etc/hosts;中包含任何相關內容。只需創建一個權威區域typeflex.com.並添加:

$ORIGIN typeflex.com.
@ IN SOA ...
@ IN A 127.0.0.1
* IN A 127.0.0.1

引用自:https://serverfault.com/questions/855599