如何将 VPS 配置为独立 DNS 服务器?

如何将 VPS 配置为独立 DNS 服务器?

我有基于 CentOS 的 VPS,目前我在其上运行基于 Web 的应用程序。最近我购买了一个域名,并想将此名称映射到我的 VPS。我认为购买域名后他们会处理 DNS 问题,将 IP 映射到名称只是一件轻而易举的事情。

但似乎我必须在自己的 VPS 上安装 DNS 服务器才能解析域名。我上网查了一下,大致了解了应该怎么做。我配置了必要的文件,但我认为部分内容不正确(或者我忽略了某个步骤)。以下是我执行的步骤:

  • 已安装 BIND
  • 配置named.conf
  • 创建区域文件(正向和反向查找)
  • 配置网络适配器(添加 dns2=127.0.0.1 和域名“example.ir”)
  • 防火墙配置

长话短说,这是我的 example.ir.zone 文件的内容:

$ORIGIN examle.ir.
$TTL 86400
@       IN      SOA     ns2.example.ir.  hostmaster.example.ir. (
        199609203       ; Serial
        28800   ; Refresh
        3600    ; Retry
        604800  ; Expire
        86400 )  ; Minimum TTL

        IN      NS      ns2.example.ir.

        IN      MX      10      mail.example.ir.

        IN      A       127.0.0.1

ns2     IN      A       127.0.0.1

ftp     IN      A       127.0.0.1

h88-150-136-1.host.redstation.co.uk   IN      A       127.0.0.1

mail    IN      CNAME   h88-150-136-1.host.redstation.co.uk

www     IN      CNAME   h88-150-136-1.host.redstation.co.uk`

请注意,我已经启动了命名服务,没有任何问题,但只能从 vps 内部看到我的域名,而不能从外部看到...

这可能看起来很新;但是有人可以给我指明正确的方向或者告诉我我做错了什么吗?!

答案1

有几件事:在绑定简写中,不以 a 结尾的主机名.会附加区域名称。

如果您的区域是example.ir条目mail的简写mail.example.ir.,并且您的 CNAME 记录实际上指向h88-150-136-1.host.redstation.co.uk.example.ir.

除非您尝试使用 127.0.0.1 来掩盖您的 ip 地址,否则在大多数情况下您不会将 DNS 记录指向本地主机,而是指向可路由的 ip 地址,例如88.150.136.1(显示为 h88-150-136-1.host.redstation.co.uk 的 ip 地址。)

相关内容