将 IP 地址绑定到主机名

将 IP 地址绑定到主机名

我刚刚注册了一个域名并支付了 CentOS 托管费用,我发现我必须按照冗长的步骤自己进行绑定http://www.linux-sxs.org/internet_serving/bind9.html

我想知道,有没有更简单的方法来进行这种绑定?我认为在 Apache 中配置 dns 名称就足够了,这是错误的吗?

任何反馈表示赞赏。

答案1

他们提供的步骤有效地设置了缓存名称服务:

zone "." {
    type hint;
    file "root.hints";
};

为 192.168.1.0/24 和 127.0.0.0/8 netblock 反向 DNS 区域提供 DNS 服务:

zone "0.0.127.in-addr.arpa" {
    type master;
    file "pz/127.0.0";
    allow-update { none; };
};

zone "1.168.192.in-addr.arpa" {
    type master;
    file "pz/192.168.1";
    allow-update { none; };
};

它们都包含在视图中,以便只有来自这两个网络块的主机才能解析 DNS。它还从远程查询中隐藏了绑定的版本:

zone "." {
    type hint;
    file "/dev/null";
};

您可以通过添加以下内容来提供相同的内容:

 127.0.0.1 localhost
 192.168.1.1 localhost

/etc/hosts删除/停止任何现有的 BIND 服务。如果他们允许 DNS 查询(如果他们想要允许从根提示区域进行 DNS 递归,则必须这样做,以提供缓存名称服务器),那么您可以使用外部 DNS 提供商(例如 Google):

 echo "nameserver 8.8.8.8" > /etc/resolv.conf

这也足以让 apache 确定其主机名并节省您创建绑定名称服务器的冗长过程。

[编辑]OP 已做出这些更改,但仍然存在问题。我怀疑这与原来的问题无关,所以会问一些额外的问题。

如果dig <domain-name>. @8.8.8.8提供正确的详细信息,则您的外部 DNS 是正确的,并且很可能是内部 ip 配置/路由/防火墙。

show Interfaces的输出是否ifconfig不止 127.0.0.1 和 192.168.1.1?如果只是这些,那么主机外部的某些东西会将您的地址 NAT 到您的外部 IP,并且还可能决定您所允许的开放端口。如果global-ip是您的外部 IP 地址并出现在此列表中,则您可能需要编辑 Apache 配置以侦听该地址而不是 192.168.1.x。

你有iptables安装类似的东西吗?显示什么iptables -nvL INPUT? (这必须以 root 身份运行,或通过sudo)。 IPTables 可能会阻止传入/传出请求。

[编辑2]OP 对 DNS 的工作原理很感兴趣。

YouTube 上的一位用户提供了基本 DNS 101 视频。它具有说明性和直接性,足以让您了解 DNS 的基础知识。

如果你真的想彻底了解DNS O'Reilly《Grashopper》一书DNS 和绑定第五版是一个极好的资源,还将教您如何与 BIND 结合使用。

答案2

许多域名注册商提供基本的 DNS 服务。如果他们这样做,那么您只需A在他们的控制面板中添加一条记录即可。这不需要配置您自己的 DNS 服务器,其中bind之一。除非您愿意花时间学习如何防止您的 DNS 服务器成为开放中继,否则我建议您使用注册商的服务。它还可以帮助您节省寻找某人提供备份 DNS 服务器的精力。

为域以及一个或多个子域配置 IP 地址是很常见的。如果我要为 注册一个网络服务器example.com,我会Aexample.com.和创建一个www.example.com.。该表格可能不需要输入域。

如果您计划运行电子邮件服务器,则应创建其他记录类型,例如MXTXTSPF。 SPF 记录通常创建为TXTSPF类型,因为旧软件会查找TXT记录。您还应该让您的 IP 地址供应商设置 PTR 记录,以匹配A您的邮件服务器的记录。

对于非电子邮件域,您可能需要创建一条TXT记录“v=spf1 -all”。如果可能,请创建具有相同内容的 SPF 记录。

如果您决定使用bind,请查找有关设置拆分服务器的信息。另请查看有关如何防止在 Internet 上提供递归请求的信息。

相关内容