В данной пошаговой инструкции описан способ реализации защищенного VPN соединения по протоколу L2TP через IPSec. Перед началом настойки удостоверьтесь, что у вас есть рабочее соединение с интернетом по какому-либо другому протоколу для установки требуемых пакетов. Возможность автономной установки пакетов в данной инструкции не рассматривается.
- Часть I. Настройка IPSec
- Часть II. Настройка L2TP на базе xl2tpd
- Часть III. Настройка L2TP на базе openl2tp
Часть I. Настройка IPSec
Протокол IPSec имеет два режима - транспортный и туннельный. Туннельный режим хорошо работает за NAT, но сложнее, чем транспортный. Сервер для туннельного режима доступен по адресу «svpn-ipsectunnel.mephi.ru» (85.143.112.49), и для транспортного, соответственно, «svpn-ipsectransport.mephi.ru» (85.143.112.48).
- Проверьте наличие поддержки IPSec в вашем ядре: Это можно сделать командой: , например, Если некоторые опции не поддерживаются, вам необходимо переконфигурировать ядро ОС.
- Установите пакеты:
- Откройте в Интернет-браузере ресурс «svpn.mephi.ru», выберите произвольный логин/пароль и сохраните сертификат. Выберите формат tar. Пусть, пользователь имеет логин omg.
- Далее, необходимо извлечь сертификаты стандарта X.509 из архива и переместить их в директорию /etc/racoon/certs:
- Откройте файл /etc/racoon/racoon.conf в текстовом редакторе и заполните его следующим содержимым:
- Откройте файл /etc/*ipsec-tools.conf в текстовом редакторе и заполните его следующим содержимым (случай туннельного режима): или (случай транспортного режима): Далее в тексте по умолчанию приведены примеры конфигурационных файлов и команд для туннельного режима. Для транспортного режима необходимо заменить адрес 85.143.112.49 на 85.143.112.48.
- Создайте сетевой интерфейс с натированием:
- Запустите демон:
Часть II. Настройка L2TP на базе XL2TPd
L2TP соединение в Fedora можно реализовать с использованием пакета xl2tpd, либо openl2tp. Рассмотрим эти случаи по очереди.
- Откройте терминал с правами суперпользователя (root). Если в вашей системе это запрещено из соображений безопасности, вам следует выполнять все действия с использованием утилиты sudo.
- Проверьте наличие поддержки PPP в вашем ядре: Это можно сделать командой: Если некоторые опции не поддерживаются, вам необходимо переконфигурировать ядро ОС.
- Проверьте наличие «ppp» устройства. При отсутствии его необходимо создать:
- Установите пакеты:
- Отправьте письмо с просьбой выдать логин/пароль для L2TP подключения на voip@mephi.ru. Пусть, вы получили логин foo и пароль bar (Не путайте с omg / smb !)
- Откройте в текстовом редакторе файл /etc/xl2tpd/xl2tpd.conf и допишите в конец:
- Создайте файл: со следующим содержимым:
- Откройте в текстовом редакторе файл «/etc/ppp/options», найдите строку «auth» и закомментируйте её.
- Допишите в конец файла «/etc/ppp/chap-secrets»:
- Проверьте, загружен ли у вас модуль ядра ppp-generic комaндой lsmod. Если нет, загрузите его
- Откройте в текстовом редакторе файл /etc/ppp/*ip-up и допишите перед exit 0:
- Запустите демон: После этого таблица маршрутизации должна выглядеть примерно так:
- Проверьте доступность удалённого PtP хоста: Если сервер доступен, то настройка соединения прошла успешно.
Часть III. Настройка L2TP на базе OpenL2TP
- Откройте терминал с правами суперпользователя (root). Если в вашей системе это запрещено из соображений безопасности, вам следует выполнять все действия с использованием утилиты sudo.
- Проверьте наличие поддержки PPP over L2TP в вашем ядре: Это можно сделать командой: , например, Если некоторые опции не поддерживаются, вам необходимо переконфигурировать ядро ОС.
- Проверьте наличие «ppp» устройства. При отсутствии его необходимо создать:
- Установите или обновите пакет OpenL2TP:
- Отправьте письмо с просьбой выдать логин/пароль для L2TP подключения на voip@mephi.ru. Пусть, вы получили логин foo и пароль bar (Не путайте с omg / smb !)
- Создайте файл «/etc/ppp/ip-up.d/mephivpn.sh»:
- Сделайте скрипт исполняемым:
- Запустите демон
- Запустите утилиту настройки OpenL2TP: Проверьте состояние соединения: Если в строке state: указано ESTABLISHED, то конфигурирование пакета прошло успешно. Сохраните файл с настройками: После этого таблица маршрутизации должна выглядеть примерно так:
- Проверьте доступность ptp сервера: Если сервер доступен, то настройка соединения прошла успешно.