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

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

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

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

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

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

  • Cisco ISR
  • Cisco ASA
  • Juniper MXs
  • Серверы Linux/Windows (в идеале это будет Ubuntu)

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

2 ответа

Решение

Если я не ошибаюсь, 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, хотя устройства будут генерироваться динамически) или Tinc (решает оба), или любые другие, способные инкапсулировать Ethernet (таким образом, IPv6) с устройствами ответвления.

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

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

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


Чтобы немного расширить ответ от Petrus. Я приведу нотацию 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...

Другие вопросы по тегам