Файл: Принципы маршрутизации и преобразования ipтрафика в vpnсети, созданной с использованием технологии ViPNet.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 04.12.2023

Просмотров: 71

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Узел автоматически определяет такой запрет и устанавливает с сервером соединений TCP-соединение (по умолчанию по порту 80), через которое передает сформированные UDP-пакеты. ViPNet-трафик для других узлов передается через это соединение на сервер соединений, откуда уже в обычном виде передается дальше. При настройке TCP-туннеля на сервере соединений может быть указан любой порт, на котором сервер будет принимать TCP-пакеты.



Если использование UDP-трафика невозможно, узел устанавливает соединение по протоколу TCP со своим сервером соединений и через него обменивается UDP-трафиком с другими узлами сети ViPNet   

2.3 Первоначальные настройки защищенной сети

Всю информацию, необходимую для взаимодействия приложений, узлы получают автоматически за счет работы протокола динамической маршрутизации VPN-трафика. Первоначальные настройки, которые нужно сделать при развертывании сети, минимальны:

  • В Центре управления сетью сформируйте структуру сети – клиенты, координаторы и их связи.

  • Задайте IP-адреса или DNS-имена для доступа к координаторам сети.

  • Клиенты ViPNet после инсталляции ПО в общем случае не требуют каких-либо настроек.

  • Для каждого координатора при необходимости задайте один из нескольких режимов подключения к внешней сети. Режим по умолчанию («Со статической трансляцией адресов») в большинстве случаев обеспечивает его работу без дополнительных настроек. Подробнее о задании режимов подключения на координаторе см. раздел «Варианты подключения координаторов к внешней сети».

  • На внешнем сетевом экране организации при необходимости настройте пропуск соответствующего протокола ViPNet (порты и адреса UDP- и/или TCP-протокола).

  • Для взаимодействия с требуемыми узлами других сетей ViPNet обменяйтесь некоторой первичной служебной информацией с администратором другой сети ViPNet. В дальнейшем такой обмен будет происходить автоматически.

3. Механизмы соединений в сети ViPNet 

3.1 Определение взаиморасположения узлов

Узлы по-разному устанавливают соединения, в зависимости от того, как они расположены по отношению друг к другу:

  • Находятся в одном широковещательном домене.

  • Находятся в одной маршрутизируемой сети, но в разных широковещательных доменах, то есть — разделены маршрутизирующими устройствами (в том числе со статической трансляцией адресов) и недоступны друг для друга по широковещательной рассылке.

  • Разделены NAT-устройствами с динамической трансляцией адресов.


При подключении к сети или изменении собственного IP-адреса узел выполняет специальную широковещательную рассылку и по ответам определяет, какие другие узлы ViPNet находятся с ним в одном широковещательном домене. Такие узлы регистрируют IP-адреса друг друга. Пакеты, отправляемые по этим адресам, шифруются и инкапсулируются в протокол IP/241.  

Для получения информации об узлах, недоступных в своем широковещательной домене, клиенты используют сервер IP-адресов, а для надежного первоначального соединения с ними используется сервер соединений, который владеет полным объемом информации о доступе к другим узлам.

3.2. Соединение двух узлов, которые подключаются к Интернету через устройства с динамическим NAT

Рассмотрим организацию соединений между двумя узлами, которые подключаются к сети Интернет через провайдера, предоставляющего доступ в Интернет в режиме динамического NAT. Например, Клиент 1 находится в гостинице в Лондоне, а Клиент 2 — в гостинице в Санкт-Петербурге:

1. При включении компьютера ПО ViPNet каждого из Клиентов определяет канал доступа к своему серверу соединений по UDP-протоколу (сервер соединений может быть и общий).

Если Клиенту 1 не удается соединиться со своим сервером соединений по UDP-протоколу, то Клиент устанавливает соединение по протоколу TCP (по умолчанию — порт 80, но можно установить и любой другой порт).

2. После подключения к серверу соединений клиент поддерживает соединение с ним путем периодической отправки на него тестовых IP-пакетов. Благодаря этому Клиент 1 предоставляет возможность другим узлам, в том числе и Клиенту 2, установить с ним инициативное соединение через свой сервер соединений. Интервал отправки IP-пакетов на сервер соединений по умолчанию равен 25 секундам. Этого, как правило, достаточно для работы через большинство устройств NAT. При необходимости интервал (тайм-аут) можно изменить.

3. Если от некоторого приложения на Клиенте 1 появляется целевой трафик в направлении Клиента 2 (например, VoIP), то Клиент 1 начинает передавать пакеты через свой сервер соединений. Сервер соединений, в свою очередь, пересылает эти пакеты на сервер соединений Клиента 2, а тот уже — самому Клиенту 2. Обратный трафик идет аналогичным маршрутом.

Если Клиент 1 соединяется со своим сервером соединений через TCP-соединение, то сервер соединений извлекает из TCP-соединения UDP-трафик (который по-прежнему зашифрован и недоступен для расшифрования на сервере соединений). Сервер передает UDP-трафик Клиенту 2 через его сервер соединений. Если Клиент 2 поддерживает связь со своим сервером соединений через TCP, то трафик, дойдя до сервера соединений Клиента 2, пойдет к Клиенту 2 через это TCP-соединение.



Таким образом, два клиента устанавливают связь друг с другом через два сервера соединений. Если клиент подключается к серверу соединений по UDP, то при благоприятной конфигурации сетевого окружения серверы соединений могут быть исключены из взаимодействия, то есть клиенты переходят к сообщению напрямую. Рассмотрим этот механизм:

1. Параллельно с началом передачи и приема целевого трафика по протоколу UDP через серверы соединений происходит следующее:

  • Оба клиента через серверы соединений передают друг другу тестовый пакет с информацией о параметрах прямого доступа к себе из внешней сети (адрес и порт), полученной от своего сервера соединений.

  • Оба клиента получают эти пакеты друг от друга и узнают о параметрах возможного прямого доступа друг к другу. Кроме того, каждый клиент также владеет информацией о доступе к серверу соединений другого клиента (эту информацию они получают заранее от своих серверов IP-адресов). Используя эти данные, оба клиента передают тестовые IP-пакеты напрямую на адреса и порты доступа друг к другу и к серверам соединений другой стороны. 

1. Если тестовый IP-пакет хотя бы одной из сторон сумел пройти напрямую через NAT-устройство другой стороны, то между узлами устанавливается прямое соединение. Доступность этого прямого соединения для обеих сторон сохраняется в течение 75 секунд после окончания передачи целевого трафика. После этого маршруты сбрасываются, а при необходимости установить соединение узлы опять начинают передачу трафика через свои серверы соединений.

Не все типы NAT позволяют установить прямое соединение (см. ниже). Прямое соединение возможно, если хотя бы у одной из сторон используется устройство NAT, позволяющее это сделать.

2. Если тестовые прямые IP-пакеты не дошли ни до одной из сторон, но дошли до сервера соединений другой стороны, то целевой трафик между двумя клиентами будет идти через один из серверов соединений. Доступность этого соединения также сохраняется для соединяющихся узлов в течение 75 секунд после окончания передачи целевого трафика. Аналогичная ситуация возникает, если один из клиентов подключается к своему серверу соединений через TCP. Этот сервер соединений не может быть исключен из передачи трафика, но может быть исключен другой сервер соединений, к которому его узел подключен по UDP.

3. Если тестовые пакеты никуда не дошли, то трафик между двумя узлами так и продолжит идти по длинному маршруту через два сервера соединений.




Начало взаимодействия клиентов за NAT-устройствами через серверы соединений и переход к взаимодействию напрямую

Существует четыре типа динамического NAT: Cone NAT, Address-Restricted cone NAT (или Restricted cone NAT), Port-Restricted cone NAT, Symmetric NAT. Установка прямого соединения не поддерживается только в случае, если оба NAT-устройства настроены для выполнения Symmetric NAT. В этом случае трафик будет идти через один из серверов соединений. Если хотя бы у одной стороны выполняется другой тип NAT, то прямое соединение будет установлено.

Таким образом, с удаленным узлом устанавливается либо прямое соединение, либо соединение через один из серверов соединений. Если существует возможность, узлы устанавливают взаимодействие друг с другом по кратчайшим маршрутам без участия их серверов соединений, за счет чего повышается скорость обмена шифрованным IP-трафиком и снижается нагрузка на координаторы. Если клиентам не удается установить более короткое соединение, то клиенты по-прежнему продолжают обмен между собой через свои серверы соединений.

3.3 Соединение узлов в одной маршрутизируемой сети

Если два клиента находятся в одной маршрутизируемой сети или разделены устройствами со статическим NAT, но недоступны друг для друга по широковещательной рассылке, первые пакеты они также отправляют через сервер соединений. После этого по описанному выше механизму (см. «Соединение двух узлов, которые подключаются к Интернету через устройства с динамическим NAT») такие узлы гарантированно переходят к общению напрямую, без участия сервера соединений. Последующие соединения два узла устанавливают в соответствии с сохраненной информацией о маршрутизации без участия сервера соединений напрямую.

 Узлы сохраняют информацию о маршрутизации пакетов друг для друга, которая не будет сброшена даже при отсутствии целевого трафика. Информация сбрасывается, только если узел будет отключен и затем заново подключен к сети.

3.4 Выбор сервера соединений для клиента, который перемещается в другую сеть ViPNet

Пользователь клиента или администратор сети может выбирать для клиента в качестве сервера соединений любой координатор, в том числе — координатор в другой сети ViPNet, с которой установлено межсетевое взаимодействие. Это бывает нужно, например, если клиент перемещается в локальную сеть, из которой доступ в Интернет возможен только через расположенный в этой локальной сети «чужой» координатор (координатор другой сети ViPNet). Условием возможности подключения через сервер соединений в другой сети является:


  • наличие межсетевого взаимодействия между сетью клиента и сетью сервера соединений;

  • связь «чужого» сервера соединений с координатором в «своей» сети, выполняющим для клиента роль сервера IP-адресов.

Задача сервера соединений — обеспечить соединения клиента с узлами, с которыми клиент связан. Для этого сервер соединений должен владеть информацией о возможных путях доступа к этим узлам, чтобы обеспечить маршрутизацию целевого трафика клиента. Однако в чужую сеть (сеть сервера соединений) информация о параметрах доступа к узлам других сетей может попасть, только если эти узлы связаны с какими-либо узлами этой чужой сети. Чаще всего это не так, и хотя бы некоторые (а возможно — и все) узлы, с которым связан клиент, и к которым клиенту может потребоваться доступ, не имеют связи с этой сетью. Зато информацией о доступе к этим узлам владеет сервер IP-адресов клиента в его сети. Сервер IP-адресов передает ее на клиент.  Получив эту информацию, клиент пересылает ее серверу соединений в чужой сети. В результате сервер соединений в чужой сети может выполнить маршрутизацию целевого трафика клиента для всех узлов, с которыми он связан. Клиент получает доступ ко всем ресурсам своей и других защищенных сетей, с которыми связан.

Если исходный сервер соединений клиента доступен из локальной сети, в которую переместился клиент, то необходимости менять сервер соединений не возникает.

4. Варианты подключения координаторов к внешней сети

Для координатора можно задать один из нескольких режимов подключения в внешней сети. Выбор режима зависит от того, отделен ли координатор от внешней сети внешним по отношению к координатору межсетевым экраном. Можно установить следующие режимы:

  • Режим подключения «Без использования межсетевого экрана».

  • Режим подключения «За координатором», при котором внешним межсетевым экраном является другой координатор.

  • Режим подключения через межсетевой экран «Со статической трансляцией адресов».

  • Режим подключения через межсетевой экран «С динамической трансляцией адресов».

По умолчанию координаторы устанавливаются в режим работы через межсетевой экран «Со статической трансляцией адресов». Режим можно изменить в управляющем приложении ViPNet Administrator или непосредственно на координаторе. Этот режим достаточно универсален и может использоваться в большинстве случаев.

4.1 Подключение координатора в режиме «Без использования межсетевого экрана»