====== Туннели ====== **Туннель** - это механизм позволяющий объединить две удалённые и не связанные физически сети в единую логическую структуру. Статические туннели используются для объединения нескольких локальных сетей в одну: например при объединении нескольких удалённых офисов в одну локальную сеть таким образом, чтобы пользователи одной сети могли обращаться к ресурсам других. Туннели настраиваются на пограничных маршрутизаторах этих сетей и весь промежуточный трафик передаётся через интернет инкапсулированным в 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.** \\