Sup*_*ion 30 networking dns ddns
我正在尝试在家里建立一个个人邮件/日历服务器(是的,我听说这很困难,很麻烦等等,但我仍然想尝试一下)。我有一个不提供静态 IP 地址的 ISP,所以看起来某种动态域名服务 (DDNS) 是解决方案。
但是,我一直在做研究,我发现至少有几个在线资源说明您可以自己做 DDNS:您需要有一个脚本/程序来定期监控您的 IP 地址,如果地址发生变化,然后脚本/应用程序需要更新您用于家庭服务器的任何域名(我碰巧有一个域名停在托管服务提供商处,只是为了这种可能性,据我所知,我只需要 API 密钥托管公司,以便以编程方式调整必要的域/IP 记录……如果我错了,有人告诉我,还有更简单的方法)。
事情是这样的:当你以我上面描述的方式更新你的域名记录时,我读到可能需要几个小时才能在整个系统/世界中传播(所有 DNS 服务器都必须用你更新的地址重新填充)。然而,我一直在寻找的几个付费 DDNS 提供商似乎提升了他们使更改几乎立即生效的能力(或者至少比我的 DIY 方法更快)。真的吗?有什么我错过了吗?
另外,我还有另一个顾虑:我是否会因为拥有 DDNS 提供商而忽略任何安全问题?他们不能监控流经他们提供的域名的所有流量吗?有没有人对哪种方法(付费与 DIY)可能更好有知情意见?
我感谢您的时间...谢谢!
use*_*686 44
我正在尝试在家里建立一个个人邮件/日历服务器(是的,我听说这很困难,很麻烦等等,但我仍然想尝试一下)。
对于邮件部分,您可能不会有太多运气。请参阅@Alex 的回答。
您需要有一个脚本/程序来定期监控您的 IP 地址,如果地址发生变化,则脚本/应用程序需要更新您用于家庭服务器的任何域名
差不多吧。
我只需要托管公司的 API 密钥,以便以编程方式调整必要的域/IP 记录
是的,尽管如果公司只提供通用的“托管所有内容”服务,它可能根本没有任何 DNS 管理 API(而是专注于 Web 和邮件),您可能需要将域移到其他地方。
事情是这样的:当你以我上面描述的方式更新你的域名记录时,我读到可能需要几个小时才能在整个系统/世界中传播(所有 DNS 服务器都必须用你更新的地址重新填充)。
不需要。只需更新您的 DNS 托管服务提供商自己的系统。世界其他地方不会保留永久记录——它只是缓存单个查找的结果,持续时间在每个(子)域的“TTL”(生存时间)字段中指示。
然而,我一直在寻找的几个付费 DDNS 提供商似乎提升了他们使更改几乎立即生效的能力(或者至少比我的 DIY 方法更快)。真的吗?有什么我错过了吗?
我猜他们允许在动态域上配置一个非常低的 TTL(低至几秒),这意味着它会很快退出任何缓存,代价是 DDNS 提供商本身接收更多请求(更高加载到他们的 DNS 服务器和数据库上,以及向您收取更多费用的借口)。这本身并不是什么特别的东西,可以用任何 DIY 方法来实现。
他们不能监控流经他们提供的域名的所有流量吗?
不可以。DNS 服务器只为您提供地址(很像电话簿),不参与任何进一步的通信。
(除非提供商实际上试图返回虚假数据,否则在新闻网站获悉时,这将大大缩短公司的 TTL。)
也就是说,请注意 API 的工作方式;当然,您不能确定该服务没有任何漏洞,但是如果(例如)API 在未加密的 HTTP 上运行并在显而易见的情况下传输 API 密钥,那么这不是您想要依赖的东西。
Ale*_*lex 23
如果您没有静态 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。您仍然需要管理向 VPS 报告您的家庭 IP 更改,因此 VPS 将知道代理流量的位置,但它更容易,只需在您的 VPS 上查询一些 URL 并在日志中解析您的传入 IP 并调整 nginx,因此它始终知道你在哪里。
聚苯乙烯
我可以看到这个话题对超级用户很有趣,所以我会添加更多细节。
PBL列表保存了通常是动态 IP 的 IP 数据库,因此PBL 对电子邮件服务器的运营商有很大帮助。不允许动态 IP 上的电子邮件服务器不是技术问题,也不是 ISP 是坏人,问题是来自动态 IP 的大多数电子邮件流量来自受感染的计算机,这些计算机可以轻松发送大量垃圾邮件或恶意软件DDoS接收如果一个服务器是目标。一些 ISP 阻止到端口 25 的传出连接以防止恶意软件和DDoS传播,但有些则没有。实际上,所有公司电子邮件的服务器都会删除来自PBL列表的连接,从而显着减少垃圾邮件。
第二种有效的反垃圾邮件解决方案是丢弃来自在 DNS 中没有反向 PTR 记录且与域的 DNS 记录不匹配的 IP 的连接。即使连接来自没有 PTR 记录的静态 IP,它通常要么是配置严重错误的设置,要么主要来自垃圾邮件团伙运行的服务器(可能会排除一些大型(但粗心)的提供商,但可以手动添加它们在白名单中)。虽然在 VPS 上设置反向 PTR 记录只是几分钟的事情,但如果从 ISP 获取的静态 IP 和设置 PTR 的过程通常不是 PITA(必须打电话给他们,验证后提交票证)您是 IP 的原始所有者并等待他们需要设置反向 PTR 记录的系统管理员的怜悯,有时在几个小时内,但有时在几天内)
此外,不是关键,但...为了避免电子邮件伪造,大多数电子邮件服务器所有者使用所谓的SPF(发件人策略框架),如果在允许发送电子邮件的 DNS 授权 IP 地址中设置一个,则允许指定最快速的策略处理方法代表域。(可以通过FQDN指定授权服务器作为 MX 记录的参考,但它会通过 DNS 额外往返以连接服务器)因此,在 DNS 中管理浮动 IP 不会很有趣。
我有一个不提供静态 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 服务器,而这些服务器完全忽略 TTL 值。他们这样做是因为他们觉得如果他们不那么频繁地更新他们的 DNS 缓存,整体效果将会减少带宽(并且可能会减少一些计算时间)。
因此,任何依赖于此类 DNS 服务器的电子邮件服务器都可能受到影响,并且在 DNS 服务器更新之前无法注意到您的更新。在某些情况下,这可能需要一两天(或三天?)。
然而,这种影响已经变得越来越少。在实际操作中,大多数 DNS 服务器会在一两个小时内刷新它们的缓存。
由于某些缓存的更新速度不如其他缓存快,结果是 Internet 上的某些地方将使用新地址,而其他地方仍会尝试使用旧地址。在几个小时内,大多数计算机都能很好地处理新信息。(很多很多可能会在几分钟内工作。)
电子邮件软件的典型行为是尝试发送电子邮件。如果失败,请稍后再试。电子邮件服务器通常会在放弃之前连续重试数天(可能每小时一次)。所以可能会发生的是,您不会丢失电子邮件,但它会延迟一点。
Alex 的评论“所有动态 IP 都在 PBL 列表中”显然是错误的,因为此信息是去中心化的(因此“所有”一词是不准确的),但确实许多动态 IP 都在此类列表中,因此可能意味着某些与电子邮件相关的计算机/设备可能决定不与您合作。
另外,我还有另一个顾虑:我是否会因为拥有 DDNS 提供商而忽略任何安全问题?
最大的问题是您的更新是否以安全的方式处理。
他们不能监控流经他们提供的域名的所有流量吗?
不可以。DNS 服务器的工作是接收对域名的请求,并提供响应。传统的典型响应是提供一个或多个 IP 地址。其他响应也是可能的,例如引用另一个 DNS 服务器或域名(例如,使用 CNAME)或其他数据(例如,通过更新的 DNSSec 标准帮助提供安全性)。
有没有大佬有意见...
我想指出的是,如果您真的想运行一个严肃的电子邮件服务器,您可能需要考虑符合现代电子邮件标准。这不仅仅是符合 SMTP 和 DNS 技术规范。许多人使用大型提供者,而那些大型提供者可能会实现自己的期望。
例如,我知道多年前使用 Debian 和 Postgrey 设置的电子邮件服务器。Postgrey 是一些提供“灰名单”反垃圾邮件处理的软件。但是,所使用的 Postgrey 版本假定当电子邮件服务器重试电子邮件时,发送电子邮件服务器将使用相同的 IP 地址。众所周知,Office 365 电子邮件服务器会重试从仍在 IPv6 /64 子网内的不同 IP 地址发送电子邮件。Postgrey 不喜欢那样。
随着越来越多的组织转向 Office 365,对于使用旧电子邮件服务器的人们来说,这已成为越来越多的问题。较新版本的 Postgrey 软件已经发布,但安装此类软件的简单方法是使用该操作系统的官方软件存储库。因此,在实践中,更新该软件的明智方法是升级操作系统。
还有其他约定,例如 DNS 名称以“mail”开头。这可能会导致您的设置被判断为或多或少值得信赖。这可能会影响设备将您视为不合规的垃圾邮件发送者还是值得与之通信的设备。
当然,也许在非常严格地谈论官方技术规范时,大型组织正在执行一些与包含所使用协议的技术规范的 RFC 文档所要求的最低要求不同的操作。但是,如果您想与更大的 Internet 社区进行交流,则某些重要/大型参与者会强加一些其他标准。准备好满足这些标准,或者准备好遇到一些麻烦。
我对所有这些标准的确切含义有点含糊不清,因为它们会随着时间的推移而改变。
对于需要升级旧 Debian 操作系统的旧电子邮件服务器,也许人们应该更频繁地升级他们的操作系统。不过,我要指出的是,多年来一直运行良好的软件设置现在已损坏,因为许多电子邮件地址通常使用更新的行为。如果您尝试做一些不寻常的事情,例如在速度较慢的 Internet 提供商上使用动态 DNS,那么在此过程中您更有可能遇到一些额外的问题。当你听起来雄心勃勃时,也许你可以为此付出努力。我只是警告你准备好需要这样做。
...关于哪种方法(付费与 DIY)可能更好?
正如其他人指出的那样,付费会容易得多,而且对大多数人来说非常经济。大型供应商可能会提供稳定的 IP 地址,您可以将 MX 记录指向该地址(因此电子邮件会指向该地址),并且可能会提供明显更好的带宽。
DIY 更适合获得经验和学习事物的运作方式,并且选择不完全依赖大公司的实施。对实现进行更多控制还可以让您更快地进行重大的自定义更改。
哪个“更好”取决于你的个人目标,所以我把这些结论留给你。
是的,可以自己托管 DDNS 服务器(事实上,我前段时间为 DJB tinydns编写了一个符合 DynDNS 的实现)。您可以在动态 IP 上使用常规 DynDNS 客户端来更新您的 DNS 名称,但服务器代码仍将在具有静态 IP 的某处运行(作为GTLD 服务器仍需要将您的域的 NS 记录指向某个静态 IP)。
此外,如果您不自己托管您的 DNS,而是将其卸载给第三方 DNS 提供商,那么他们可能会为您提供 API 以按照您所说的更改 IP。它的传播速度可能比正确的 DDNS 解决方案慢,而且您显然不会完全自托管,而是依赖该第三方提供 DNS 服务。它们通常不是恶意的(互联网上还有许多其他安全问题需要担心),但我仍然希望解决方案在我的控制之下(如果不出意外,因为它让我可以自由选择我的 DNS 提供商而不是被锁定)。
我也运行我自己的日历/联系人/图片服务器实例,而不是将数据交给谷歌或其他人(通过使用开源Nextcloud和Mediagoblin实例)。虽然我使用静态 IP 在“我的”VPS 上运行它们(因为它更容易并提供更多带宽),但两者都可以在您家里的动态 IP 上运行。
此外,正如其他人提到的,对于发送邮件,由于 PBL 黑名单,您将无法直接从该服务器可靠地发送邮件(有时会起作用,有时会丢失或退回,或者标记为垃圾邮件),但是如果您通过其他一些 SMTP 服务器(例如来自 gmail 或您的 ISP)转发它就可以了,它会工作得很好。
但是,动态 IP 上的传入邮件 (MX) 服务器会很成问题。例如,如果邮件碰巧在您更改 IP 时到达,它可能会尝试发送到您之前拥有的 IP,但现在其他客户拥有。在大多数情况下,它只会导致连接失败,从而延迟邮件,但如果其他客户也运行 SMTP 服务器,邮件将被发送给他/她或被退回,并显示“收件人不存在”的致命错误(通常会自动取消订阅您的邮件列表等)。此外,如果您的 IP 没有反向 DNS(或者有时甚至有,但如果它看起来是动态的!),一些邮件服务器将拒绝向您发送邮件。
但是,如果一定比例的丢失或误寄邮件对您来说不是问题,那么请务必尝试一下。
请注意,您的 ISP 也有可能禁止您在低价“消费者互联网”上运行服务,如果他们发现您违反合同,可能会关闭您。或者他们甚至可能会主动阻止通过 tcp/25、80、443 等数量较少的流行端口连接到您家的任何传入连接,这可能会破坏您对自托管的整个想法(除非您更改 ISP 或进入更昂贵的“商务舱”) ”,它通常也有静态 IP)。
最后要注意的是,在许多典型的消费者家庭互联网连接(如 ADSL、电缆等)中,速度是不对称的——也就是说,您的下载速度比上传速度快得多。如果您想从家中提供一些更大的公共内容,例如图片(而不是依靠 facebook 或 google 并放弃您的权利),这很糟糕,因为它会很慢(对于从您那里下载图片的人来说,也是如此,但也适用于您的整个互联网连接)。
归档时间: |
|
查看次数: |
11869 次 |
最近记录: |