Frequently Asked Questions

Question
DI-804HV IPSec туннель рутер-рутер и FreeBSD

Answer
Между самими рутерами туннель описывается просто, следуя следующим картинкам в порядке очередности. Настройки меняются в соответствии с локальными сетями и внешним ип удаленной точки. На одном длинке ставится галка агрессии (инициатор соединения), на другом нет.






Все. Что касается работы с FreeBSD, неодходимо в rc.conf добавить:

s
tatic_routes="Pvpn"
route_Pvpn="192.168.6.0/24 192.168.4.1"             # Путь к удаленной сети через локальный ип фревого рутера

ipsec_enable="YES"
ipsec_file="/etc/ipsec.conf"
racoon_enable="YES"


Файл /etc/ipsec.conf содержит в себе вот это:

# more /etc/ipsec.conf
flush;
spdflush;
spdadd 192.168.4.0/24 192.168.6.0/24 any -P out ipsec esp/tunnel/91.123.123.116-80.80.123.111/require;
spdadd 192.168.6.0/24 192.168.4.0/24 any -P in ipsec esp/tunnel/80.80.123.111-91.123.123.116/require;



где первая spdadd содержит в себе локальная подсеть - удаленная локальная подсеть внешний ип - удаленный внешний ип, вторая - наоборот. Это описание что между чем шифровать и в каком направлении.

Для того чтобы ипсек заработал придется откомпилировать ядро, добавив вот такие параметры:

Код:
options         IPSEC
options         IPSEC_ESP
options         IPSEC_DEBUG

device          crypto


а чтобы запустить сам туннель, принять удаленные запросы и инициировать самому, ставится из портов security/ipsec-tools (тот самый racoon), в каталоге /usr/local/etc/racoon создать файл psk.txt формата

123.123.123.123 пароль

дать ему права 600 root:wheel, затем нарисовать файл racoon.conf примерно вот так:

path pre_shared_key "/usr/local/etc/racoon/psk.txt" ;
path backupsa "/usr/local/etc/racoon/back.tmp" ;                     # если этого файла нет его тоже придется создать
#path certificate "/usr/local/etc/cert" ;

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 91.123.123.116 [500];
    #admin [7002];          # administrative's port by kmpstat.
    #strict_address;        # required 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 a send.
    # timer for waiting to complete each phase.
    phase1 30 sec;
    phase2 15 sec;
}
remote 80.80.123.111
{
#    exchange_mode main,aggressive;
    exchange_mode aggressive,main;
    doi ipsec_doi;
    situation identity_only;
#    my_identifier address 123.123.123.123;
#    peers_identifier address 195.131.123.123;
#    my_identifier user_fqdn "user@domain.ru";
#    peers_identifier user_fqdn "user@domain.ru";
    #certificate_type x509 "mycert" "mypriv";
    nonce_size 16;
    lifetime time 3600 sec;        # sec,min,hour
    initial_contact on;
    support_mip6 on;
    proposal_check obey;    # obey, strict or claim
    proposal
            {
            encryption_algorithm 3des;
            hash_algorithm sha1;
            authentication_method pre_shared_key ;
            dh_group 2 ;
            }
}

sainfo anonymous
{
    pfs_group 2;
    lifetime time 3600 sec;
    encryption_algorithm 3des ;
    authentication_algorithm hmac_sha1;
#    authentication_algorithm non_auth;
    compression_algorithm deflate ;
}


Обратите внимание на то что параметры в конфиге и у длинка dh_group encryption_algorithm authentication_algorithm(hash_algorithm) должны совпадать. Запускаете ипсек, запускаете ракон, смотрите что получится. Не ищите интерфейсов или каких-либо других "внешних" проявлений туннеля. Роутинг специально ставится на локальный ип рутера, никаких интерфейсов не создается, опорным становится локальный ип адрес.


Details
Info Sunday 14 March 2010 - 17:13:00 by




Vampyr`s House!


Protected by Copyscape DMCA Plagiarism Check