通过托管自己的 DNS 服务器绕过子域限制
Bypass subdomain limit by hosting own DNS server
下面理论多于实际,想测试一下自己是否了解DNS系统
我目前正在从提供商那里租用一个域,我们称之为 example.com
。
我还拥有一台带有静态 ip 的服务器。
使用我的域提供商的 Web 界面,我为我的域创建了一个 A-Record 以指向我的服务器。
现在每个 ping example.com 的人都会发现 A-Record(它应该将自己分发到更多的 DNS 服务器)并因此 ping 我的服务器。
现在我想要一个子域,它指向一个不同的 ip 地址。
另一方面,我的提供商不允许我创建子域。
我可以简单地在 example.com 托管一个自己的 DNS 服务器,在那里我可以(任意)为 example.com 的子域的任何域添加许多记录(因此不仅是子域。example.com 而且子域.子域。example.com)。
现在,如果有人 ping 子域。example.com 将发生以下情况:
- 他们转到他们最喜欢的 DNS 服务器,该服务器现在有 example.com 的条目(由于分发,见上文)
- 由于没有子域条目。example.com,将在 udp 端口 53 上向 example.com(我的服务器)
后面的 A-Record ip 发送 DNS 请求
- 我的服务器将回复正确的子域 ip。example.com
- 他们将 ping 发送到正确的 ip
我的理解正确吗?
相距不远,但背后还有更微妙的东西。如果您想自己托管 example.com
区域,那么您的 parent (.com
) 需要有 NS
记录指向静态 IP 上的名称服务器。您需要通过购买 DNS 注册的注册商在您的 parent 中进行注册。
.com 需要托管:
example.com. NS myns.example.com
myns.example.com. A YOURIP
在您机器上的区域 运行 中,您需要类似的东西:
example.com. SOA ....
example.com. NS myns.example.com
myns.example.com. A YOURIP
subdomain.example.com A SUBDOMINIP
如果“子域”(你的措辞)实际上完全应该在另一个区域,那么你需要使用 NS/A
记录指向它的 DNS 服务器(可以是相同的)。
您可能会去寻找有关 DNS 总体工作原理的好教程。它会让你走得更远。
下面理论多于实际,想测试一下自己是否了解DNS系统
我目前正在从提供商那里租用一个域,我们称之为 example.com
。
我还拥有一台带有静态 ip 的服务器。
使用我的域提供商的 Web 界面,我为我的域创建了一个 A-Record 以指向我的服务器。
现在每个 ping example.com 的人都会发现 A-Record(它应该将自己分发到更多的 DNS 服务器)并因此 ping 我的服务器。
现在我想要一个子域,它指向一个不同的 ip 地址。
另一方面,我的提供商不允许我创建子域。
我可以简单地在 example.com 托管一个自己的 DNS 服务器,在那里我可以(任意)为 example.com 的子域的任何域添加许多记录(因此不仅是子域。example.com 而且子域.子域。example.com)。
现在,如果有人 ping 子域。example.com 将发生以下情况:
- 他们转到他们最喜欢的 DNS 服务器,该服务器现在有 example.com 的条目(由于分发,见上文)
- 由于没有子域条目。example.com,将在 udp 端口 53 上向 example.com(我的服务器) 后面的 A-Record ip 发送 DNS 请求
- 我的服务器将回复正确的子域 ip。example.com
- 他们将 ping 发送到正确的 ip
我的理解正确吗?
相距不远,但背后还有更微妙的东西。如果您想自己托管 example.com
区域,那么您的 parent (.com
) 需要有 NS
记录指向静态 IP 上的名称服务器。您需要通过购买 DNS 注册的注册商在您的 parent 中进行注册。
.com 需要托管:
example.com. NS myns.example.com
myns.example.com. A YOURIP
在您机器上的区域 运行 中,您需要类似的东西:
example.com. SOA ....
example.com. NS myns.example.com
myns.example.com. A YOURIP
subdomain.example.com A SUBDOMINIP
如果“子域”(你的措辞)实际上完全应该在另一个区域,那么你需要使用 NS/A
记录指向它的 DNS 服务器(可以是相同的)。
您可能会去寻找有关 DNS 总体工作原理的好教程。它会让你走得更远。