将动态IP地址自动指向域


7

我想将我的所有项目从Shared Hosting移动到个人服务器,基本上是我家中使用200Mb光纤连接的服务器。

我遇到的第一个问题是我的动态IP地址。它可以在任何时间(几周,几个月)更改,我需要一种方法来自动将我所拥有的域指向我的家庭IP。我不知道怎么做到这一点。实际上我有一个与托管公司相关联的域指向共享主机的特定DNS,但我需要将域指向我的IP(并在我的IP地址更改时更新它)。

第二个问题是关于SSL。我想将一个域升级到SSL并配置Apache使用它,但我不知道我是否可以购买SSL证书以在我的动态IP域中使用(不知道证书是用于域还是IP)。

欢迎任何帮助。


为什么不在超级光纤线路上支付静态IP?
Kinnectus 2015年

好吧..因为我的ISP不提供这项服务,它不是超级duper可配置的连接:)
Zenth

您将不得不考虑动态DNS服务,如no-ip或DynDNS等。
Kinnectus 2015年

Answers:


5

您可以轻松解决问题的动态IP方面,因为有许多提供商将动态DNS作为服务提供。例如:

我自己尝试过DynDNS和no-ip,它们的工作方式与广告一样。这已经有一段时间了,但我猜它们仍然很好。

SSL证书基于域而不是IP,因此只要您的服务器设置正确,就没有问题。


可能值得注意的是,可以在“裸”域上使用的大多数动态DNS服务都是付费服务。
qasdfdsaq 2015年

2

虽然已经有一个标记正确的答案,但我将添加另一个更详细的答案。@ Jarmund的答案没有错,但我想更多可以说。

如上所述,您需要动态DNS服务。我不确定他们中的任何人都有一个“好”完全免费的计划了。上次我有一个上面提到的提供商,你需要每个月点击一封电子邮件中的链接来“刷新”或“保持活跃”免费帐户。毋庸置疑,电子邮件包含广告,尽管有一个过滤器来标记电子邮件对我来说很重要,但通常最终会发送垃圾邮件。

也就是说,今天的一些路由器品牌包括路由器订购动态DNS服务的免费生命周期。例如,netgear提供了由no-ip.com提供的myNetgear动态DNS服务。拥有路由器后无需额外费用,设置完成后路由器本身会更新外部DNS。其他路由器品牌似乎也有这个,我不会提到其他名称,因为这是我目前唯一的第一手经验。

如果您没有支持动态DNS的路由器,则需要在本地计算机上运行一个全天候运行的客户端,以使动态DNS服务保持最新。如果您运行的是服务提供商提供的调制解调器/路由器,则可能出现这种情况。您可能希望分离调制解调器和路由器以及拥有自己的路由器。在不了解您的ISP的情况下,无法提供具体信息。

当然,路由器附带的免费服务是服务域公共的单个子域。示例:MyExample.someDynamicDNSExample.com指向您的本地外部IP。

如果您有5个(或任意数量)自定义域名,这对您有何帮助?动态DNS服务会喜欢它,你会支付更多费用,也许在少数情况下可能有理由这样做,但在大多数情况下你不需要。

当您的现有共享主机设置DNS或告诉您在外部DNS中输入什么时,他们可能会创建或告诉您创建A记录..这是将域(或子域)名称指向特定IP地址的记录。在这种情况下,您要对自定义域名进行的操作是输入CNAME记录(删除任何现有的A记录,它们会发生冲突)和设置为动态服务器主机名的“值”,或者在此示例中我们将使用MyExample.someDynamicDNSExample.com这基本上是说“此域名使用与MyExample.someDynamicDNSExample.com相同的数字IP”


这个解决方案的一个警告可能是一个交易破坏者,取决于OP的要求:MX记录不能引用CNAME记录,如果有多个域在起作用。
BillP3rd 2015年

@BillP3rd ......是的,当我说“动态DNS服务会喜欢它时,你会支付更多费用,也许在少数情况下可能有理由这样做,但在大多数情况下你不需要“。这是我心中的一个案例。由于发送邮件不是垃圾邮件的所有困难,大多数人对本垒打邮件服务器没有太多运气。
泰森2015年

正确。您必须向动态提供商付款才能获得所需内容。
泰森2015年

0

对于通过Google Domains托管域名的用户,他们有一个页面,说明如何设置应全天候运行以更新IP地址的客户端软件。 https://support.google.com/domains/answer/6147083?hl=en

他们描述了如何使用现有的客户端软件,以及如果您精通技术,如何使用脚本等自行执行REST POST请求。

引用页面:

在网关,主机或服务器上设置客户端程序

有几种流行的动态DNS客户端正在使用中,例如DDclient和INADYN。此外,大多数路由器都内置了软件来检测IP更改并与名称服务器进行通信。

注意:Google Domains使用dyndns2协议。

配置动态DNS客户端:

提供商(或DNS或服务):DNS提供商的名称。

用户名:(或凭据)动态DNS记录中生成的用户名。

密码(或凭据):动态DNS记录中生成的密码。

创建记录并配置客户端软件后,通过将子域和域输入Web浏览器(或适当的客户端)并查看它连接到正确的资源来测试它。

例子

DDclient现在支持Google Domains。

DDclient支持Google Domains

ddclient.conf条目:

SSL = YES

协议= googledomains

登录名= generated_username

密码= generated_pa​​ssword

your_resource.your_domain.tld

一般客户端配置示例:

DDclient

没有谷歌域名支持INADYN

示例ddclient.conf条目:

协议= dyndns2

使用=网

服务器= domains.google.com

SSL = YES

登录名= generated_username

密码= generated_pa​​ssword

your_resource.your_domain.tld

将以下内容添加到您的inadyn.conf中

系统default@domains.google.com

username generated_username

密码generated_pa​​ssword

别名sub.domain.tld

使用API​​更新动态DNS记录

动态DNS客户端软件会自动更新您的动态DNS记录。您可以通过向以下URL发出POST请求(也允许GET),使用API​​手动执行更新:

https://domains.google.com/nic/update

API需要HTTPS。这是一个示例请求:

https://开头的用户名:password@domains.google.com/nic/update主机名= subdomain.yourdomain.com&MYIP = 1.2.3.4

注意:您还必须在请求中设置用户代理。Web浏览器通常会在通过上面的url进行测试时为您添加此功能。在任何情况下,发送到我们服务器的最终HTTP请求应如下所示:

示例HTTP查询:

POST /nic/update?hostname=subdomain.yourdomain.com&myip=1.2.3.4 HTTP / 1.1

主持人:domains.google.com

授权:基本base64-encoded-auth-string用户代理:Chrome / 41.0 your_email@yourdomain.com

请求参数:

参数必需/可选描述

username:password必需生成的用户名和密码与要更新的主机关联。

hostname必需要更新的主机名。

myip可选

(如果您具有IPv6地址,则是必需的)将为其设置主机的IP地址。如果未提供,我们将使用发送请求的代理的IP。

注意:如果您的代理使用IPv6地址,则需要myip。您可以访问https://domains.google.com/checkip查看代理的IP地址 。

offline可选将当前主机设置为脱机状态。如果在脱机主机上执行更新请求,则会从脱机状态中删除主机。

允许的值是

没有

处理请求后,将返回以下响应之一。

请确保您正确解释响应,否则您可能会将客户端从我们的系统中阻止。

响应状态描述

好1.2.3.4成功更新成功。后跟一个空格和更新的IP地址。在IP地址更改之前,您不应尝试其他更新。

nochg 1.2.3.4成功已为此主机设置提供的IP地址。在IP地址更改之前,您不应尝试其他更新。

nohost错误主机名不存在,或者未启用动态DNS。

badauth错误用户名/密码组合对指定的主机无效。

notfqdn错误提供的主机名不是有效的完全限定域名。

badagent错误您的动态DNS客户端发出错误请求。确保在请求中设置了用户代理。

滥用错误由于未能正确解释以前的响应,主机名的动态DNS访问被阻止。

911错误我们结束时发生错误。等待5分钟后重试。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.