====== Туннели ======
**Туннель** - это механизм позволяющий объединить две удалённые и не связанные физически сети в единую логическую структуру.
Статические туннели используются для объединения нескольких локальных сетей в одну: например при объединении нескольких удалённых офисов в одну локальную сеть таким образом, чтобы пользователи одной сети могли обращаться к ресурсам других.
Туннели настраиваются на пограничных маршрутизаторах этих сетей и весь промежуточный трафик передаётся через интернет инкапсулированным в IP или GRE-пакеты.
В ИКС вы можете настроить подключение между серверами статическим туннелем по IPIP или GRE протоколу.
{{ .:tunnels_create.png?direct& }}
Обычно выбор типа туннеля зависит от промежуточных провайдеров, которые по каким-либо причинам могут блокировать траффик GRE или IPIP, что приводит к невозможности использования какого-то одного типа туннеля. Принципиальной разницы между этими типами туннелей нет.
|{{ .:tunnels_ipip.png?direct& }}|{{ .:tunnels_gre.png?direct& }}|
Настройки туннелей также не отличаются. Вам необходимо указать, на каком интерфейсе будет настроен данный туннель и прописать параметры маршрутизации:
- внешний адрес удаленного сервера
- адрес локальной сети
- адрес удаленной сети
Аналогичные настройки необходимо произвести на другом конце тоннеля.
**Важно:** для того, чтобы туннель работал корректно, необходимо, чтобы в межсетевом экране ИКС был разрешен GRE-трафик, а также разрешены входящие соединения с ip-адреса удаленного сервера.
===== IP Security =====
**IPsec ** (сокращение от IP Security) — набор протоколов для обеспечения защиты данных, передаваемых по межсетевому протоколу IP, позволяет осуществлять подтверждение подлинности и/или шифрование IP-пакетов.
{{ .:tunnels_ipsec.png?direct& }}
Защита передачи данным по туннелям позволяет избежать многих проблем, связанных с утечкой информации и получения ложных данных. Вы можете защитить туннельный трафик, перейдя на вкладку «Шифрование» и установив флажок «Использовать шифрование». После этого вы можете произвести необходимые настройки параметров.
**Внимание!** Данную процедуру необходимо произвести на обоих концах туннеля, в противном случае передача данных работать не будет.
**Внимание!** При использовании IPsec шифрования в туннелях IPIP и GRE трафик будет проходить через интерфейс **enc0**. Статистика на данном интерфейсе не собирается!
===== OpenVPN =====
**OpenVPN** - свободная реализация технологии VPN с открытым исходным кодом для создания зашифрованных каналов типа точка-точка или сервер-клиенты между компьютерами. Она позволяет устанавливать соединения между компьютерами, находящимися за NAT-firewall, без необходимости изменения их настроек.
{{ .:tunnels_openvpn.png?direct& }}
Система туннелей OpenVPN построена таким образом: что одна из машин выбирается сервером, в рамках "ИКС" настраивается OpenVPN-сеть; а все остальные - клиентами, в рамках "ИКС" OpenVPN туннели.
На сервере прописывается адресация пространства внутри OpenVPN-сети (рекомендуется оставить значение по умолчанию) и размещаются SSL-сертификаты, а на клиентах указывается внешний IP-адрес сервера. Также, указывается порт обмена данными, что позволяет подключаться к серверу, который находится за межсетевым экраном или NAT, при помощи перенаправления портов.
Чтобы прописать необходимые сертификаты от сервера клиентам, сделайте следующее:
1. На сервере необходимо создать [[.:openvpn_setup|OpenVPN-сеть]]
{{ .:tunnel_ovpn_server.png?direct& }}
2. Создать пользователя для подключения и открыть ему доступ в модуле OpenVPN
{{ .:tunnel_user_allow.png?direct& }}
3. Выгрузить сертификат в индивидуальном модуле пользователя, с расширением *.ovpn
{{ .:userdata_openvpn_1.png?direct& }}
4. Информацию из скаченного файла (*.ovpn) необходимо разбить на 3 файла (ca.crt, client.crt, client.key). В файл ca.crt поместить информацию содержащуюся между тегами . Аналогично и для файлов client.crt и client.key помещаем информацию между тегами и соответственно. Далее импортируем корневой сертификат, а затем клиентский с указанием ключа на клиентском сервере.
{{ .:tunnels_client_certs.png?direct& }}
5. После этого импортированные сертификаты можно будет выбрать на вкладке "Шифрование" при создании туннеля OpenVPN (поле "Ключ TLS авторизации" необходимо заполнить, содержимым файла *.ovpn, а именно информацией между тегами )
{{ .:tunnel_client_certs_select.png?direct& }}
===== Туннель IPsec =====
В ИКС можно настроить подключение между серверами IPsec-туннелем, в котором IPsec работает в туннельном режиме. Особенностью данного туннеля является то, что он считается активным только до тех пор, пока между локальными и удаленными сетями туннеля происходит обмен трафиком. При отсутствии такого трафика в течение 8 часов туннель объявляется неактивным, с соответствующим статусом туннеля (время можно задать в настройках шифрования).
Чтобы добавить туннель IPsec, выполните следующие действия:
1. Нажмите кнопку **«Добавить»** и выберите **«Сети > Туннели > Туннель IPsec»**.
{{ .:add_tunnel.png?nolink&1000x456 }}
2. На вкладке **«Общие настройки»** введите **название** туннеля.
3. Выберите **внешний интерфейс**.
4. Введите в соответствующих полях следующие **адреса**: внешний IP-адрес удаленного сервера, локальные сети, удаленные сети.
{{ .:tunnel_ipsec1.png?nolink&717x448 }}
5. На вкладке **«Настройки шифрования»** можно установить параметры шифрования IPsec.
**Внимание! Данную процедуру необходимо произвести на обоих концах туннеля, в противном случае передача данных работать не будет.**
{{ .:tunnel_ipsec2.png?nolink&675x645 }}
6. На вкладке **«Настройки мониторинга»** можно установить **флаги**:
* «Проверять наличие пинга внешнего IP-адреса удаленного сервера» — проверка, отвечает ли на ICMP-запросы внешний адрес удаленного сервера, который указан в общих настройках туннеля. Если пинг не будет проходить, в статусе туннеля отобразится соответствующее уведомление;
* «Проверять наличие пинга удаленной сети» — позволяет задать пинг до IP-адреса в удаленной сети с указанием в качестве источника IP-адрес ИКС из локальной сети. Таким образом, если пинг будет проходить успешно, статус туннеля всегда будет «Подключен». При установке флага выберите локальную сеть и введите IP-адрес удаленной локальной сети;
* «Проверять доступность серверов» — при установке флага укажите серверы, доступность которых будет проверяться.
По умолчанию все флаги сняты.
{{ .:tunnel_ipsec3-1.png?nolink&717x407 }}
7. Нажмите **«Добавить»** — новый туннель появится в списке.
8. Аналогичные настройки необходимо произвести на другом конце туннеля.
**Внимание! Для корректной работы туннеля необходимо, чтобы в межсетевом экране ИКС был разрешен трафик от внешнего удаленного адреса, а также разрешен трафик от локальных удаленных сетей, если это необходимо.**
**Важно! Удаленный сервер, с которым ИКС устанавливает соединение, не должен находиться за NAT, иначе соединение не будет работать. Данное ограничение будет устранено в ИКС версии 7.2.**
\\