Назад | Перейти на главную страницу

Маршрутизатор Ubuntu для соединения двух сетей через IPv6

В настоящее время я нахожусь в ситуации, когда хочу добавить одну сеть однородных узлов Linux к уже существующей сети Windows. По административным причинам узлы linux не будут добавляться к самой сети, а должны находиться за маршрутизатором.

По дополнительным административным причинам, только IPv6 должен маршрутизироваться в подсеть узлов Linux и из нее.

Маршрутизатор - это Ubuntu 14.04 TLS. Имеет два интерфейса, eth0 и eth1. Первый подключен к сети Windows (с префиксом 2001:4ca0:2e10:beef::/64). Второй подключен к сети linux (с префиксом 2001:4ca0:2e10:d00f::/64.)

Прямо сейчас пытаюсь настроить radvd для включения следующего:

  1. ping router с узлов linux,
  2. пингуют узлы с Linux-роутера,
  3. пинговать машины в сети Windows с узлов Linux,
  4. пинговать машины в сети Linux с узлов Windows.

Все только по IPv6. Я еще не смотрю на разрешение имен.

Я добавил следующее в /etc/radvd.conf что позволяет 1. и 2 .:

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

Это заставляет узлы Linux получать d00f IP, по которому они могут выйти на роутер.

Мое (ограниченное) понимание маршрутизации состоит в том, что я должен добавлять маршруты к интерфейсам, которые сообщают узлам за соответствующими интерфейсами, какие IP-адреса они могут достичь откуда. Таким образом, чтобы достичь beef из d00f Я добавляю в интерфейс маршрут, за которым d00f проживает. Приведенная выше конфигурация становится:

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

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

Я надеялся, что после перезапуска radvd, этот маршрут будет отображаться для узлов позади eth1 и они смогли связаться с остальной частью сети. Как-то не получается - что делаю не так?