首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IPv6与IPv4的地理定位

IPv6与IPv4的地理定位
EN

Server Fault用户
提问于 2015-07-20 11:13:58
回答 2查看 850关注 0票数 0

免责声明:这个问题来自于IPv6主题的一个新手。

我们的web服务器最初有IPv6活动,Nginx没有正确配置,因此IPv6的用户出现了错误,网站没有加载。

在IPv6上配置了Nginx后,网站正确加载,但对于IPv6用户,地理定位失败(我们使用Maxmind免费数据库),然后在美国所有的地理定位。

我以前是禁用IPv6 6支持,现在看来效果很好,即使是在IPv6的客户端,我的网站也会看到一个IPv4,然后把它定位在正确的国家。

问题是:

  • 当IPv6客户机查询我的网站时,到底会发生什么?如果他也有一个IPv4,那么它就违背了拥有IPv6的目的(这是因为我们没有IPv4了)?
  • 基于IPv4的地理定位可靠吗?
  • 没有准备好IPv6有什么缺点吗?
EN

回答 2

Server Fault用户

发布于 2018-01-29 17:42:36

在IPv6上配置了Nginx后,网站正确加载,但对于IPv6用户,地理定位失败(我们使用Maxmind免费数据库),然后在美国所有的地理定位。

确保您正在使用正确的数据库。一些geoip产品为IPv4和IPv6提供了独立的数据库(AIUI使用maxmind,遗留产品分为单独的v4和v6,而geoip2产品涵盖在一个数据库中)。

当IPv6客户机查询我的网站时,到底会发生什么?如果他也有一个IPv4,那么它就违背了拥有IPv6的目的。

有不同类型的客户需要考虑。

  1. 只有IPv4的客户端,它只能使用IPv4,如果它只是v6,就无法访问您的站点。
  2. 只有真正的IPv6客户端。这些将无法访问您的网站,如果它是IPv4的。这类客户目前极为罕见。
  3. 具有IPv4和IPv6的传统双堆栈客户端。IPv4可能是在前提条件下提出的,也越来越有可能是由ISP提出的。
  4. 只有IPv6客户端使用基于ISP的DS网关访问IPv4互联网.
  5. IPv6仅使用基于ISP的NAT64 64/DNS64 64网关访问IPv4 Internet。

案例1和例2非常明显。

对于第3和第4种情况,客户端可能同时尝试IPv4和IPv6。通常情况下,如果发现这两种情况,它将首先尝试IPv6。

对于案例5,如果存在记录,客户端将使用您的IPv6地址。如果不提供IPv6地址,它将使用NAT64/ do 64网关合成的IPv6地址。然后,NAT64将将IPv6流量从客户端转换为IPv4流量,以发送给您。

(这是因为我们没有IPv4了)?

最初的想法是,我们将只从v4移到双堆栈。然后,一旦每个人都在双堆栈上,我们就可以开始关闭IPv4。希望在IPv4地址耗尽之前就能实现。

这种情况之所以没有发生,是因为许多原因,包括忽视互联网现实的象牙塔标准,以及一个简单的事实,即在没有其他人这么做的情况下,很难为IPv6建立一个可靠的理由。

因此,现在我们处于一个可悲的境地: IPv4地址基本上已经用完了,但互联网的大部分仍然仅限于IPv4。

因此,互联网服务提供商被迫采取一些措施,以便在一个只提供IPv4 4服务的后耗竭世界中实现持续增长。他们基本上有三个选择。

  1. ISP级别的传统NAT (通常被称为“运营商级NAT")。这可能伴随着也可能不会伴随着推出IPv6双堆栈。
  2. 在这个系统中,IPv4包被封装(通常是通过CPE),并在ISP上通过隧道传送到一个特殊的NAT。此NAT扩展了映射表,不仅标识内部IP和端口,还标识隧道通信来自哪个IPv6地址。
  3. NAT64 64/DNS64 64。在这个系统中,ISP DNS64服务器为没有将这些记录指向NAT64框的主机名同步AAAA记录。NAT64服务器将客户端IPv6流量转换为IPv4流量。

所有这些选项最终归结为实现允许多个客户共享IPv4地址的机制。

基于IPv4的地理定位可靠吗?

地理定位总是依赖于地理定位数据的准确性。随着IPv4地址变得越来越稀少,它们可能会被移动更多,降低地理定位的准确性。

此外,有了IP共享机制,不同位置的用户可能在同一个IP后面。地理位置数据库对此无能为力。

没有准备好IPv6有什么缺点吗?

除了地理定位问题之外,这里还有三个主要考虑因素。

  1. 性能和可靠性。ISP可以在多个用户之间共享IPv4地址的所有机制都可能降低性能和可靠性。它们减少多少取决于ISP在部署它们方面的能力。
  2. 滥用管制。如果您拥有的全部是共享的IPv4地址,那么就很难跟踪滥用者的情况,或者禁止他们或者向他们的ISP报告他们。
  3. 长远的未来。目前仍有足够的v4内容,使得ISP不得不为用户提供访问v4内容的机制。不过,总有一天,v4内容的数量会下降到足够低的程度,以至于ISP不再认为让这些机制继续运行是值得的。
票数 1
EN

Server Fault用户

发布于 2015-07-20 13:46:37

如果国家级别的粒度对你来说足够了,那么你就可以简单地依赖whois了。不要查询您看到的每个客户端IP地址。当您确实看到一个新的IP和查询whois时,请缓存该范围,以便将来对该范围内的IP地址的请求不会触及whois。如果您没有从whois得到任何响应,那么在接下来的24小时内不要尝试使用同一个/32。

如果您需要更细粒度的粒度,或者对于来自whois的数据的缓存比您想要实现的要复杂,那么您需要找到一个提供者,它可以让您访问IPv6的这些数据。您不必为IPv4和IPv6使用相同的提供程序。

对于同时具有IPv4和IPv6的客户端,您可以构建自己的地址间通信数据。如何做到这一点一直是以前回答过

如果客户机和服务器都有双重堆栈支持,那么是客户机决定使用IPv4还是IPv6。自2010年以来,客户尝试使用两者中最快或最可靠的最佳做法被认为是最佳做法。

有些客户端具有比IPv6连接更可靠的IPv4连接性。如果您的站点只支持IPv4,这些客户端将体验到您的站点不可靠。这种情况下的用户比例将继续增长。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/707021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档