Инструменты пользователя

Инструменты сайта


os:linux:ipsec:nastrojka_racoon

Настройка racoon

Версия: Linux 2.6.22-vs2.2.0.7, ipsec-tools-0.7.1.

Условия

Допустим, у нас есть две подсети: 192.168.1.0/24 и 192.168.2.0/24. Шлюзы в них 192.168.1.1 и 192.168.2.1 соответственно. Допустим также, что маршрутизация между ними настроена.

Задачу поставим создать IPsec-туннель между этими сетями.

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

/etc/ipsec.conf:

#!/usr/sbin/setkey -f

flush;
spdflush;

spdadd 192.168.1.0/24 192.168.2.0/24 any -P out ipsec
         esp/transport/192.168.1.1-192.168.2.1/require;
spdadd 192.168.2.0/24 192.168.1.0/24 any -P in ipsec
         esp/transport/192.168.2.1-192.168.1.1/require;

/etc/racoon/racoon.conf:

log warning;
path pre_shared_key "/etc/racoon/psk.txt";

padding
{
    maximum_length 20;
    randomize off;
    strict_check off;
    exclusive_tail off;
}

listen
{
    isakmp 192.168.1.1 [500];
}

timer
{
    counter 5;
    interval 20 sec;
    persend 1;
    phase1 90sec;
    phase2 90sec;
}

remote 192.168.2.1
{
    my_identifier address 192.168.1.1;
    exchange_mode main;
    initial_contact off;
    lifetime time 28800 sec;
    proposal {
        encryption_algorithm des;
        hash_algorithm md5;
        authentication_method pre_shared_key;
        dh_group 1;
    }
}

sainfo address 192.168.1.0/24 any address 192.168.2.0/24 any
{
    pfs_group 1;
    ecnryption_algorithm des;
    authentication_algorithm hmac_md5;
    lifetime time 28800 sec;
    compression_algorithm deflate;
}

/etc/racoon/psk.txt:

192.168.2.1 <укажите_здесь_выбранный_выми_пароль>

На втором сервере насройки почти такие же - меняются местами только адреса сетей: там, где указано 192.168.1.0 надо заменить на 192.168.2.0, и наоборот, 192.168.2.0 заменить на 192.168.1.0.

N.B. На обоих шлюзах должно быть разрешение соединяться другому шлюзу на 500 порт TCP.

Дискуссия

Стас Дёгтев, 26.03.2010 12:40

Что-то я не понял. 192.168.2.1 и 192.168.1.1 между собой как соединены?

Blake-R, 26.03.2010 12:48

В-принципе, чем угодно. Wi-Fi, кабель и пр. Главное, чтобы они могли видеть друг друга.

Стас Дёгтев, 26.03.2010 14:42

Надо понимать так, что между ними соединение точка-точка с интерфейсами без присвоения адресов, и это очень похоже на рассмотрение «сферически-коневой» ситуации: если покупается/прокладывается выделенная линия, это либо уже защищённый канал, либо там есть своя адресация.

В реальности типичная конфигурация другая: каждый маршрутизатор вторым интерфейсом включен в публичную сеть, и именно между этими интерфейсами идёт шифрование. Собственно говоря, все учебники такую ситуацию и описывают, только я не нашёл готового решения для используемого мной ныне дистрибутива Linux Debian.

Blake-R, 27.03.2010 11:56

Отнюдь. В моём случае между двумя шлюзами был интернет-провайдер с незащищённой локальной сетью. Поэтому и понадобилось шифрование - нам не надо, чтобы кто-нибудь мог вклиниться в наши пакеты.

Стас Дёгтев, 27.03.2010 13:30

В таком случае у каждого шлюза был и второй адрес. Тут уже возможны варианты: либо транспорт через реальные интерфейсы (раз уж они в одной подсети), либо завернуть пакеты в GRE и шифровать (опять же транспорт), либо завернуть в туннель. Эти тонкости в конфигурации очень даже стоило указать.

Похоже, у вас описан именно первый вариант (транспортный режим IPSec при прямом марщруте между хостами), но этот режим позволяет соседям увидеть структуру ваших внутренних сетей, а при желании - и вычислить машины для атаки.

Я свою задачу уже решил - там на «дальнем» конце было сделано в RedHat «тупо по how-to» в автоматическом режиме и в setkey устанавливались туннели не только esp, но и ah.

Enter your comment
 
os/linux/ipsec/nastrojka_racoon.txt · Последние изменения: 16.11.2009 20:26 (внешнее изменение)

Инструменты страницы