DDNS:可以使用DIY解决方案吗?更好?


26

我正在尝试在家里建立一个个人邮件/日历服务器(是的,我听说这很困难,很麻烦,等等,但是我仍然想尝试)。我有一个不提供静态IP地址的ISP,因此看起来有些动态域名服务(DDNS)是解决方案。

但是,我一直在进行研究,并且至少找到了两个在线资源,这些资源可以说明您可以自己进行DDNS:您需要有一个脚本/程序来定期监视您的IP地址,以及地址是否更改,那么脚本/应用程序需要更新您用于家庭服务器的任何域名(出于这种可能,我碰巧将域名托管在托管服务提供商的位置,据我所知,我只需要使用API​​密钥托管公司,以便以编程方式调整必要的域/ IP记录...有人可以让我知道我是否对此有错,并且有一种更简单的方法)。

事情就是这样:当您以上述方式更新域名记录时,我读到它可能需要几个小时才能在整个系统/世界中传播(所有DNS服务器都必须使用更新后的地址重新填充) )。但是,我一直在寻找的几家付费DDNS提供商似乎提高了他们使更改几乎立即生效(或至少比我的DIY方法更快)的能力。真的吗?有什么我想念的吗?

另外,我还有一个担忧:使用DDNS提供商可能会忽略任何安全性问题吗?他们是否能够监视通过其提供的域名的所有流量?是否有人对哪种方法(收费与DIY)更好会有所了解?

我感谢您的时间...谢谢!


7
每月只需​​$ 10,您就可以获得带有静态地址的VPS-我建议您为此进行炮击,因为它会使一堆事情变得更简单
Flexo

@Superion也许我不正确,但是ddns的全部作用是您不必自己更新ip。ddns提供程序为您提供了一个为您执行此操作的工具。您只需要运行此工具的设备。大多数路由器甚至都能够做到这一点。
kevinSpaceyIsKeyserSöze

9
每月10美元?太贵了 您可以获得非常不错的VPS,其价格已经比邮件服务器高出一半。
五彩纸屑

4
如果您想在家中运行邮件服务器,DDNS并不是问题,ISP阻止SMTP就是问题。您可能能够通过ISP服务器路由传出邮件(以使它们接受ISP所关心的任何分析,包括SPF记录为代价),但是传入邮件可能只是被阻止而无能为力。
ShadSterling

3
@kevinSpaceyIsKeyserSöze:这个问题的全部重点是他们想自己做而不是使用DDNS提供程序。
克里斯(Chris)

Answers:


42

我正在尝试在家里建立一个个人邮件/日历服务器(是的,我听说这很困难,很麻烦,等等,但是我仍然想尝试)。

邮件部分可能运气不佳。参见@Alex的答案。

您需要有一个脚本/程序来定期监视您的IP地址,如果地址发生更改,则该脚本/应用程序需要更新您用于家庭服务器的任何域名

差不多。

我只需要托管公司的API密钥即可以编程方式调整必要的域/ IP记录

是的,尽管如果该公司仅提供通用的“托管所有内容”服务,则它可能根本没有任何DNS管理API(而是专注于Web和邮件),并且您可能需要将域移到其他地方。

事情就是这样:当您以上述方式更新域名记录时,我读到它可能需要几个小时才能在整个系统/世界中传播(所有DNS服务器都必须使用更新后的地址重新填充) )。

不需要。仅需要更新DNS托管提供商自己的系统。世界其他地方并没有保持永久记录,它只是缓存每个(子)域的“ TTL”(生存时间)字段中指示的持续时间的单个查找结果。

但是,我一直在寻找的几家付费DDNS提供商似乎提高了他们使更改几乎立即生效(或至少比我的DIY方法更快)的能力。真的吗?有什么我想念的吗?

我猜想他们允许在动态域上配置一个非常低的TTL(低至几秒钟),这意味着它会非常快地从任何缓存中退出,以DDNS提供程序本身接收更多请求为代价(更高在他们的DNS服务器和数据库上加载,并为您收取更多费用)。仅此一项就没什么特别的,可以用任何DIY方法实现。

他们是否能够监视通过其提供的域名的所有流量?

否。DNS服务器仅为您提供一个地址(很像电话簿),并且不参与任何进一步的通信。

(除非提供者实际尝试返回错误数据,否则一旦新闻网站获悉,这将大大缩短公司的TTL。)

也就是说,请务必注意API的工作方式;当然,您不能确定该服务没有任何漏洞,但是,如果(例如)API在未加密的HTTP上运行并在可见的情况下传输API密钥,那么您就不必依赖它了。


22
+1就是“ 缩短公司的TTL ”。
TripeHound

1
请注意,已知某些ISP的DNS解析器(缓存)不遵守低TTL,并强制使用最小TTL(约一个小时)。我不确定现在是否仍然如此。
jcaron '18年

5
@jcaron我曾经在Akamai工作,这在很大程度上取决于短TTL。他们进行了一些分析,并且多余的缓存数量不太严重,不会影响服务。
Barmar

20

如果您没有静态IP,那么如果使用DDNS解决方案,则应该忘记邮件服务器,因为所有动态IP都在PBL列表中,所以大多数电子邮件服务器要么拒绝您的电子邮件,要么将其标记为垃圾邮件级别最高。(您可以在PS部分中看到更多详细信息,为什么在住宅IP上安装电子邮件服务器不是一个好主意,但是使用中间廉价的VPS(虚拟专用服务器)仍然有一种解决方法

关于“ DDNS自己”-一个优秀的域名注册商,可以通过其API免费更新IP,您的程序所需要做的就是定期验证公共IP,如果更改了,将新IP发送给将更新A(AAAA)记录的注册商。顺便说一句,当今大多数路由器已经具有这种功能(监视IP并向DDNS提供商报告)

我读过,传播到整个系统/世界可能需要几个小时

它取决于DNS提供商,相应的注册商可以将TTL(告诉他人IP可能多长时间更改一次的时间)设置为5分钟。并非所有的转发中间DNS服务器都遵循此规则以避免高负载,但是通常即使它们不遵循域所有者TTL,也通常不会超过几个小时。大多数转发器会像在域TTL中设置的那样更新其缓存。

使用DDNS提供商可能会忽略我的任何安全问题吗?

上网已经是可能的安全问题。将您的服务器与本地网络隔离,以避免不受欢迎的访客。

是否有人对哪种方法(收费与DIY)更好会有所了解?

如果使用DDNS,您将浪费时间和金钱。如今,您可以获得每月3-4美元的不错的VPS(虚拟专用服务器)。虽然网站(如果您打算拥有一个)可以直接托管在VPS上(因为通常不需要太多空间),但是如果您希望长时间运行服务器或希望大量运行,则电子邮件服务器可能会出现问题。电子邮件。通常,即使不删除旧电子邮件,小企业也可以使用20GB的空间,最多可存储3-5年。即使您希望收到大量电子邮件,也可以使用nginx该功能可将电子邮件流量代理到您的家中。因此,您可以在家里使用动态IP托管主电子邮件服务器,而VPS(具有静态IP)将代理传入/传出的流量到您的家里。您可以在这种配置中使用自己的VPS,而无需担心DNS传播,因为域将始终指向VPS的静态IP。您仍然需要管理将您的家庭IP更改报告给VPS,因此VPS会知道在何处代理流量,但这要容易得多,只需查询VPS上的一些URL并解析日志中的传入IP并调整nginx,所以它始终知道你在哪

聚苯乙烯


我可以看到这个主题对于超级用户很有趣,因此我将添加更多细节。

PBL列表保存的IP数据库通常是动态IP,因此PBL 对电子邮件服务器的运营商有很大帮助。这不是技术问题,也不是ISP不允许在动态IP上使用电子邮件服务器,这是一个坏人,问题是来自动态IP的大多数电子邮件流量来自受感染的计算机,这些计算机大量发送垃圾邮件或恶意软件,很容易DDoS接收服务器(如果一个是目标)。一些ISP阻止到端口25的传出连接,以防止恶意软件和DDoS传播,但有些没有。实际上,所有公司电子邮件的服务器都只是丢弃来自PBL列表的连接,从而大大减少了垃圾邮件。

第二种有效的反垃圾邮件解决方案是从DNS中没有反向PTR记录且与域的DNS记录不匹配的IP断开连接。即使连接来自没有PTR记录的静态IP,也通常是配置错误或主要来自垃圾邮件帮派运行的服务器(某些大型(但粗心)提供程序可能会排除在外,但可以手动添加)在白名单中)。在VPS上设置反向PTR记录仅需花费几分钟,但从ISP获得的静态IP和设置PTR的过程通常不是PITA的情况(必须调用它们,验证后提交票证)您原来的IP所有者,并等待他们的系统管理员的仁慈,他们需要设置反向PTR记录,有时需要几个小时,但有时需要几天)

同样,这不是很关键,但是...为了避免电子邮件伪造,大多数电子邮件服务器所有者使用所谓的SPF(发件人策略框架),如果在DNS授权的IP地址中设置了一组允许发送电子邮件的地址,则该SPF可以指定最快速的策略处理方法。代表域。(可以通过FQDN指定授权服务器作为对MX记录的引用,但是它会通过DNS往返连接服务器),因此,在DNS中管理浮动IP并不是一件好事。


1
即使您拥有静态IP,也可能会在住宅范围内,因此被列入黑名单。您特别需要一个业务IP(甚至那些在以前所有者中声誉通常很差的IP地址……难道不是IPv4穷尽吗?)
Bob

@Bob我从事该技术领域已有几十年了,但是我从未听说过任何将静态IP提供给住宅客户的ISP。关于IP信誉,它不会停留太长时间,如果有人发送清除请求,最多一周的时间才能从黑名单中删除IP。重要的是域名信誉,我有一位客户选择了非常好的废弃域名,但信誉却差强人意,花了将近半年的时间才成为一个不错的域名。
亚历克斯

1
我已经有10多年使用相同的静态住宅IP了:)(也就是说,它也不在Spamhaus PBL中,所以……我的ISP并未将其标记为住宅IP,或者已经给我提供了一个商业IP。 。)
鲍勃

@Bob您是正式为静态IP付费还是还是保持不变?在电缆和FIOS网络提供商中,IP可以使用相同的IP保留数年,但这并不意味着它是静态的,如果您要更改MAC地址,那么您的IP将被更改。如果您在住宅网络上获得了真正的官方静态IP,可以请您共享您的ISP,这真的很有趣!
亚历克斯(Alex)

1
我很确定它是祖父...澳大利亚TPG上的ADSL。他们可能不再提供此服务(或立即收费)。就是说,我们在这里有点题外话了-如果您想进一步讨论聊天问题:)
Bob

7

我有一个不提供静态IP地址的ISP,因此看起来有些动态域名服务(DDNS)是解决方案。

那是一个解决方案。作为另一个解决方案的示例,HurricaneElectric.net IPv6隧道提供了带有可移动隧道端点的静态(IPv6)地址。可以肯定的是,此时,IPv4可以更好地支持大众使用这种功能,但是,如果您可以找到愿意的协作计算机,那么从技术上讲,IPv4也可以做到这一点。

您需要有一个脚本/程序来定期监视您的IP地址,如果地址更改,则该脚本/应用程序需要更新您正在使用的任何域名

这听起来像是一项技术上可靠的计划。

我只需要托管公司的API密钥,以便以编程方式调整必要的域/ IP记录...如果我错了,请让我知道,并且有一个更简单的方法)。

具体细节将取决于域名注册商对其实施此功能的方式的选择。有些人可能使用某种API密钥,而另一些人可能依赖于Web界面进行自动更新。过去,某些ISP提供了这样的服务,但依靠手动更改来响应请求。因此,这完全取决于谁为您提供服务。

事情就是这样:当您以上述方式更新域名记录时,我读到它可能需要几个小时才能在整个系统/世界中传播(所有DNS服务器都必须使用更新后的地址重新填充) )。

呸骗子。已知DNS传播要花费数分钟或数小时或数天(例如72个小时)。但是,当人们认真分析事物时,他们发现大部分模糊的“传播”时间仅仅是由于DNS托管提供商更新缓慢。

从更好的理论上讲,您只需要等待TTL值即可。虽然,该理论存在问题...

但是,我一直在寻找的几家付费DDNS提供商似乎提高了他们使更改几乎立即生效(或至少比我的DIY方法更快)的能力。真的吗?有什么我想念的吗?

好的,这就是现实:要使更新完全生效,您需要使Internet清除其活动的旧信息缓存。

根据标准,缓存DNS服务器可能会依赖其缓存达到您可以配置的TTL值指定的时间长度。

但是,现实情况是,已知至少有一些(甚至是大多数?)超大型ISP运行自己的缓存DNS服务器,而这些DNS服务器完全忽略了TTL值。他们之所以这样做,是因为他们感觉如果他们更新DNS缓存的频率降低,总体效果将是减少带宽(也许会减少一些计算时间)。

因此,任何依赖于此类DNS服务器的电子邮件服务器都可能会受到影响,并且直到DNS服务器得到更新后才能注意到您的更新。在某些情况下,可能需要一两天(或三天?)。

但是,这种影响变得越来越罕见。实际上,大多数DNS服务器在一两个小时内就会清除其缓存。

由于某些缓存的更新速度不会像其他缓存那样快,因此其结果是Internet上的某些地方将使用新地址,而其他地方仍将尝试使用旧地址。在几个小时内,大多数计算机将可以很好地处理新信息。(许多人可能在几分钟之内就能工作。)

电子邮件软件的典型行为是尝试发送电子邮件。如果失败,请稍后再试。在放弃之前,电子邮件服务器通常会连续几天(大约每小时一次)重试。因此,很可能发生的事情是您不会丢失电子邮件,但会有所延迟。

Alex的评论“所有动态IP都在PBL列表中”显然是错误的,因为此信息是去中心化的(因此“ all”一词不准确),但是确实有很多动态IP都在此类列表中,因此可能表示与电子邮件相关的某些计算机/设备可能会决定不与您合作。

另外,我还有一个担忧:使用DDNS提供商可能会忽略任何安全性问题吗?

最大的问题是您的更新是否以安全的方式处理。

他们是否能够监视通过其提供的域名的所有流量?

否。DNS服务器的工作是接收域名请求,并提供响应。传统的典型响应是提供一个或多个IP地址。其他响应也是可能的,例如引用另一个DNS服务器或域名(例如,使用CNAME)或其他数据(例如,通过新的DNSSec标准帮助提供安全性)。

有没有人有见识的意见...

我想指出的是,如果您真的想运行一台严肃的电子邮件服务器,则可能要考虑符合现代电子邮件标准。这不仅仅是遵守SMTP和DNS技术规范。许多人使用大型提供商,而这些大型提供商可能会实现自己的期望。

例如,我知道几年前用Debian和Postgrey建立的电子邮件服务器。Postgrey是一些提供“灰名单”反垃圾邮件处理的软件。但是,使用的Postgrey版本假定当电子邮件服务器重试电子邮件时,发送电子邮件服务器将使用相同的IP地址。已知Office 365电子邮件服务器会重试从仍位于IPv6 / 64子网内的其他IP地址发送电子邮件。Postgrey不喜欢那样。

随着越来越多的组织切换到Office 365,对于使用旧电子邮件服务器的人们来说,这已成为越来越多的问题。已发布了较新版本的Postgrey软件,但安装此类软件的简单方法是使用该操作系统的官方软件存储库。因此,在实践中,更新该软件的明智方法是升级操作系统。

还有其他约定,例如具有以“邮件”开头的DNS名称。这可能会导致您的设置或多或少被认为是可信赖的。这可能会影响设备是否将您视为不合规的垃圾邮件发送者,还是值得与之通信的设备。

当然,也许当非常严格地谈论官方技术规范时,大型组织正在执行某些动作,这些动作与包含所使用协议的技术规范的RFC文档所要求的最低要求不同。但是,如果您想与较大的Internet社区进行通信,则某些重要/大型参与者会强加一些其他标准。准备好很好地满足那些标准,或者准备遇到一些麻烦。

我对所有这些标准到底是什么有些含糊,因为它们会随着时间而变化。

关于需要升级其旧Debian操作系统的旧电子邮件服务器,也许人们无论如何应该更频繁地升级其操作系统。但是,我要说的是,由于许多电子邮件地址通常都使用较新的行为,因此多年来运行良好的软件设置现在已被破坏。如果您尝试做一些不寻常的事情,例如在速度较慢的Internet提供商上使用动态DNS,则一路上可能会遇到一些其他问题。您听起来很有野心,也许您可​​以为此付出努力。我只是警告您准备要这样做。

...关于哪种方法(付费与DIY)可能更好?

正如其他人指出的那样,付款将容易得多,并且对大多数人来说非常经济。大量提供的内容可能会提供一个稳定的IP地址,您可以将MX记录指向该IP地址(这样电子邮件就可以到达该地址),并且可能会提供更好的带宽。

DIY更适合获得经验和学习事物的工作方式,并且选择不完全依赖大型公司的实施。对实现的更多控制权还可以使您更快地进行重要的自定义更改。

哪个“更好”将取决于您的个人目标,因此我将这些结论留给您。


5

是的,您可以自己托管DDNS服务器(实际上,前一段时间我自己的DJB编写了一个DynDNS兼容实现)。您可以在动态IP上使用常规DynDNS客户端来更新DNS名称,但是服务器代码仍将在具有静态IP的地方运行(因为GTLD服务器仍需要将您域的NS记录指向某个静态IP)。

另外,如果您不是自己托管DNS,而是将其卸载给第三方DNS提供商,则他们可能会像您所说的那样为您提供API来更改IP。它的传播速度可能会比适当的DDNS解决方案慢,并且您显然不会完全自托管,而是依赖第三方提供DNS服务。它们通常不是恶意的(并且互联网上还有很多其他安全问题需要担心),但是我仍然希望解决方案处于我的控制之下(如果没有其他问题,因为它使我可以自由选择我的DNS提供商而不是被锁定)。

我也确实运行自己的Calendar / Contacts / Pictures服务器实例,而不是将数据交给Google或其他人(通过使用开源NextcloudMediagoblin实例)。当我在带有静态IP的“我的” VPS上运行它们时(因为这既容易又提供了更多的带宽),两者都可以在您家里拥有的动态IP上运行。

另外,正如其他人提到的那样,由于PBL黑名单,对于发送邮件,您将无法可靠地直接从该服务器发送邮件(有时会起作用,有时会丢失或退回,或者标记为垃圾邮件),但是如果您通过其他一些SMTP服务器(例如gmail或您的ISP)转发它,就可以了。

但是,动态IP上的传入邮件(MX)服务器将是个问题。例如,如果您在更改IP时碰巧收到邮件,则可能会尝试将邮件传递到您刚才所拥有的IP,但现在其他客户已经拥有了。在大多数情况下,这只会导致连接失败,从而导致邮件延迟,但是,如果其他客户也运行SMTP服务器,则邮件将被递送给他/她或被退回,并显示“收件人不存在”致命错误(通常会这样)自动取消订阅您的邮件列表等)。另外,如果您的IP没有反向DNS(有时甚至没有,但看起来很动态!),则某些邮件服务器将拒绝向您发送邮件。

但是,如果对于您而言,丢失或误导邮件一定比例不是问题,那么请务必尝试一下。

请注意,您的ISP可能有禁止您在低价的“消费者Internet”上运行服务的规则,如果他们发现您违反了合同,则可能会将您关闭。否则,他们甚至可能会主动阻止任何通过tcp / 25、80、443等低号受欢迎端口到您家的传入连接,这可能会破坏您的整个自我托管想法(除非您更改ISP或使用更昂贵的“商务舱” ”(通常也有静态IP)。

最后要注意的是,在许多典型的家用家庭互联网连接(如ADSL,电缆等)中,速度是不对称的-也就是说,您的下载速度快于上传速度。如果您想在家中提供一些较大的公共内容(例如图片)(而不是依靠Facebook或google来放弃您的权利),那么这样做会很慢(对于从您那里下载图片的人来说,速度也很慢,而且还可以连接整个互联网)。


2

其他答案已经解释了DDNS部分。

我将解释为什么您必须使用单独的服务器来发送电子邮件(因为@Alex的简短解释不完整)。

最重要的是,您需要有效的反向PTR记录来发送电子邮件-如果IP地址的反向DNS记录与发件人域不匹配,则许多电子邮件服务器都会对其进行检查并退回您的邮件。该记录由IP地址的所有者(例如您的ISP)提供。

现在,让我们想象一下,您已经以某种方式得到了有效的动态更新反向DNS(ha-ha)。您仍然必须说服所有人,您的域是合法的,并且您发送的电子邮件不是垃圾邮件。

如@Alex所述,小型邮件托管者喜欢使用spamhaus和其他在线黑名单。但是我已经看到那些公司管理员还有很多其他愚蠢的事情(例如阻止所有来自Gmail / Hotmail的电子邮件)。实际上,这不仅仅是一些“企业管理员”,我还从合法的公司电子邮件域中看到Sourceforge阻止注册,因为“我们不知道为什么,但是我们的垃圾邮件过滤器认为您很糟糕”。只需忽略它们-您就无法与天空下的所有人保持兼容。

这些天来,庞大的邮件托管者不再依赖spamhaus或其他PBL。他们自己跟踪您的信誉。发件人信誉(至少大部分)附加到IP。这是因为垃圾邮件发送者经常从其托管者那里启动,因此他们被迫跳过IP。从Gmail的角度来看,您最近创建的域/ IP与常见的垃圾邮件发送者没有什么不同。当您开始发送电子邮件时,您的信誉度很低(默认情况下,您被视为垃圾邮件发送者!)。您的大部分外发电子邮件将被标记为垃圾邮件。当某人回复您的电子邮件或将其特别标记为合法时(通过在其电子邮件提供商的Web界面中按相应的按钮),对您的信任会略有增加。如您所见,要提高发送者的声誉,多年来,您必须在同一IP上使用同一域。这个可以'


从托管商租用VPS后,将家庭服务器保持在动态IP上将变得容易得多。您将能够将该VPS用作具有极低TTL的自己的DDNS服务器。您甚至可以放弃DNS并使用其他方式(例如HTTP重定向)来处理家庭邮箱的IP变化。您仍然可以直接将电子邮件接收到您的家庭邮箱—当您的家庭IP发生故障或最近更改时,还可以选择回退到VPS。



-1

我对dyndns服务的谦虚添加,它是免费的,并且在许多系统上运行(也在路由器上)-freedns.afraid.org

我使用它来使我的家庭IP地址指向列表中免费提供的某些选定域名。我的rPi执行“ curl”脚本,它对我很有用(嗯,因为我没有运行邮件服务器,如果10分钟不可用,这不是问题)。

我也有在家里运行邮件服务器的想法,但是ISP阻止了流量,所以我不得不放弃它:-(

最好的祝福。


1
您能放置真实链接而不是混淆点吗?
AL
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.