IPv6 和 LXC 连接

IPv6 和 LXC 连接

我目前有点困惑如何为我的 LXC 配置配备 IPv6。该如何设置?

  • Ubuntu 16.04 LTS
  • 来自 Ubuntu PPA 的 LXC2-beta(具有 IPv6 连接功能)
  • 我用的是网杯IPv6 设置
  • 目前 IPv4 通过 eth0 上的 DNAT 进行路由,工作正常(**无桥头**
  • 我的主机在前缀::1/64 处获得了有效的 IPv6

我读了很多关于 IPv6 的文献,并了解如何使用多台虚拟机解决此问题,但仍然无法找到一个可行的、合理的设置。那么,我现在该怎么做才能让我的 LXC 机器与 IPv6 连接?

  1. 启用 IPv6 网络转发
  2. 任何一个
    • 为每个容器分配 /64 子网中的有效地址(这对我来说不起作用?)
    • 在前缀::1 处托管网关并使用(例如)radvd 进行自动配置(也不起作用)

答案1

您在 IPv6 上的外部访问可能被限制为单个 IP 地址。通常,您会获得一个或多个 /64 子网供内部使用。这些子网将由radvd您本地网络上的一个或多个服务器公布。您需要咨询您的 IP 提供商,了解要使用哪种机制以及为您分配了哪些子网。

如果 IPv6 客户端收到路由器通告,它们通常会自行配置。如果您需要某些服务器的静态 IPv6 地址,则需要自行配置这些地址。这可以通过 中的节来完成/etc/network/interfaces

请考虑使用防火墙构建器来shorewall6构建防火墙。它应该能够进行适当的内核配置调整以适当地转发您的流量。

答案2

在 IPv4 世界中,如果您只是将所有内容隐藏在 NAT 后面,那么这很好 - 这就是连接适用于 IPv4 地址的原因。

但正如您毫无疑问读到的,NAT 在 IPv6 世界中基本上不存在,因为为什么要存在呢?有大量可用的 IPv6 地址。

但是:如果您只被分配了一个 /64 子网,情况就会变得有点复杂,因为如果您尝试用它创建更小的子网,所有的东西都会被破坏。

首先SLAAC,这EUI-64是为具有非静态 IPv6 地址的客户端分配 IPv6 地址的新方法,并为网络接口构建了硬件地址。

长话短说:

您至少需要一个额外的 /64 子网路由到您的机器,您可以使用该子网为 LXC 服务器内的所有容器分配 ipv6 地址。

这应该不是什么大问题,因为公司可以轻松获得专用的 /48 子网,该子网可以分成 65536 个不同的 /64 子网,而且我看到有几家 ISP 至少向其客户家庭提供 /56 子网,该子网可以分成 256 个 /64 子网。

相关内容