Подробности что и как я сделал.
В ядрище кроме прочего прописал:
options IPSEC
options IPSEC_ESP
options IPSEC_DEBUG
rc.conf:
gif_interfaces="gif0"
gifconfig_gif0="внешний _IP_этого роутера внешний _IP_удаленного роутера"
ifconfig_gif0="inet 10.0.100.22 (эта машина) 10.0.104.254 (ДЛинк на той стороне) netmask 255.255.255.0"
static_routes="vpn"
route_vpn="10.0.104.0/24 10.0.4.254"
export route_vpn
ipsec_enable="YES"
ipsec_file="/etc/ipsec.conf"
ipsec.conf:
flush;
spdflush;
spdadd 10.0.100.0/24 10.0.104.0/24 any -P out ipsec esp/tunnel/внеш_IP_этого-внеш_IP_удаленного
spdadd 10.0.104.0/24 10.0.100.0/24 any -P in ipsec esp/tunnel/внеш_IP_удаленного-внеш_IP_этого
по Ifconfig:
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
tunnel inet IP этого роутера --> IP_удаленного Длинка
inet 10.0.100.22 --> 10.0.104.254 netmask 0xffffff00
Только сейчас обнаружил что не запускается ракун. Пишет что ошибка в конфигурационном файле:
path include "/usr/local/etc/racoon" ;
path pre_shared_key "/usr/local/etc/racoon/psk.txt" ;
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 202.249.11.124 [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 anonymous
{
exchange_mode main,aggressive;
#exchange_mode aggressive,main;
doi ipsec_doi;
situation identity_only;
#my_identifier address;
#my_identifier user_fqdn "sakane@kame.net";
#peers_identifier user_fqdn "sakane@kame.net";
#certificate_type x509 "mycert" "mypriv";
nonce_size 16;
lifetime time 28800 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
{ proposa[
pfs_group 2;
lifetime time 3800 sec;
encryption_algorithm 3des;
authentication_algorithm sha1;
compression_algorithm deflate ;
}
psk.txt:
внешний IP удаленного 098123
где098123 - ключ шифрования
буду искать ошибку.