Настройка site-to-site IPSEC туннеля между cisco и Centos 5.5 

Имеем:

1 Маршрутизатор Cisco 5510 ASA с реальным IP 1.1.1.1 (сеть XXX.XXX.XXX.0/24)
2. Маршрутизатор Linux CentOS 5.5 с установленным ipsec-tools и реальным IP 2.2.2.2 (сеть YYY.YYY.0.0/16)
Секретный ключ (preshared): 1234567890

Конфигурация на маршрутизаторе Cisco:
crypto isakmp policy 5
encr aes
authentication pre-share
group 2
lifetime 3600
hash sha
!
crypto isakmp key SECRETKEY address 2.2.2.2
crypto ipsec security-association lifetime seconds 3600
crypto ipsec transform-set GK ESP-AES-256-SHA esp-aes-256 esp-sha-hmac
crypto map IPSec 7 ipsec-isakmp
set peer 2.2.2.2
set transform-set GK
set pfs group2
match address 666
!
interface GigabitEthernet0/0.1
ip address 1.1.1.1 255.255.255.224
crypto map IPSec
!
ip route XXX.XXX.XXX.0 255.255.255.0 2.2.2.2
access-list 666 remark asGK
access-list 666 permit ip YYY.YYY.0.0 0.0.255.255 XXX.XXX.XXX.0 0.0.0.255
access-list 666 deny ip any any


Конфигурация на машине с Linux CentOS:
/etc/selinux/config:
SELINUX=disabled
/etc/sysconfig/network-scripts/ifcfg-ipsec0
TYPE=IPSEC
ONBOOT=yes
IKE_METHOD=PSK
IKE_PSK=SECRETKEY
IKE_DHGROUP=2
ESP_PROTO=aes
AH_PROTO=none
AESP_PROTO=hmac-sha1
SRC=2.2.2.2
SRCGW=XXX.XXX.XXX.254
DSTGW=YYY.YYY.0.254
SRCNET=XXX.XXX.XXX.0/24
DSTNET=YYY.YYY.0/16
DST=1.1.1.1

/etc/racoon/racoon.conf
path include "/etc/racoon";
path pre_shared_key "/etc/racoon/psk.txt";
log notify;
listen
{
isakmp 2.2.2.2 [500];
}
timer
{
counter 4; # maximum trying count to send.
phase1 30 sec;
phase2 30 sec;
}
include "/etc/racoon/1.1.1.1.conf";

/etc/racoon/1.1.1.1.conf: (после изменений в /etc/sysconfig/network-scripts/ifcfg-ipsec0 переписывается)
remote 1.1.1.1
{
exchange_mode main;
my_identifier address;
proposal {
encryption_algorithm aes 256;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group 2;
}
}
sainfo address YYY.YYY.0.0/16 any address XXX.XXX.XXX.0/24 any {
pfs_group 2;
lifetime time 6400 sec;
encryption_algorithm aes 256;
authentication_algorithm hmac_sha1;
compression_algorithm deflate;
}

/etc/sysconfig/network-scripts/keys-ipsec0:
IKE_PSK='1234567890'

IPTABLES:
iptables -A INPUT -s 1.1.1.1 -p udp --dport 500 -j ACCEPT
iptables -A INPUT -s 1.1.1.1 -p esp -j ACCEPT
iptables -A INPUT -s 1.1.1.1 -p ah -j ACCEPT
iptables -I POSTROUTING -t nat -s YYY.YYY.0.0/16 -d XXX.XXX.XXX.0/24 -j RETURN

[…]# ifup ipsec0
туннель готов к использованию
———————————————————————————————
Использовались материалы:
http://www.opennet.ru
http://metalcandy.ru