Пытаюсь связать Cisco Router 3845 и линукс машину по ipsec!
interface Tunnel0
ip address 192.168.3.1 255.255.255.252
ip mtu 1460
tunnel source 10.10.0.92
tunnel destination 10.10.0.91
tunnel mode ipip
tunnel checksum
crypto map tunnel0
end!
crypto map tunnel0 1 ipsec-isakmp
set peer 10.10.0.91
set security-association lifetime seconds 86400
set transform-set VPN
set pfs group2
match address 101
!!
crypto ipsec transform-set VPN esp-3des esp-md5-hmac
!
crypto isakmp policy 1
encr 3des
hash md5
authentication pre-share
group 2
crypto isakmp key cisco address 10.10.0.91
!
access-list 101 permit ip any any
вот что связано с конфигом ipsec в циске.
А вот конфиг на линукс стороне:
racoon.confpath include "/etc/racoon";
path pre_shared_key "/etc/racoon/psk.txt";
path certificate "/etc/cert";
log notify;padding
{
maximum_length 20;
randomize off;
strict_check off;
exclusive_tail off;
}
listen
{
isakmp 10.10.0.91 [500];
}
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;
}
## IKE phase 1
remote 10.10.0.92
{
exchange_mode main,aggressive;
doi ipsec_doi;
situation identity_only;
my_identifier address 10.10.0.91;
nonce_size 16;
lifetime time 24 hour;
initial_contact on;
proposal_check obey; # obey, strict or claim
proposal {
encryption_algorithm 3des;
hash_algorithm md5;
authentication_method pre_shared_key ;
dh_group 2 ;
}
}## IKE phase 2
sainfo address 172.16.1.0/24 any address 192.168.1.0/24 any {
pfs_group 2; # pfs_group modp768;
encryption_algorithm 3des;
authentication_algorithm hmac_md5;
compression_algorithm deflate;
}setkey.conf:
flush;
spdflush;spdadd 172.16.1.0/24 192.168.1.0/24 any -P out ipsec esp/tunnel/10.10.0.91-10.10.0.92/require;
# для входящего трафика
spdadd 192.168.1.0/24 172.16.1.0/24 any -P in ipsec esp/tunnel/10.10.0.92-10.10.0.91/require;В логе видим следующее:
Jul 19 21:51:07 vmlinux racoon: INFO: Reading configuration from "/etc/racoon/racoon.conf"
Jul 19 21:51:28 vmlinux racoon: ERROR: failed to get sainfo.
Jul 19 21:51:28 vmlinux racoon: ERROR: failed to get sainfo.
Jul 19 21:51:28 vmlinux racoon: ERROR: failed to pre-process packet.
Не знаю уже куда копать. Помогайте
в режиме дебага пишет: 2010-07-19 23:05:41: DEBUG: pfkey X_SPDDUMP failed: No such file or directory
>в режиме дебага пишет: 2010-07-19 23:05:41: DEBUG: pfkey X_SPDDUMP failed: No such
>file or directoryНу, ощущение, что по первой фазе не договариваются...
В Униксах не спец, так что дайте debug crypto isakmp в момент коннекта....P.S. Есть работающие тунели Cis - Unix....
Но, со стороны Cis, строил я, а со стороны *nix - Униксовый админ....
P.P.S. И мы строили GRE over IPSEC.
*Jul 19 16:43:05.225: ISAKMP: set new node 0 to QM_IDLE
*Jul 19 16:43:05.225: ISAKMP:(7043): sitting IDLE. Starting QM immediately (QM_IDLE )
*Jul 19 16:43:05.225: ISAKMP:(7043):beginning Quick Mode exchange, M-ID of -1061490714
*Jul 19 16:43:05.225: ISAKMP:(7043):QM Initiator gets spi
*Jul 19 16:43:05.225: ISAKMP:(7043): sending packet to 10.10.0.91 my_port 500 peer_port 500 (I) QM_IDLE
*Jul 19 16:43:05.225: ISAKMP:(7043):Node -1061490714, Input = IKE_MESG_INTERNAL, IKE_INIT_QM
*Jul 19 16:43:05.225: ISAKMP:(7043):Old State = IKE_QM_READY New State = IKE_QM_I_QM1
*Jul 19 16:43:05.269: ISAKMP:(7043): retransmitting phase 2 QM_IDLE 687866144 ...
*Jul 19 16:43:05.269: ISAKMP (0:7043): incrementing error counter on node, attempt 3 of 5: retransmit phase 2
*Jul 19 16:43:05.269: ISAKMP (0:7043): incrementing error counter on sa, attempt 3 of 5: retransmit phase 2
*Jul 19 16:43:05.269: ISAKMP:(7043): retransmitting phase 2 687866144 QM_IDLE
*Jul 19 16:43:05.269: ISAKMP:(7043): sending packet to 10.10.0.91 my_port 500 peer_port 500 (I) QM_IDLE
*Jul 19 16:43:15.225: ISAKMP:(7043): retransmitting phase 2 QM_IDLE -1061490714 ...
*Jul 19 16:43:15.225: ISAKMP (0:7043): incrementing error counter on node, attempt 1 of 5: retransmit phase 2
*Jul 19 16:43:15.225: ISAKMP (0:7043): incrementing error counter on sa, attempt 4 of 5: retransmit phase 2
*Jul 19 16:43:15.225: ISAKMP:(7043): retransmitting phase 2 -1061490714 QM_IDLE
*Jul 19 16:43:15.225: ISAKMP:(7043): sending packet to 10.10.0.91 my_port 500 peer_port 500 (I) QM_IDLE
*Jul 19 16:43:15.269: ISAKMP:(7043): retransmitting phase 2 QM_IDLE 687866144 ...
*Jul 19 16:43:15.269: ISAKMP (0:7043): incrementing error counter on node, attempt 4 of 5: retransmit phase 2
*Jul 19 16:43:15.269: ISAKMP (0:7043): incrementing error counter on sa, attempt 5 of 5: retransmit phase 2
*Jul 19 16:43:15.269: ISAKMP:(7043): retransmitting phase 2 687866144 QM_IDLE
*Jul 19 16:43:15.269: ISAKMP:(7043): sending packet to 10.10.0.91 my_port 500 peer_port 500 (I) QM_IDLE
>Пытаюсь связать Cisco Router 3845 и линукс машину по ipsecЧто ж, дело хорошее... :)
>interface Tunnel0
> tunnel mode ipip
> tunnel checksum
> crypto map tunnel0Мнда. :) Тяжко тебе будет, без знания матчасти-то... :)))
Во-первых, вы уж определитесь -- либо писать, либо трахаться.
Если, как и все, трахаться, то:
а) tunnel mode ipsec ipv4
b) никаких tunnel checksum -- оно глючное и кривое.
c) никаких crypto map -- tunnel protection ipsec profile <имя профиля>Вместо crypto map создайте ipsec profile -- практически так же, как и crypto map, он будет устроен.
Если, как маленькие, только писать, то:
a) interface Tunnel0 _вообще не нужен_ -- IP Security работает и БЕЗ выделенного интерфейса (впрочем, из-за этого и появляется главный недостаток "чистого" IPSec -- через IPSec Tunnel Mode ходят ТОЛЬКО Юникасты).
b) crypto map вешается на ИСХОДЯЩИЙ ИНТЕРФЕЙС С ПУБЛИЧНЫМ IP-АДРЕСОМ: Fa0/Gi3/Se1/1/0/Di5/и так далее.И вообще, книги надо читать ДО того, как что-то собираешься настраивать, а не ПОСЛЕ, и уж тем более не ВМЕСТО. :)
у меня была задача создать ipip туннель между двумя площадками, по нему пустить трафик между сетями и зашифровать его. что собственно я и сделал. задача кстати решена. а шифровать весь трафик на физическоим интерфейсе мне не нужно.
создал полиси. только один вопрос остался: как привязать access-list к ipsec policy ?а то теперь линукс не хочет состыковыватся и пишет такую бяку
Jul 20 17:53:33 vmlinux racoon: DEBUG: getsainfo params: loc='0.0.0.0/0', rmt='0.0.0.0/0', peer='10.10.0.92', id=0
Jul 20 17:53:33 vmlinux racoon: DEBUG: getsainfo pass #1
Jul 20 17:53:33 vmlinux racoon: DEBUG: evaluating sainfo: loc='172.16.1.0/24', rmt='192.168.1.0/24', peer='ANY', id=0
Jul 20 17:53:33 vmlinux racoon: DEBUG: getsainfo pass #2
Jul 20 17:53:33 vmlinux racoon: DEBUG: evaluating sainfo: loc='172.16.1.0/24', rmt='192.168.1.0/24', peer='ANY', id=0
Jul 20 17:53:33 vmlinux racoon: DEBUG: check and compare ids : value mismatch (IPv4_subnet)
>[оверквотинг удален]
>Jul 20 17:53:33 vmlinux racoon: DEBUG: getsainfo params: loc='0.0.0.0/0', rmt='0.0.0.0/0', peer='10.10.0.92', id=0
>
>Jul 20 17:53:33 vmlinux racoon: DEBUG: getsainfo pass #1
>Jul 20 17:53:33 vmlinux racoon: DEBUG: evaluating sainfo: loc='172.16.1.0/24', rmt='192.168.1.0/24', peer='ANY', id=0
>
>Jul 20 17:53:33 vmlinux racoon: DEBUG: getsainfo pass #2
>Jul 20 17:53:33 vmlinux racoon: DEBUG: evaluating sainfo: loc='172.16.1.0/24', rmt='192.168.1.0/24', peer='ANY', id=0
>
>Jul 20 17:53:33 vmlinux racoon: DEBUG: check and compare ids : value
>mismatch (IPv4_subnet)v crypto map ....
match address acl_name/number
В том и дело что мудрые товарищи говорят не юзать crypto map на интерфейсе типа tunnel
> В том и дело что мудрые товарищи говорят не юзать crypto map
> на интерфейсе типа tunnelТут дело вот в чём. Тут ведь дело, как я уже говорил, в незнании матчасти.
IP Security в IPv4 умеет, как известно, работать в четырёх режимах.
Первый и второй режимы -- транспортные. Можно ничего не шифровать, только контрольные суммы криптографически считать, тогда получим AH Transport Mode (AH == Authentication Header). Можно и пошифровать, тогда получим ESP Transport Mode (ESP == Encapsulated Security Payload).
Третий и четвёртый режимы -- туннельные. AH Tunnel Mode и ESP Tunnel Mode соответственно.
Если посмотреть в конфиги, то видно из них буквально следующее: на Линуксе "по образцу из Интернета" сконфигурирован IPSec ESP Tunnel Mode. А в ответ ему на Циске сконфигурировано непонятно, что.
Если вам нужно затуннелить (то есть, пробросить поверх публичной сети пакеты с приватной адресацией) трафик, тогда зачем вам IP-IP? Почему бы просто не воспользоваться IPSec Tunnel Mode?
Если вы хотите таки IP-IP-туннель, то покажите настройки IP-IP-декапсулятора на Линуксе и определитесь, как вы будете передавать УЖЕ ЗАИНКАПСУЛИРОВАННЫЙ В IP-IP трафик -- транспортом или туннелем?
Если транспортом, тогда SA в Линуксе будет не таким. Если туннелем -- то где ЕЩЁ ОДНА пара IP-адресов для туннелирования?-)
crypto keyring key_tunnel0
pre-shared-key address 10.10.0.91 key cisco
!
crypto isakmp policy 1
encr 3des
hash md5
authentication pre-share
group 2
crypto isakmp key cisco address 10.10.0.91
crypto isakmp profile isakmp_tunnel0
keyring key_tunnel0
match identity address 10.10.0.91 255.255.255.255
local-address 10.10.0.92
!
!
crypto ipsec transform-set VPN esp-3des esp-md5-hmac
!
crypto ipsec profile ipsec_tunnel0
set transform-set VPN
set pfs group2
set isakmp-profile isakmp_tunnel0
!
interface Tunnel0
ip address 192.168.3.1 255.255.255.252
ip mtu 1460
ip ospf authentication
ip ospf authentication-key 7 110A1016141D
tunnel source 10.10.0.92
tunnel destination 10.10.0.91
tunnel mode ipsec ipv4
tunnel checksum
!на стороне циски прописал
на линуксе дописал
sainfo address 192.168.3.2/32 any address 192.168.3.1/32 any {
# sainfo anonymous {
pfs_group 2; # pfs_group modp768;
encryption_algorithm 3des;
authentication_algorithm hmac_md5;
compression_algorithm deflate;
}
в итоге tunnel0 даже не поднимается. в дауне. куда копать?
к сожалению на ICND про ipsec не читали, а настроить край надо :(