Ubuntu 路由器通过 IPv6 连接两个网络

Ubuntu 路由器通过 IPv6 连接两个网络

我目前的情况是,我想将一个同质 Linux 节点网络添加到现有的 Windows 网络中。出于管理原因,Linux 节点不会添加到网络本身,但必须位于路由器后面。

出于进一步的管理原因,只有 IPv6 必须路由进出 Linux 节点的子网。

路由器是 ubuntu 14.04 TLS。它有两个接口,eth0eth1。第一个连接到 windows 网络(前缀为2001:4ca0:2e10:beef::/64)。第二个连接到 linux 网络(前缀为2001:4ca0:2e10:d00f::/64)。

现在,我正在尝试配置radvd以启用以下功能:

  1. 从 Linux 节点 ping 路由器,
  2. 从 Linux 路由器 ping 节点,
  3. 从 Linux 节点 ping Windows 网络中的机器,
  4. 从 Windows 节点 ping Linux 网络中的机器。

一切都仅通过 IPv6。我还没有考虑名称解析。

我添加了以下内容以/etc/radvd.conf启用 1. 和 2.:

interface eth1
{
   AdvSendAdvert on;
   prefix 2001:4ca0:2e10:d00f::/64
   {
        AdvOnLink on;
        AdvAutonomous on;
   };
};

这使得 Linux 节点获得一个d00fIP,通过该 IP 可以访问路由器。

我对路由的理解(有限)是,我必须向接口添加路由,这些路由会告诉相应接口后面的节点它们可以从哪里到达哪些 IP。因此,为了从哪个接口到达,beefd00f向其后面的接口添加了一条路由d00f。上述配置变为:

interface eth1
{
   AdvSendAdvert on;
   prefix 2001:4ca0:2e10:d00f::/64
   {
        AdvOnLink on;
        AdvAutonomous on;
   };

   route 2001:4ca0:2e10:beef::/64
   {
   };
};

我希望在重启后radvd,后面的节点能够看到该路由eth1,并且它们能够到达网络的其余部分。但不知为何却没有——我做错了什么?

相关内容