LINUX.ORG.RU
ФорумAdmin

Настройка IPSEC между Cisco и Linux


0

2

Добрый вечер.

Прислали мне вот такое письмо: Для доступа к сети XXX через статический ipsec туннель подрядчику выделяется подсеть 10.10.10.16/28. В которую он делает NAT\PAT своих пользователей.

Для построения туннеля нужно указать следующие характеристики

Isakmp policy
Encr aes 256
Auth pre-share
Group 1

Transform-set *** esp-aes 256 esp-sha-hmac

Crypto map ***
Set peer 1.2.3.4
Set transform set ***
Set pfs group 2

Match address XXX

Ip access-list e XXX permit ip host 2.3.4.5 10.10.10.16/28

Pre-share key

и тут я понимаю, что ничего не понимаю. как все это адаптировать для ipsec-util+racoon?


Ответ на: комментарий от power

статью я видел. я из

 Isakmp policy Encr aes 256 Auth pre-share Group 1

Transform-set *** esp-aes 256 esp-sha-hmac

Crypto map *** Set peer 1.2.3.4 Set transform set *** Set pfs group 2

Match address XXX

Ip access-list e XXX permit ip host 2.3.4.5 10.10.10.16/28 
понимаю только несколько строк

alegzz
() автор топика
Ответ на: комментарий от alegzz

Я не понял, ты хочешь чтобы тебе тут твою работу за тебя сделали? Данные тебе все дали: параметры шифрования ISAKMP/IPSEC, ключ шифрования, адрес другого хоста. Берём пример из доки по ракуну и туда все копипастим.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

я хочу, чтобы меня пнули в нужном направлении. то, что есть куча мануалов, я в курсе. если знать куда копать, то на форумах «гении» троллили бы друг друга. пробую, не выходит: racoon.conf:

remote xxx {
        exchange_mode main,aggressive;
        proposal {
                encryption_algorithm aes;
                hash_algorithm sha1;
                authentication_method pre_shared_key;
                dh_group 2;
        }
}

log:

Dec 16 11:34:29 boboshko racoon: [xxx] ERROR: notification INVALID-COOKIE received in unencrypted informational exchange.
Dec 16 11:34:29 boboshko racoon: [xxx] ERROR: error message: '5cu 9Fv xV4 '.

alegzz
() автор топика
Ответ на: комментарий от alegzz

Если бы ты прочитал от начала до конца любой пример по ракун, было бы всё понятно.

Начнем со здравого смысла:

1. Где pre-shared-key?

2. Где указание какие сети попадают в IPSEC туннель и параметры их шифрования?

Вот простейший пример с первой страницы гугла:

path pre_shared_key "/etc/psk.txt";

remote 192.168.2.100 {
        exchange_mode main;
        proposal {
                encryption_algorithm 3des;
                hash_algorithm md5;
                authentication_method pre_shared_key;
                dh_group modp1024;
        }
}

sainfo address 172.16.1.0/24 any address 172.16.2.0/24 any {
        pfs_group modp768;
        encryption_algorithm 3des;
        authentication_algorithm hmac_md5;
        compression_algorithm deflate;
}

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

1. ключ в /etc/racoon/psk.txt в racoon.conf прописано path pre_shared_key «/etc/racoon/psk.txt»;

2.

# setkey -DP
2.3.4.5[any] 10.10.10.16/28[any] 255
        fwd prio def ipsec
        esp/tunnel/1.2.3.4-3.4.5.6/require
        created: Dec 16 12:35:31 2011  lastused:
        lifetime: 0(s) validtime: 0(s)
        spid=8298 seq=57 pid=21905
        refcnt=1
2.3.4.5[any] 10.10.10.16/28[any] 255
        in prio def ipsec
        esp/tunnel/1.2.3.4-3.4.5.6/require
        created: Dec 16 12:35:31 2011  lastused:
        lifetime: 0(s) validtime: 0(s)
        spid=8288 seq=58 pid=21905
        refcnt=1
10.10.10.16/28[any] 2.3.4.5[any] 255
        out prio def ipsec
        esp/tunnel/3.4.5.6-1.2.3.4/require
        created: Dec 16 12:35:31 2011  lastused:
        lifetime: 0(s) validtime: 0(s)
        spid=8281 seq=0 pid=21905
        refcnt=1

# cat /etc/ipsec-tools.conf
flush;
spdflush;

spdadd 10.10.10.16/28  2.3.4.5/32 any -P out ipsec
esp/tunnel/3.4.5.6-1.2.3.4/require;


spdadd 2.3.4.5/32 10.10.10.16/28  any -P in ipsec
esp/tunnel/1.2.3.4-3.4.5.6/require;

# cat /etc/racoon/racoon.conf
log notify;
path pre_shared_key "/etc/racoon/psk.txt";
path certificate "/etc/racoon/certs";

remote 1.2.3.4 {
        exchange_mode main,aggressive;
        proposal {
                encryption_algorithm aes;
                hash_algorithm sha1;
                authentication_method pre_shared_key;
                dh_group 2;
        }
}

sainfo address 10.10.10.16/28 any address 2.3.4.5/32 any {
        pfs_group 2;
        lifetime time 1 hour ;
        encryption_algorithm aes;
        authentication_algorithm hmac_sha1;
        compression_algorithm deflate ;
}

# lsmod | grep aes
aes_i586                6816  0
aes_generic            25738  1 aes_i586
# lsmod | grep sha
sha512_generic          8009  0
sha256_generic         10748  0
sha1_generic            1395  0
# lsmod | grep esp
esp6                    3849  0
esp4                    4053  0
# lsmod | grep ah
ah6                     3745  0
ah4                     3079  0
# lsmod | grep xfrm
xfrm4_mode_transport     1050  0
xfrm4_mode_tunnel       1300  0
xfrm4_tunnel            1201  0
xfrm6_tunnel            4033  1 ipcomp6
tunnel6                 1364  1 xfrm6_tunnel
xfrm_ipcomp             2923  2 ipcomp6,ipcomp
xfrm_user              16166  0
tunnel4                 1469  1 xfrm4_tunnel
# lsmod | grep hmac
hmac                    2033  0
# lsmod | grep null
crypto_null             1876  0
2# lsmod | grep sha
sha512_generic          8009  0
sha256_generic         10748  0
sha1_generic            1395  0

alegzz
() автор топика
Ответ на: комментарий от alegzz

У тебя указан туннельный режим, а в sainfo с одной стороны сеть, а с другой - хост (/32). Так работать не будет. Туннельный режим не позволяет хостам, являющимся endpoint-ами IPSEC общатся, только сетям за ними.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

менял на esp/transport//require и in и out, и поочередно. менял 10.10.10.16/28 на хост из подсети, 1 фиг. мне кажется трабл с неправильным указанием шифрования

alegzz
() автор топика
Ответ на: комментарий от alegzz

1. dh_group смени на 1 на всякий случай, т.к. со стороны цыске у тебя «group 1»

2. Убери режим aggressive

3. Укажи шифрование aes-256 вместо aes

Насчёт смены режима на транспорт - это бестолку, т.к. цыска настроена на туннельный режим как я понимаю.

Как проверяешь соединение? Пингуешь из своей сети 10.10.10.16/28 хост 2.3.4.5?

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

1. ok 2. main идет первым. если поставить aggressive, то ошибка другого вида: racoon: [1.2.3.4] NOTIFY: couldn't find the proper pskey, try to get one by the peer's address. 3. в доках к racoon такого нет, да и на aes-256 ругается. aes256 проходит, что странно, но результат тот же

Я тоже думаю, что менять смысла нет, к тому же соединение не проходит фазу 1. соответственно, соединения даже нет, ничего и не пингуется. а так: 8: tap1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500 link/ether 9e:07:da:75:28:c4 brd ff:ff:ff:ff:ff:ff inet 10.10.10.16/28 scope global tap1 inet6 fe80::9c07:daff:fe75:28c4/64 scope link valid_lft forever preferred_lft forever

если компрессию закомментить, то опять же ругается. на любое значение кроме deflate так же ругается

alegzz
() автор топика
Ответ на: комментарий от blind_oracle

если поставить уровень логгирования debug, то видно, что-то посылается, принимается и после приема получаем ERROR: INVALID-COOKIE

alegzz
() автор топика
Ответ на: комментарий от blind_oracle

У тебя указан туннельный режим, а в sainfo с одной стороны сеть, а с другой - хост (/32). Так работать не будет. Туннельный режим не позволяет хостам, являющимся endpoint-ами IPSEC общатся, только сетям за ними.

Ерунда, прекрасно работает как минимум 5 таких туннелей. Вот один из них:

spdadd 10.100.0.0/17 213.X.X.210/32 any -P out ipsec esp/tunnel/195.X.X.99-213.X.X.210/require;
spdadd 213.X.X.210/32 10.100.0.0/17 any -P in ipsec esp/tunnel/213.X.X.210-195.X.X.99/require;

Davyd ★★
()
Ответ на: комментарий от blind_oracle

Да, компрессию тоже нафиг.

Данный параметр в racoon обязателен, но если peer не умеет, то оно ничем не мешает.

Davyd ★★
()
Ответ на: комментарий от alegzz

Ключ точно правильный? Попробуй в ракуне убрать сети и сделать на анонимусах. добавь в remote секцию proposal_check obey;

Davyd ★★
()
Ответ на: комментарий от alegzz

spdadd 10.10.10.16/28 2.3.4.5/32 any -P out ipsec esp/tunnel/3.4.5.6-1.2.3.4/require;

Еще не очень понял, сеть 10.10.10.16/28 - это твоя или провайдерская? Во втором случае у тебя все перепутано наоборот.

Davyd ★★
()
Ответ на: комментарий от Davyd

какой дали, такой и забил. смущает то, что в нем есть спец знаки типа % и $

alegzz
() автор топика
Ответ на: комментарий от Davyd

сделал анонимус, прописал proposal_check. в дебаг логе ничего не изменилось, чем-то печеньки не нравятся киске. может проблема вовсе и не на моей стороне?

alegzz
() автор топика
Ответ на: комментарий от Davyd

находится у меня, на виртуальном интерфейсе. 2.3.4.5 - это удаленная циска. я вот еще не понял, как забиндить racoon на интерфейс? прописал listen - оно все равно цепляется на 1 WAN интерфейс

alegzz
() автор топика
Ответ на: комментарий от alegzz

может проблема вовсе и не на моей стороне?

Может и да. Провайдеры со своими цисками тоже часто косячат, особенно если задача не стандартная и на тебе ее обкатывают.

Вот, можешь поиграться http://www.nta-monitor.com/tools/ike-scan/ , я с ее помощью подбирал параметры шифрования у своих контрагентов, которые нормально не могли параметры сообщить.

Davyd ★★
()
Ответ на: комментарий от Davyd
c:\3>ike-scan -s 0 -A -a 7/256,2,1,2  1.2.3.4
Starting ike-scan 1.9 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/)

Ending ike-scan 1.9: 1 hosts scanned in 2.427 seconds (0.41 hosts/sec).  0 retur
ned handshake; 0 returned notify

c:\3>ike-scan -s 0 -a 7/256,2,1,2  1.2.3.4
Starting ike-scan 1.9 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/)
1.2.3.4  Main Mode Handshake returned HDR=(CKY-R=46daac5e84338440) SA=(En
c=AES KeyLength=256 Hash=SHA1 Group=2:modp1024 Auth=PSK LifeType=Seconds LifeDur
ation=28800) VID=4048b7d56ebce88525e7de7f00d6c2d3c0000000 (IKE Fragmentation)

Ending ike-scan 1.9: 1 hosts scanned in 0.018 seconds (55.56 hosts/sec).  1 retu
rned handshake; 0 returned notify

уже нет идей, куда копать. в racoon.conf изменено шифрование на encryption_algorithm aes 256;

alegzz
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.