The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"VPN на FreeBSD 6.3 через ipsec и ADSL"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Информационная безопасность (Public)
Изначальное сообщение [ Отслеживать ]

"VPN на FreeBSD 6.3 через ipsec и ADSL"  
Сообщение от somebastardo email on 14-Окт-08, 00:05 
Доброго времени суток!
Мы с товарищем задались целью настроить VPN-тунель через ipsec и ADSL на OS FreeBSD 6.3.
Нам очень важно реализовать систему именно так, как было задумано. Поэтому варианты "OpenVPN проще и лучше" нам не подходят.
Стенд: селерон 900 с фряхой, на борту два сетевых интерфейса - rl0 наружний (к нему подключён ADSL-модем), rl1 - внутренний( смотрит в локалку). Модем - D-link 500t, все порты проброшены (включен DMZ). В локалке обычный свитч и машина на винде. На другой стороне всё тоже самое, только другие Ip.
Проблема: нам удалось сделать тунель, виндовая машина из одной локалки спокойно видит виндовую тачку из другой локалки. Но при этом не работает шифрование. При запуске демонов racoon и ipsec локалка на противоположной стороне перестаёт пинговаться. При этом внешний Ip модема пингуется.

Обозначу что есть что:
192.168.1.1 - внутренний IP модема
192.168.1.12 - IP на интерфейсе rl0, внешний для фряхи, одинаков на обоих серверах
192.168.10.1 - IP на интерфейсе rl1, смотрит в локалку, для первого сервера
192.168.20.1 - IP на интерфейсе rl1, смотрит в локалку, для второго сервера
192.168.10.2 - IP виндовой машины в локалке первого сервера
192.168.20.2 - IP виндовой машины в локалке второго сервера
A.B.C.D - внешний IP модема (что-то вроде 172.24.99.99) для первого сервера.
W.X.Y.Z - внешний IP модема (что-то вроде 172.24.99.99) для второго сервера.

Вот что записано в файлах настройки на первом сервере:
Для первого сервера:
ipsec.conf:

flush;
spdflush;
spdadd 192.168.1.12/32 W.X.Y.Z/32 ipencap -P out ipsec esp/tunnel/192.168.1.12-W.X.Y.Z/require;
spdadd W.X.Y.Z/32 192.168.1.12/32 ipencap -P in ipsec esp/tunnel/W.X.Y.Z-192.168.1.12/require;

Файл psk.txt:
W.X.Y.Z secret1

racoon.conf:

padding
{
    maximum_length 20;    # maximum padding length.
    randomize off;        # enable randomize length.
    strict_check off;    # enable strict check.
    exclusive_tail off;    # extract last one octet.
}

listen
{
    #isakmp ::1 [7000];
    #isakmp 202.249.11.124 [500];
    #admin [7002];        # administrative port for racoonctl.
    #strict_address;     # requires that all addresses must be bound.
}

timer
{
    # These value can be changed per remote node.
    counter 5;        # maximum trying count to send.
    interval 20 sec;    # maximum interval to resend.
    persend 1;        # the number of packets per send.

    # maximum time to wait for completing each phase.
    phase1 30 sec;
    phase2 15 sec;
}

rc.conf:

ifconfig_rl0="inet 192.168.1.12  netmask 255.255.255.0"
ifconfig_rl1="inet 192.168.10.1 netmask 255.255.255.0"
defaultrouter="192.168.1.1"
hostname="server"

gif_interfaces="gif0"
gifconfig_gif0="192.168.1.12 W.X.Y.Z"
ifconfig_gif0="inet 192.168.10.1 192.168.20.1 netmask 0xffffffff"
static_routes="vpn"
route_vpn="192.168.20.0 192.168.20.1"

gateway_enable="YES"

# IPSEC
ipsec_enable="YES"
ipsec_file="/etc/ipsec.conf"

# Racoon
racoon_enable="YES"

На второй машине всё тоже самое, только вмессто W.X.Y.Z стоит A.B.C.D.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "VPN на FreeBSD 6.3 через ipsec и ADSL"  
Сообщение от vit (??) on 15-Окт-08, 12:07 
>[оверквотинг удален]
>gateway_enable="YES"
>
># IPSEC
>ipsec_enable="YES"
>ipsec_file="/etc/ipsec.conf"
>
># Racoon
>racoon_enable="YES"
>
>На второй машине всё тоже самое, только вмессто W.X.Y.Z стоит A.B.C.D.

------ racoon.conf -----------
listen
{
#isakmp ::1 [7000];
isakmp MY_HOST.IP.OUT.ADDRESS [500];   <-----------
#admin [7002];  # administrative port for racoonctl.
#strict_address;  # requires that all addresses must be bound.
}

remote  REMOTE_HOST.IP.OUT.ADDRESS [500]
{
        exchange_mode   main,aggressive;
        doi             ipsec_doi;
        situation       identity_only;
        my_identifier           address MY_HOST.IP.OUT.ADDRESS;
        peers_identifier        address REMOTE_HOST.IP.OUT.ADDRESS;
        lifetime        time 8 hour;
        passive         off;
        proposal_check  obey;
#       nat_traversal   off;
        generate_policy off;

                        proposal {
                                encryption_algorithm    blowfish;
                                hash_algorithm          md5;
                                authentication_method   pre_shared_key;
                                lifetime time           30 sec;
                                dh_group                1;
                        }
}

sainfo  (address MY_LOCAL_NET any address REMOTE_LOCAL_NET any)    {                        
        pfs_group       1;
        lifetime        time    36000 sec;
        encryption_algorithm    blowfish;
        authentication_algorithm        hmac_md5;
        compression_algorithm   deflate;
}

ну и открыть в ipfw прохождение пакетов

$cmd="/sbin/ipfw -q"
RIP="REMOTE_IP"
MIP="MY_IP"
$cmd add 001 allow ip   from any to any via gif0
$cmd add 001 allow esp from $MIP to $RIP
$cmd add 001 allow esp from $RIP to $MIP
$cmd add 001 allow ah from $MIP to $RIP
$cmd add 001 allow ah from $RIP to $MIP
$cmd add 001 allow ipencap from $MIP to $RIP
$cmd add 001 allow ipencap from $RIP to $MIP
$cmd add 001 allow udp   from $MIP 500 to $RIP 500
$cmd add 001 allow udp   from $RIP 500 to $MIP 500
что-то вроде того

Ну и как всегда смотрите /var/log/security, /var/log/racoon.log ....
если не пашет

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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