The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

FreeBSD IPSEC: Racoon + сертификаты X.509 (freebsd ipsec racoon cert tunnel x509 crypt)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: freebsd, ipsec, racoon, cert, tunnel, x509, crypt,  (найти похожие документы)
From: Михаил Сгибнев <mixa(@).dreamcatcher.ru> Date: 2006-09-12 10:45:15 Subject: FreeBSD IPSEC: Racoon + сертификаты X.509
by Alex C. Jokela (alex@camulus.com)

Перевод: Сгибнев Михаил

Введение

Это краткое руководство описывает процесс настройки racoon на использование сертификатов X.509 вместо предопределенных ключей.

Сертификаты

Создание CA

Прежде всего, стоит загрузить несколько файлов с одного из указанных мест: На всякий случай, копии файлов привожу в Приложении А.

После загрузки Makefile и openssl.cnf, вероятнее всего, потребуется редактирование файла openssl.cnf для того, чтобы изменить имена ответственных лиц и наименование организации. Также стоит поместить их в отдельный каталог, например, ssl.

После редактирования openssl.cnf, выполните: Если вам интересно, то make init делает следующее:

Создание сертификата X.509

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

Сгенерируем частный ключ: Генерируем сертификат: Используем Makefile: Теперь у нас имеется подписанный нами же сертификат X.509. Необходимо повторить эти действия для всех имеющихся у нас машин.

Если одолело любопытство по поводу того, что делает make sign, то это следущее:

Создаем туннель

Для примера, мы будем использовать фиктивные IP адреса 3.3.3.3 и 4.4.4.4 вместо "реальных" IP. Для наших туннельных оконечных точек, мы будем использовать 10.1.1.1 на машине 3.3.3.3 и 10.1.2.1 на машине 4.4.4.4.

На машине 3.3.3.3: Соответственно, необходимо прописать и на машине 4.4.4.4.

Маршрутизация

В этом примере, мы имеем две конечные точки нашего туннеля. Пусть одной из них будет вторичный сервер DNS, а второй точкой будет маршрутизатор, на котором выполняется NAT для локальной сети. Естественным нашим желанием будет обеспечить доступность DNS сервера из локальной сети, для чего на нем (имеющем адрес 4.4.4.4) необходимо выполнить: Возможно, вам придется изменить префикс, например, для большого количества сетей используются сети 192.168.х.х . Больше никаких маршрутов прописывать нигде не придется, так как NAT у нас уже сконфигурирован необходимым образом на маршрутизацию пакетов из внутренней сети.

Проверка туннеля перед использованием IPSEC

Нижеследущее предполагает наличие разрешающих правил на пакетном фильтре. Вам необходимо разрешить пакеты IP-в-IP (в /etc/protocols это ipencap). С DNS сервера (4.4.4.4) выполняем: И, соответственно, с ping 172.16.0.100: Если что-то не работает, то давайте подумаем, где мы могли совершить ошибку. Отталкивайтесь от следующего:
  1. Вы правильно сконфигурировали интерфейс gif?
  2. Вы прописали статический маршрут на сервере DNS?

IPSEC

Конфигурация ядра

Для шифрования пакетов нам необходима поддержка IPSEC на уровне ядра. Удостовериться в этом и добавить, при необходимости, можно, имея исходные тексты ядра.

Скопируем файл конфгурации ядра GENERIC под некоторым именем: Добавим в файл следущие строки: Компилируем и устанавливаем новое ядро:

Конфигурация Racoon для использования сертификатов X.509

Сначала, необходимо перенести сертификаты (ca-cert.pem, hostX.key, hostX.cert) на машину, на которой они будут находиться, в каталог /usr/local/etc/racoon/cert. Внесите соответствующие изменения в racoon.conf и замените адреса удаленных точек, на используемые вами. Нижеследущая конфигурация используется на машине с NAT: Убедитесь, что прописан правильный путь к сертификатам: Укажем racoon, где находится сетрификат CA, ca-cert.pem:

Создаем записи SPD

В заключение, нам необходимо создать правила IPSEC, которые будут передаваться ядру. Прописать их надо на каждом конце туннеля. Вот что должно быть помещено в /etc/ipsec.conf:

Запуск IPSEC из /etc/rc.conf

Для второй машины просто измените IP адреса.

Приложения

Библиография

Приложение А


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

Обсуждение [ RSS ]
  • 1, yatugay (?), 11:32, 19/06/2007 [ответить]  
  • +/
    И для чего тунель в тунеле ? непонятно
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру