在欧洲获得 IPv6 连接和地址空间的最佳(最稳定、最快、易于设置)方式是什么?而且,为什么?
我正在从德国租用的服务器运行一个小型托管设备,并希望开始提供 IPv6 功能。
我已经看到SixXS在德国有很大的表现,但我想在与隧道经纪人合作之前听取更广泛的意见。
我的网络上设置了两个“路由器”类型的设备。
一个是我实际的 IPv6 路由器 - Cisco 2621 ( fe80::xxxx:3e60)。这是正确的默认路由器。
另一个是 DLINK DIR-615 ( fe80::xxxx:5760)。它支持 IPv6,但目前仅配置为链路本地寻址,因为它仅用作 WAP。
两个设备都在发送 ICMPv6 RA 消息,因此它们都被添加到我客户端的路由表中:
$ ip -f inet6 route | grep default
default via fe80::xxxx:3e60 dev wlan0 proto kernel metric 1024 expires 1741sec mtu 1500 advmss 1440 hoplimit 64
default via fe80::xxxx:5760 dev wlan0 proto kernel metric 1024 expires 1791sec mtu 1500 advmss 1440 hoplimit 64
Run Code Online (Sandbox Code Playgroud)
问题在于我的客户现在可以选择默认路由器。一个在途中愉快地发送数据包,另一个则没有。我可以删除不正确的路线,但它只会在下一个 RA 出现时重新添加。
fe80::xxxx:3e60 (正确的路由器)正在发送 RA,广告前缀为 2001:xxxx:xxxx::/64(我的网络)
fe80::xxxx:5760 (不正确的路由器)正在发送 RA,通告前缀为 fe80::/64(本地链路)
那么……这是谁的错?
fe80::xxxx:5760 用于在无法提供有效前缀时发送 RA?fe80::xxxx:5760 …我正在设置一些将使用 IPv6 运行虚拟机的服务器。网络拓扑是这样的,其中br0接口是虚拟的:
2001:db8:fedc:aaaa::/64
---+----------------------------------+---
| |
| eth0: 2001:db8:fedc:aaaa::1 | eth0: 2001:db8:fedc:aaaa::2
+----+----+ +----+----+
| server1 | | server2 |
+----+----+ +----+----+
| br0: 2001:db8:fedc:abcd::1 | br0: 2001:db8:fedc:cdef::1
| |
| VM network 1: | VM network 2:
| 2001:db8:fedc:abcd::/64 | 2001:db8:fedc:cdef::/64
+----+----+ +----+----+
| | | | | |
vm1 vm2 vm3 vm4 vm5 vm6
Run Code Online (Sandbox Code Playgroud)
我试图避免使用网络的默认网关将数据包从服务器中的虚拟机路由到另一台服务器中的虚拟机,因为对于许多主机,它会成为瓶颈。
然后的想法是让每个服务器向其他服务器通告一条到其自己的 VM 网络的路由。所以在上面的例子中,server1 会通告一条到 2001:db8:fedc:abcd::/64 的路由,server2 会通告一条到 2001:db8:fedc:cdef::/64 的路由。
我在 server1 的 radvd.conf 中有这个:
interface eth0 {
AdvSendAdvert on;
prefix …Run Code Online (Sandbox Code Playgroud) 我的网络设置非常简单:两台 win7-64 机器连接到一个交换机。为其网络接口启用了 IPv6。没有路由器没有外部网络没有DHCP。
ipconfig report for the computer shows that they obtain a link local ipv6 address:
machineA: Link-local IPv6 Address . . . . . : fe80::7d4a:a8f:2a:e190%10
machineB: Link-local IPv6 Address . . . . . : fe80::2506:6b8e:d161:adcb%11
Run Code Online (Sandbox Code Playgroud)
但是,当我使用以下语法从 machineB ping machineA 时,出现“目标主机无法访问”错误: ping fe80::7d4a:a8f:2a:e190 ping fe80::7d4a:a8f:2a:e190%11
注意:当我使用完全相同的配置使用 IPv4 地址 ping 时,同时我得到响应。
编辑:这是接口信息:
Interface List
11...78 2b cb 97 e0 a9 ......Intel(R) 82579LM Gigabit Network Connection
Run Code Online (Sandbox Code Playgroud) 背景:
现在,问题是 NBNS/WINS 不适用于 IPv6,因此没有名称解析。我可以 ping 文字 IPv6 地址(在来回读取/键入循环和大量眯眼以找到单个数字错误之后......),但仅此而已。我不能做任何名称解析。与 IPv4 不同,文字 IPv6 地址不实用。
有什么方法可以让不支持 IPv6 的应用程序继续在只有 IPv6 连接的主机上工作?
主机的 IPv4 实现可以知道这个问题,只需将 IPv4 地址封装在 IPv6 标头中(如 0::ffff:[ipv4]?),但是这些包在哪里转换为真正的 IPv4 数据包?
当前的操作系统是否已经为仅支持 IPv4 的应用程序提供了这种功能?提供商的 NAT64 或其他网关是否能够提供所需的功能?
如果提供商未使用 NAT64 的标准前缀 (64:FF9B::/96),则如何确定实际前缀?操作系统和网络堆栈会处理所有这些吗?
当应用程序已经知道 IPv6,但仍想与 IPv4 主机通信时,这是如何工作的?前缀在哪里确定,在网络堆栈中,还是应用程序必须处理?
如果互联网服务提供商/电信公司不采取行动,亚洲人和北美人将在互联网上分开。欧洲对 IPv6 的进展比北美快得多。目前有哪些解决方案可用,正在开发哪些解决方案?尤其是在北美。
我看到了用于配置内核路由表的ip和route命令。有什么不同?在我看来,ip命令更受欢迎。是这样吗,为什么?
我想设置一个 IPv6-in-IPv4 SIT 隧道服务器。我已经浏览了Ubuntu IPv6 wiki 页面,但所有内容都旨在作为客户端连接到隧道,而不是托管隧道。我想使用 6in4,因为它非常简单/通用,并且似乎可以毫无问题地协商大多数家用路由器/防火墙。
这将主要由我们的系统管理员人员使用,用于通过本地不支持的 DSL/Cable 连接从家里访问 IPv6。我想自己运行它的原因有两个:
这将由 5-10 个用户同时使用。
我拥有的可用作主机的设备:
提前致谢。
请允许我提前道歉。我知道这个问题已经被问过,并以一种或另一种方式在网上多次回答。问题是,所有的解决方案和答案有时都是矛盾的,最终只会让我感到困惑。我们的开发组要求我为他们在 AWS 中的实例配置 v6 访问权限。我通常不处理 DNS 的事情,所以我有点困惑。这是目标。IPv4 和 IPv6 访问 AWS 云中的服务器,这显然现在可以通过负载均衡器完成。这就是事情开始变得棘手的地方。这些域托管在 Dreamhost 上。谁能解释一下如何配置?您会认为这就像在 Dreamhost 中创建一个 A 和 AAAA 记录一样简单,指向 AWS 负载均衡器的 IPv4 和 IPv6 地址。请帮忙!谢谢!
作为旁注,我已经阅读了很多关于 Route 53 的内容,但看起来除非需要它才能使其正常工作,否则我们需要避免它。据我了解,它只是 AWS 的 DNS。我想避免将服务从 Dreamhost 转移出去。里面还有很多其他的东西。