我目前有点困惑如何为我的 LXC 配置配备 IPv6。该如何设置?
- Ubuntu 16.04 LTS
- 来自 Ubuntu PPA 的 LXC2-beta(具有 IPv6 连接功能)
- 我用的是网杯IPv6 设置
- 目前 IPv4 通过 eth0 上的 DNAT 进行路由,工作正常(**无桥头**)
- 我的主机在前缀::1/64 处获得了有效的 IPv6
我读了很多关于 IPv6 的文献,并了解如何使用多台虚拟机解决此问题,但仍然无法找到一个可行的、合理的设置。那么,我现在该怎么做才能让我的 LXC 机器与 IPv6 连接?
- 启用 IPv6 网络转发
- 任何一个
- 为每个容器分配 /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 子网。