Перейти к содержанию

Настройка OpenVPN c IPv6 адресами внутри туннеля#

Описание решаемой задачи#

Система конфигурации Numa Edge позволяет настроить OpenVPN туннель поверх IPv6-адресов, однако внутри туннеля через стандартные атрибуты можно указать только IPv4-адреса. Данное ограничение связано с тем, что запрещено использование "чистого" IPv6 для OpenVPN, то есть когда IPv6 используется и для адресов, на которых строится VPN, так и внутри туннеля. При этом существует возможность указать одновременное использование IPv6 и IPv4-адресов внутри туннеля с помощью атрибута openvpn-options. Далее будут приведены примеры конфигурации для режимов client-server и site-to-site.

Описание схемы#

Пусть имеется следующая схема с двумя Numa Edge, которые соединены между собой интерфейсами eth1.

1

Схема подключения Numa Edge для настройки OpenVPN поверх IPv6

IP-адресация, используемая в данной схеме следующая:

  • NumaEdge1,eth1-- fd00::1/64
  • NumaEdge2,eth1-- fd00::2/64

Режим site-to-site#

Начальная конфигурация#

Начальная конфигурация OpenVPN для режима site-to-site следующая:

Пример NumaEdge1 - пассивная сторона

1
2
3
4
5
6
7
8
9
set interfaces openvpn vtun1 local-host 'fd00::1'
set interfaces openvpn vtun1 local-address '10.0.0.1'
set interfaces openvpn vtun1 remote-address '10.0.0.2'
set interfaces openvpn vtun1 mode 'site-to-site'
set interfaces openvpn vtun1 protocol 'tcp6-passive'
set interfaces openvpn vtun1 tls dh-param-numbits '2048'
set interfaces openvpn vtun1 tls role 'passive'
set interfaces openvpn vtun1 tls verify 'crl'
set interfaces openvpn vtun1 tls x509-cert 'srv'

Пример NumaEdge2 - активная сторона

1
2
3
4
5
6
7
8
9
set interfaces openvpn vtun1 remote-host 'fd00::1'
set interfaces openvpn vtun1 local-address '10.0.0.2'
set interfaces openvpn vtun1 mode 'site-to-site'
set interfaces openvpn vtun1 protocol 'tcp6-active'
set interfaces openvpn vtun1 remote-address '10.0.0.1'
set interfaces openvpn vtun1 tls dh-param-numbits '2048'
set interfaces openvpn vtun1 tls role 'active'
set interfaces openvpn vtun1 tls verify 'crl'
set interfaces openvpn vtun1 tls x509-cert 'c1'

Стоит обратить внимание, что для пассивной стороны (NumaEdge1) в атрибуте proto указывается значение tcp6-passive, а для активной (NumaEdge2) -- tcp6-active, которые специфичны для IPv6-протокола.

В результате OpenVPN соединение поверх IPv6-адресов устанавливается, но внутри OpenVPN туннеля используются IPv4-адреса согласно заданным значениям атрибутов local-address и remote-address.

Пример - Просмотр OpenVPN интерфейсов на NumaEdge1

1
2
3
admin@edge1:~$ show interfaces openvpn 
Interface    IP Address         State       Link   Description
vtun1        10.0.0.1           up

Пример - Просмотр OpenVPN интерфейсов на NumaEdge2

1
2
3
admin@edge2:~$ show interfaces openvpn 
Interface    IP Address         State       Link   Description
vtun1        10.0.0.2           up          up     

Требуемые изменения#

Для режима site-to-site необходимо добавить опцию ifconfig-ipv6, где в качестве первого значения необходимо указать IPv6-адрес на локальной стороне туннеля, а вторым значением – удаленной стороны:

  • NumaEdge1: локальная сторона = aaaa::1, удаленная сторона = aaaa::2
  • NumaEdge2: локальная сторона = aaaa::2, удаленная сторона = aaaa::1#

Пример - Добавление опции ifconfig-ipv6 на NumaEdge1

set interfaces openvpn vtun1 openvpn-option '--ifconfig-ipv6 aaaa::1 aaaa::2'

Пример - Добавление опции ifconfig-ipv6 на NumaEdge2

set interfaces openvpn vtun1 openvpn-option '--ifconfig-ipv6 aaaa::2 aaaa::1'

Результат#

После применения требуемой конфигурации, на устройствах NumaEdge1 и NumaEdge2 внутри OpenVPN туннеля используются как IPv4, так и IPv6-адреса Пример - Просмотр OpenVPN интерфейсов на NumaEdge1

1
2
3
4
5
admin@edge1:~$ show interfaces openvpn 
Interface    IP Address         State       Link   Description
vtun1        10.0.0.1           up          up
vtun1        aaaa::1/64         up          up
admin@edge1:~$ 

Пример - Просмотр OpenVPN интерфейсов на NumaEdge2

1
2
3
4
admin@edge2:~$ show interfaces openvpn 
Interface    IP Address         State       Link   Description
vtun1        10.0.0.2           up          up
vtun1        aaaa::2/64         up          up

Режим client-server#

Начальная конфигурация#

Начальная конфигурация OpenVPN для режима client-server следующая: Пример - NumaEdge1 - сервер

1
2
3
4
5
6
7
8
set interfaces openvpn vtun1 local-host 'fd00::1'
set interfaces openvpn vtun1 server subnet '192.168.0.0/24'
set interfaces openvpn vtun1 mode 'server'
set interfaces openvpn vtun1 protocol 'tcp6-passive'
set interfaces openvpn vtun1 server topology 'subnet'
set interfaces openvpn vtun1 tls dh-param-numbits '2048'
set interfaces openvpn vtun1 tls verify 'crl'
set interfaces openvpn vtun1 tls x509-cert 'srv'

Пример - NumaEdge2 - клиент

1
2
3
4
5
6
set interfaces openvpn vtun1 remote-host 'fd00::1'
set interfaces openvpn vtun1 mode 'client'
set interfaces openvpn vtun1 protocol 'tcp6-active'
set interfaces openvpn vtun1 tls dh-param-numbits '2048'
set interfaces openvpn vtun1 tls verify 'crl'
set interfaces openvpn vtun1 tls x509-cert 'c1'

После установления OpenVPN соединения, на сервере устанавливается первый адрес из диапазона, указанного в атрибуте server subnet, а клиенту назначается свободный адрес из этого диапазона.

Пример - Просмотр OpenVPN интерфейсов на NumaEdge1

1
2
3
admin@edge1:~$ show interfaces openvpn 
Interface    IP Address         State       Link   Description
vtun1        192.168.0.1/24     up          up

Пример - Просмотр OpenVPN интерфейсов на NumaEdge2

1
2
3
admin@edge2:~$  show interfaces openvpn 
Interface    IP Address         State       Link   Description
vtun1        192.168.0.2/24     up          up     

Требуемые изменения#

Для режима client-server на сервере необходимо указать еще одну подсеть из диапазона IPv6 с помощью опции --server-ipv6. Обратите внимание, что маска подсети должна быть в диапазоне от /64 до /112.

Пример - Добавление опции server-ipv6 на NumaEdge1

set interfaces openvpn vtun1 openvpn-option '--server-ipv6 aaaa::/110'

Результат#

После применения требуемой конфигурации, на устройствах NumaEdge1 и NumaEdge2 внутри OpenVPN туннеля используются как IPv4, так и IPv6-адреса

Пример - Просмотр OpenVPN интерфейсов на NumaEdge2

1
2
3
4
admin@edge1:~$ show interfaces openvpn 
Interface    IP Address         State       Link   Description
vtun1        192.168.0.1/24     up          up
vtun1        aaaa::1/110        up          up

Пример - Просмотр OpenVPN интерфейсов на NumaEdge2

admin@edge2:~$ show interfaces openvpn Interface IP Address State Link Description vtun1 192.168.0.2/24 up up vtun1 aaaa::1000/110 up up