Документация по ОС FreeBSD Пятница, 26.04.2024, 14:15
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » Безопасность

IP-in-IP тунель с IPSEC между CISCO и FreeBSD [2009]
Захотелось вставить свои 5коп. в тему поднятия шифрованых IPSEC'ом тунелей между CISCO роутерами и FreeBSD, потому как тема описывалась уже не один раз, но в большинстве статей встречались неточности которые иногда просто противоречили здравому смыслу.

Итак имеем:

1. Маршрутизатор Cisco 2801 с прошивкой c2801-advipservicesk9-mz.124-23.bin и реальным IP 1.1.1.1
2. Маршрутизатор FreeBSD 7.1 с установленым ipsec-tools-0.7.1 и реальным IP 2.2.2.2

1. Конфигурация на роутере Cisco:

crypto isakmp policy 1
encr aes
authentication pre-share
group 2
lifetime 3600
crypto isakmp key SECRETKEY address 2.2.2.2
!
!
crypto ipsec transform-set AES-SHA1 esp-aes esp-sha-hmac
!
!
crypto map CENTRAL 1 ipsec-isakmp
set peer 2.2.2.2
set transform-set AES-SHA1
set pfs group2
match address 101
!
access-list 101 permit ipinip host 1.1.1.1 host 2.2.2.2
!
interface Tunnel0
ip address 10.10.10.253 255.255.255.252
tunnel source 1.1.1.1
tunnel destination 2.2.2.2
tunnel mode ipip
!
interface FastEthernet0/0
ip address 1.1.1.1 255.255.255.252
duplex auto
speed auto
crypto map CENTRAL
!

2. Конфигурация на ротере с FreeBSD:

Описывать конфигурацию ядра для gif-тунелей и IPSEC'а не буду, так как тема уже избитая (для тех кто не в теме - загляните в HandBook в конце концов!)

rc.conf:

        ifconfig_age0="inet 2.2.2.2 netmask 255.255.255.252"

        gif_interfaces="gif0"
        gifconfig_gif0="2.2.2.2 1.1.1.1"
        ifconfig_gif0="inet 10.10.10.254 10.10.10.253 netmask 255.255.255.252 mtu 1280"

        ipsec_enable="YES"
        ipsec_file="/usr/local/etc/racoon/ipsec.conf"
        racoon_enable="YES"
        racoon_flags="-l /var/log/racoon.log"

racoon.conf:

        path    pre_shared_key  "/usr/local/etc/racoon/psk.txt";
        log     info;
       
        padding
        {
                maximum_length  20;
                randomize       off;
                strict_check    off;
                exclusive_tail  off;
        }

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

        listen
        {
                isakmp          2.2.2.2 [500];
        }

        remote  1.1.1.1 [500]
        {
                exchange_mode                   main;
                doi                             ipsec_doi;
                situation                       identity_only;
                lifetime                        time 1 hour;
                nonce_size                      16;
                initial_contact on;
                support_proxy on;
                proposal_check obey;
                proposal {
                        encryption_algorithm    aes;
                        hash_algorithm          sha1;
                        authentication_method   pre_shared_key;
                        dh_group                2;
                        }
        }

        sainfo  anonymous
        {
                pfs_group                       2;
                lifetime                        time 1 hour;
                encryption_algorithm            aes;
                authentication_algorithm        hmac_sha1;
                compression_algorithm           deflate;
        }

psk.txt:

        1.1.1.1 SECRETKEY

ipsec.conf:

        flush;
        spdflush;

        spdadd 2.2.2.2/32 1.1.1.1/32 ipencap -P out ipsec
         esp/tunnel/2.2.2.2-1.1.1.1/require;
        spdadd 1.1.1.1/32 2.2.2.2/32 ipencap -P in ipsec
         esp/tunnel/1.1.1.1-2.2.2.2/require;

Хочу отметить что в этом примере шифруется только инкапсулированый IP-in-IP трафик, то есть если вдруг возникнут сбои с согласованием шифрования, а возможность того что с первого раза может и не получится всё-таки есть, достучаться до роутера по SSH на реальный IP у вас получится ;)

Ссылки:

http://www.cisco.com/en/US/docs/ios/12_3t/12_3t14/feature/guide/gtIPSctm.html
http://www.freebsd.org/doc/en/books/handbook/ipsec.html

И ещё хотелось поблагодарить mik с unix.org.ua за ответы на форуме, ещё раз огромное спасибо :)


Источник: http://www.opennet.ru/base/cisco/cisco_ipsec_freebsd.txt.html
Категория: Безопасность | Добавил: oleg (10.02.2009) | Автор: Touch
Просмотров: 1007 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024