我有以下设置
Linux1---------------Linux2------------------Linux3
(eth0) (eth1) (eth0) (eth0)
我在本地网络中有这个,即以太网电缆直接连接。我是第一次配置 IPV6 地址。我想Linux1(eth0)
成为Linux2(eth1)
一个,ipv6 subnet
并且Linux2(eth0)
成为Linux3(eth0)
一个不同的ipv6 subnet
。
经过此链接后,http://techxcellence.net/2011/05/09/v6-subnetting-made-easy/
我选择了以下内容
对于 Linux3 eth0
ifconfig eth0 add 2002:db8:c001:ba40::/58
对于 Linux 2 eth0
ifconfig eth0 add 2001:db8:c001:ba40::/58
我不确定这是否正确。目的是在同一个 ipv6 子网中拥有 2 个不同的 ipv6 地址。我猜我们可以更改前缀中的任何位。
我的理解正确吗?
另一个子网中的 ipv6 地址是
2002:db8:c001:ba00::/58 and 2001:db8:c001:ba00::/58?
答案1
划分子网时,您定义一个固定的开始地址前缀。然后,您可以将该前缀内的地址(因此具有相同的开头)提供给您的设备。所以你不使用2001:…
and 2002:…
,但你使用 eg2001:db8:c001:ba40::1
和2001:db8:c001:ba40::2
。
IPv6 中的子网始终是/64
. (好吧,在某些情况下,例如点对点和环回接口,您可能想使用其他东西,但现在让我们保持简单)这意味着地址的前 64 位是固定的,其余位(128 - 64 = 64) 可用于对您的设备进行编号。
您使用的地址(来自2001:db8::/32
)仅用于记录目的。要确定您可以使用哪些地址,您可以询问您的 ISP(如果您的 ISP 提供 IPv6)或生成 ULA 前缀(私有地址,无法在 Internet 上使用)。网站如六XS提供一个ULA发电机您可以使用。
您通常会得到一个/48
前缀。例如我的家庭网络有2a00:8640:1::/48
.这意味着我可以使用2a00:8640:1:0000::/64
to2a00:8640:1:ffff::/64
对我的子网进行编号。在构建如您的示例中所述的网络时,我可以执行以下操作:
- Linux1 eth0:
2a00:8640:1:a::1/64
- Linux2 eth1:
2a00:8640:1:a::2/64
- Linux2 eth0:
2a00:8640:1:b::1/64
- Linux3 eth0:
2a00:8640:1:b::2/64
您可以对自己的 IPv6 地址执行相同的操作。