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

Настройте туннельный сервер 6in4

Я хочу настроить туннельный сервер SIT IPv6-in-IPv4. Я прочесал Вики-страница Ubuntu IPv6 но все ориентировано на подключение к туннелю в качестве клиента, а не на его хостинг. Я хотел бы использовать 6in4, поскольку он довольно простой / универсальный и, кажется, без проблем работает с большинством домашних маршрутизаторов / межсетевых экранов.

Это будет в первую очередь использоваться нашими сотрудниками системных администраторов для доступа к IPv6 из дома по DSL / кабельным соединениям, которые изначально его не поддерживают. Причина, по которой я хотел бы запустить это сам, двоякая:

  1. Я считаю, что туннели, подобные Hurricane Electric, довольно медленны и иногда ненадежны.
  2. Мне не нравится идея прохождения нашего трафика через сеть HE. У нас есть собственная основная транзитная сеть и выделение IPv6 от RIPE, так что мы тоже можем использовать это!

Это будет использоваться 5-10 пользователями одновременно.

В моем распоряжении есть оборудование, которое можно использовать в качестве хоста:

Заранее спасибо.

Если не ошибаюсь, SIT симметрична: с обеих сторон выполняется одно и то же.

Конфигурация должна быть довольно простой:

Cisco IOS:

interface Tunnel0
 description 6in4 to <client>
 no ip address
 ipv6 enable
 ipv6 address 2001:db8:::1/64
 tunnel source <local ipv4>
 tunnel destination <client ipv4 addr>
 tunnel mode ipv6ip

Можжевельник JunOS

interfaces {
   ip-0/1/0 {
      unit 0 {
         tunnel {
            source <local ipv4>;
            destination <client ipv4 addr>;
         }
         family inet6 {
            address 2001:db8::1/64;
         }
      }
   }
}

Linux iproute2:

ip tunnel add tun-6in4 mode sit remote <client ipv4 addr> local <local ipv4> 
ip link set tun-6in4  up
ip addr add 2001:db8:::1/64 dev tun-6in4

У меня нет опыта настройки ASA, но это тоже возможно.

Однако у 6in4 есть несколько недостатков:

  • N туннелей на узловом узле для N одноранговых узлов

  • Нет простого способа обновить одноранговый IP-адрес для клиентов с динамическим IP-адресом.

Возможно, вы захотите взглянуть на динамические технологии VPN, такие как OpenVPN (решает проблему №2, хотя устройства будут генерироваться динамически) или олово (решает оба) или любой другой, способный инкапсулировать Ethernet (например, IPv6) с устройствами ответвления.

Предоставление сотрудникам интернет-провайдера домашнего подключения к IPv6 - это очень важный.

6in4 является симметричным, поэтому вы настраиваете туннель одинаково на обоих концах (формируя между ними виртуальный «кабель»). Затем маршрутизация выполняется как обычно: «клиентская» сторона использует туннель в качестве шлюза по умолчанию, а «сервер» направляет префиксы по соответствующему туннелю. Этот последний бит может потребовать некоторого (ручного или автоматического) перераспределения маршрутов.

На Cisco IOS redistribute static в конфигурации вашего протокола маршрутизации - это простой способ сделать это, но вы можете захотеть отфильтровать перераспределение. Обычно я перераспределяю «клиентские» маршруты в BGP. Он поддерживает чистоту IGP (например, ISIS или OSPF), что помогает ускорить конвергенцию вашего ядра после прерывания связи или сбоя. А BGP предлагает гораздо лучшие параметры фильтрации. Например, прикрепляя сообщества к перераспределенным маршрутам.


Чтобы немного расширить ответ, данный Петрусом. Я дам обозначение Cisco, но это будет работать в других операционных системах примерно так же.

Вы можете иметь нумерованные и ненумерованные ссылки. Пронумерованные ссылки могут облегчить отладку, но несколько усложнят ваш план адресации. В обоих случаях вам придется делегировать пользователю немного адресного пространства. Адреса по ссылке используются только на ссылка, и у пользователя, вероятно, также должны быть адреса для сетей за ссылкой. Итак, маршрут а /56 или /48 по ссылке.


Начнем с ненумерованной ссылки. Создайте ссылку с помощью ipv6 enable для создания локальных адресов для ссылки. Что-то вроде этого на стороне «сервера»:

interface Tunnel1
 description 6in4 to <client-1>
 no ip address
 ipv6 enable
 tunnel source <local ipv4>
 tunnel destination <client-1 ipv4 addr>
 tunnel mode ipv6ip

interface Tunnel2
 description 6in4 to <client-2>
 no ip address
 ipv6 enable
 tunnel source <local ipv4>
 tunnel destination <client-2 ipv4 addr>
 tunnel mode ipv6ip

ipv6 route 2001:db8:a001::/48 Tunnel 1
ipv6 route 2001:db8:a002::/48 Tunnel 2

router bgp 65530
 address-family ipv6
  redistribute static

А на «клиентской» стороне:

interface Tunnel1
 description 6in4 to <server>
 no ip address
 ipv6 enable
 tunnel source <client-1 ipv4>
 tunnel destination <server ipv4 addr>
 tunnel mode ipv6ip

interface FastEthernet0/0
 ipv6 address 2001:db8:a001:1::1/64

ipv6 route ::/0 Tunnel 1

И теперь точно так же с пронумерованными ссылками. Преимущество состоит в том, что вы можете легко пропинговать другую конечную точку туннеля. Что-то вроде этого на стороне «сервера»:

interface Tunnel1
 description 6in4 to <client-1>
 no ip address
 ipv6 address 2001:db8:0:a001::1/64
 tunnel source <local ipv4>
 tunnel destination <client-1 ipv4 addr>
 tunnel mode ipv6ip

interface Tunnel2
 description 6in4 to <client-2>
 no ip address
 ipv6 address 2001:db8:0:a002::1/64
 tunnel source <local ipv4>
 tunnel destination <client-2 ipv4 addr>
 tunnel mode ipv6ip

ipv6 route 2001:db8:a001::/48 2001:db8:0:a001::2
ipv6 route 2001:db8:a002::/48 2001:db8:0:a002::2

router bgp 65530
 address-family ipv6
  redistribute static
  redistribute connected

А на «клиентской» стороне:

interface Tunnel1
 description 6in4 to <server>
 no ip address
 ipv6 address 2001:db8:0:a001::2/64
 tunnel source <client-1 ipv4>
 tunnel destination <server ipv4 addr>
 tunnel mode ipv6ip

interface FastEthernet0/0
 ipv6 address 2001:db8:a001:1::1/64

ipv6 route ::/0 2001:db8:0:a001::1

я выбираю 2001:db8:0:a001::/64 для соединения точка-точка, связанного с делегированием 2001:db8:a001::/48 для удобства. Вы можете выбрать любой префикс, который вам нравится, но сохранение узнаваемости объектов с адресным пространством размером с IPv6 может помочь ...