我有一个有趣的问题。我们的一个 ISP 开始在其网络上提供原生 IPv6。他们为我们提供了一个 /56 前缀和一个 /126 链接段(::1 是他们的端点,::2 是我们的端点)。但是,ISP 的 DSLAM 不支持邻居发现,因此他们要求我们提供路由器的 MAC 地址以手动输入到他们的邻居表中,并向我们提供了他们的 MAC 地址。
我们在路由器上使用 Mikrotik 的 RouterOS 5.2,但我们无法弄清楚如何做到这一点。对于 IPv4,这很简单,我们可以在 下创建映射/ip arp
,但对于 IPv6,邻居列表 ( /ip neighbor
) 似乎是只读的。
我们尝试解决这个问题,通过设置 fe80::link-local 地址以及 ISP 路由器的 EUI-64 编码的 MAC 地址,但是当我们向该目的地发送数据包时,RouterOS 仍然尝试使用 ND 解析该地址。
我问的是是否有办法创建静态映射 IPv6 地址 -> MAC 地址或直接创建到 MAC 地址和接口的路由,这样我们就可以停止使用隧道来满足我们的 IPv6 需求。
答案1
在 Linux 中执行此操作的正确方法是通过您提到的“ip neigh...”命令。 ipv6 子系统可能已删除部分功能以使操作系统更精简,但我无法发表评论,因为我没有专门运行过 RouterOS。
就像一次健全性检查一样,已登录的用户有能力执行需要 root 访问权限的其他命令,对吗?
答案2
Mikrotik 支持确认,从 5.18 版开始,这已无法实现。实际上没有任何解决方法,因此我们必须等待 Mikrotik 实现这一点。