设想
我在 Windows 10 Pro N pc 上有一个带有(例如)公共 ip 的小型网站:123.456.78
如果我从网站打开的任何地方输入该 ip。
现在我还购买了 2 个域名,例如www.somewebsiteOne.com
,www.somewebsiteTwo.org
在 2 个不同的域名卖家处。并依赖于转发www.somewebsiteTwo.ddns.net
到的 dns 服务123.456.78
。在域名卖家中,我可以转发www.somewebsiteTwo.org
到www.somewebsiteTwo.ddns.net
. 我的目的是用我使用 Technitium 的自托管开源 DNS 服务器替换对 DNS 服务器的依赖。
为了验证我自己的 DNS 服务器是否正常工作,我:
- 在不同网络的不同计算机上打开 powershell。
- 输入:nslookup www.somewebsiteTwo.org 123.456.78
- 这确实返回了 ip 地址 123.456.78
问题
现在,如果我尝试在两个域名卖家中的任何一个中输入该 DNS 服务器的 IP 地址,我需要输入:
- 主机名
- IP地址
我可以在哪里输入主机名www.somewebsiteTwo.ddns.net
(这是一个转发www.somewebsiteTwo.org
到123.456.78
和用于 ip 地址的 dns 服务器123.456.78
。在使用两者之一调用后,我被解释为他们使用主机名而不是 IP 地址来查找我的个人公共 DNS服务器,而不是 IP 地址。
这实质上意味着我需要一个 dns 服务器将我的个人公共 dns 服务器的一些主机名转发到我的 dns 服务器的 ip 地址。这违背了我的意图。因此我有以下内容:
问题
如何确定和使用指向我的个人公共 dns 服务器的有效主机名123.456.78
?
尝试
- 我试图输入我的电脑的主机名,例如在 cmd at command 中返回的内容
hostname
。但这不被视为有效的主机名。 - 我尝试输入
123.456.78
,但这不被视为有效的主机名。 - 我试图进入
http://123.456.78/
,但它不起作用。 - ip 地址不能作为引用 DNS 服务器的主机名,因为:
用于 DNS 服务器以及注册和使用 DNS(子)域时的主机名必须是有效的完全限定的 DNS 主机名,例如 ns1.example.com。或 customer-5363.dsl-users.isp.example.net 。该协议不允许 IP 地址。如果您想使用 ns1.example.com 等 DNS 记录来注册域 example.com,您的注册商需要先设置正确的粘合记录
这并不完全正确。
确实,用于域委托的 NS 记录仅采用主机名而不采用原始地址。
但是,您实际上可以指定在您自己的域下的主机名,这就是为什么旁边有 IP 地址字段:它们允许您定义主机名并同时使用它。这实际上是支持消息在提到“胶水记录”时所指的内容,它允许这种“循环”。
(请注意,您还应该在自己的 DNS 服务器中添加完全相同的主机名定义 - 注册商处的粘合记录被视为副本,而您服务器上的那些是权威版本。)
例如,当您输入 nameserver
ns1.somewebsite.com
时,注册商会发布此 DNS 记录:由于名称服务器的主机名位于其托管的域下,因此这显然不会按原样工作,因为它会创建一个循环。因此,您还需要在相应字段中输入服务器的 IP 地址,这允许注册商发布第二条 DNS 记录(“粘合”记录):
每当解析器尝试查询您的域的名称服务器时,它们来自粘合记录的 IP 地址将始终附加到相同的响应,从而避免循环问题。
在我的问题中,主机名只是一组任意字符,通常
ns1
后面ns2
跟着<website without the http://www.>
例如,如果您的网站是swag.org
您可以ns1.swag.org
在自己的 dns 服务器设置中创建,然后在您的注册器中输入“主机名”ns1.swag.org
。你(通常)需要 2 个 dns 服务器,所以你创建另一个“主机名”ns2.swag.org
并输入它。然后在 IP 处,您只需输入托管 dns 服务器的 PC 的公共 IP 地址(您也在ns1.swag.org
Technitium/DNS 设置的条目中输入了该地址。下面是一个如何用图片完成这一切的例子。
验证设置以托管您自己的 dns 服务器:
your ip
您的计算机/主机/您托管网站的设备的公共 IP 地址替换。(A
ns1.<yourwebsite>
` 是一个胶水记录,告诉计算机将人们链接到您的website ,“当你在寻找这个主机名/网站时,你可以查看这个 ip 来找到这个主机名/网站”,(但是它会进入一个无限循环,所以你告诉它可以停在这里,你找到了网站这个ip。)ns1.<yourwebsite adres>
输入 technitium,请输入您的计算机的公共 IP 地址。ns1
或ns2
(如果您输入ns1.<yourwebsite>
:笔记
https://www.yourwebsite.something
. 为此,您需要一个 ssl 证书,您可以在 openssl 免费获得一个,Technitium 确实支持 https。但是我还没有实现。