![如何分配 IPv6 静态地址](https://linux22.com/image/153926/%E5%A6%82%E4%BD%95%E5%88%86%E9%85%8D%20IPv6%20%E9%9D%99%E6%80%81%E5%9C%B0%E5%9D%80%20.png)
我有几个 IPv6 设备(定制的 Linux)和我的开发机器(Fedora 30)。它们都连接到一个交换机。我可以通过串行端口登录到设备,即我可以与它们交谈。将来我需要能够通过 ssh 登录。如何为我的设备和机器分配静态地址?我的目标是建立一个类似于 IPv4 10.0.0.0/24、172.16.0.0/20 或 192.168.0.0/16 的专用网络。我在网上搜索但找不到任何简单的东西。有人可以向我指出他们之前使用过的指南,或者提供有关如何执行此操作的步骤吗?我找了好久,没有找到合适的。
答案1
链接本地地址(以 开头fe80::
)非常适合您的用例。它们是自动分配的——无需设置。
链路本地地址的唯一问题是所有链路本地地址都具有相同的前缀 ( fe80::/10
),因此目标地址不包含数据包应通过哪个接口传输的信息。因此,您需要将“范围 ID”附加到地址,例如fe80::12:34:56:78%eth0
。
为了解决这个问题,您可以使用 mDNS(多播 DNS)或 LLMNR(链路本地多播名称解析),它允许您使用名称而不是 IP 地址来寻址同一网络上的主机。该解决方案既解决了范围 ID 的问题,又解决了处理长 IPv6 地址的需要。
要使用 mDNS 或 LLMNR,您可以将 systemd-resolved 服务与 systemd-resolved 一起启用。 Systemd-resolved 包括用于链接本地名称解析(对于 mDNS 和/或 LLMNR)的客户端和响应程序。
另一种选择(但需要更多工作,而且有点过分,我认为)是使用唯一本地地址。看唯一的本地地址。