LINUX.ORG.RU

IPSec между Linux и Cisco IOS


0

1

Нужно поднять IPSec между указанными системами причём на нашей стороне не будет никакой сети (т.е. пакеты будут ходить только с сервера), а на той стороне единственный IP адрес (не cisco). Куда копать? Мне известен лишь pre-shared IKE ключ.

Опыта в этом - ноль.

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

Я бы рекомендовал взять любой SWAN и ядро 2.4.x для начала, а потом уже можно и с кривыми ipsec-tools/2.6.x позаниматься любовью.

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

2 mator: Так в том то и дело.. Откуда же мне знать, какой нашему birdie.. режим надо.. есть, конечно, определённые сомнения из контекста задачи.. Но, мне показалось, что ссылка полезная.. ;-)) А вообще, если уж на то пошло, давайте конкретно разбираться..

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

а расскажите plz в чем кривизна racoon на ядре 2.6? у меня ipsec до циски поднялся, настраиваю туннель. но пакеты с удаленного конца (от циски) почему-то не попадают под правила policy судя по всему, соотвественно дальше не уходят. кто уже успел намучаться с 2.6 поделитесь опытом!

anonymous
()
Ответ на: комментарий от mator

все сделано 1:1 согласно доке

схема:

хост 1 <-> шлюз 1 <--ipsec-->шлюз 2 <-> хост2

в качестве шлюза 2 pix (ip yy.yy.yy.yy) шлюз 1: linux+racoon (ip xx.xx.xx.xx)

$ uname -a Linux magenta 2.6.14-2-686-smp #2 SMP Fri Dec 30 03:24:29 CET 2005 i686 GNU/Linux

само соединение ipsec установлено, все в норме. с хоста 1 уходят icmp пакеты на хост2, вижу соотвествующее esp, тот на них отвечает,вижу от шлюза 2 esp, и на этом все заканчивается. почему-то пакеты не дешифруются и не попадаю на хост 1. правила добавлял и in и out и fwd через setkey, ничего не помогает. такое ошущение, что у меня работает только одно правило out. как можно выяснить почему ядро не дешифрует пакеты, как отрабатываются policy?

конфигурация и выводы setkey идут ниже, пришлось сообщение разбить

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

конфигурация racoon-tool:

connection(tango-mtt1): src_range: хост1 dst_range: хост2 src_ip: xx.xx.xx.xx dst_ip: yy.yy.yy.yy admin_status: enabled lifetime: time 28800 secs authentication_algorithm: non_auth encryption_algorithm: des pfs_group: 1 peer(yy.yy.yy.yy): verify_cert: off initial_contact: on passive: off dh_group[0]: 1 verify_identifier: off lifetime: time 1440 min hash_algorithm[0]: sha1 encryption_algorithm[0]: des authentication_method[0]: pre_shared_key my_identifier: address xx.xx.xx.xx

получаемый racoon.conf

remote yy.yy.yy.yy { proposal { encryption_algorithm des; hash_algorithm sha1; authentication_method pre_shared_key; dh_group 1; }

passive off; my_identifier address xx.xx.xx.xx; verify_identifier off; verify_cert off; lifetime time 1440 min; nat_traversal on; initial_contact on; exchange_mode main; }

sainfo address хост1[any] any address хост2[any] any { pfs_group 1; lifetime time 28800 secs; encryption_algorithm des; authentication_algorithm non_auth; compression_algorithm deflate; }

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

# setkey -D xx.xx.xx.xx yy.yy.yy.yy esp mode=tunnel spi=1930954139(0x7318059b) reqid=16387(0x00004003) E: des-cbc c9f04308 b6fb3d84 seq=0x00000000 replay=4 flags=0x00000000 state=mature created: Jul 31 12:43:36 2006 current: Jul 31 15:57:57 2006 diff: 11661(s) hard: 28800(s) soft: 23040(s) last: hard: 0(s) soft: 0(s) current: 0(bytes) hard: 0(bytes) soft: 0(bytes) allocated: 0 hard: 0 soft: 0 sadb_seq=1 pid=19925 refcnt=0 yy.yy.yy.yy xx.xx.xx.xx esp mode=tunnel spi=211388686(0x0c99890e) reqid=16388(0x00004004) E: des-cbc 9483e7e5 941c1937 seq=0x00000000 replay=4 flags=0x00000000 state=mature created: Jul 31 12:43:36 2006 current: Jul 31 15:57:57 2006 diff: 11661(s) hard: 28800(s) soft: 23040(s) last: hard: 0(s) soft: 0(s) current: 0(bytes) hard: 0(bytes) soft: 0(bytes) allocated: 0 hard: 0 soft: 0 sadb_seq=0 pid=19925 refcnt=0

# setkey -DP yy.yy.yy.yy[any] xx.xx.xx.xx[any] any in ipsec esp/tunnel/yy.yy.yy.yy-xx.xx.xx.xx/unique#16388 created: Jul 28 14:19:30 2006 lastused: lifetime: 0(s) validtime: 0(s) spid=48376 seq=74 pid=19954 refcnt=1 xx.xx.xx.xx[any] yy.yy.yy.yy[any] any out ipsec esp/tunnel/xx.xx.xx.xx-yy.yy.yy.yy/unique#16387 created: Jul 28 14:19:30 2006 lastused: Jul 28 16:38:12 2006 lifetime: 0(s) validtime: 0(s) spid=48369 seq=73 pid=19954 refcnt=1 yy.yy.yy.yy[any] xx.xx.xx.xx[any] any fwd ipsec esp/tunnel/yy.yy.yy.yy-xx.xx.xx.xx/require created: Jul 28 14:19:30 2006 lastused: lifetime: 0(s) validtime: 0(s) spid=48386 seq=72 pid=19954 refcnt=1

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

конфигурацию через racoon-tool никогда не пробовал. давайте по пунктам:
1) не вижу конфигурации pix'a
2) обьявления sainfo в racoon.conf не обязательны, так как они делаются через setkey (у него свой конфигурационный файл)
3) не вижу самого setkey.conf
4) на шлюз_1 приходят esp пакеты от pix'a (шлюз_2) ?
если боитесь тут показывать реальные IP, то можете мне мылом на matorola@gmail.com скинуть.

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

> а расскажите plz в чем кривизна racoon на ядре 2.6? у меня ipsec до циски поднялся, настраиваю туннель

Сейчас уже не знаю, но когда то мы делали много хитрых ipsec туннелей (около 15) на linux (на другой стороне были разные узлы). И racoon и ipsec-tools и вообще всё, что добавили в ядро по поводу IPSEC разработчики ядра показали себя очень плохо.

Первое что бросается в глаза - убогие сообщения, отладить что-либо невозможно (у используемого тогда SuperFreeSWAN всё подробно и понятно), вот и того что вы привели недостаточно опытному с KAME (как я понял) mator-у.

Второе - нет ipsec* интерфейсов, настраивать межсетевой экран на узле, на котором заканчивается один конец туннеля - тяжело, да даже просто посмотреть - бегает что в туннеле или нет (в вашем случае достаточно было бы tcpdump -ni ipsec0 и всё - вы уже знали бы есть там дешифрованные пакеты или нет, ведь возможно и у вас они есть, просты вы об этом не знаете).

Третье - я прямо в ужасе от тех строк, что вы разбили на несколько сообщений, настройка freeswan - всего 5-7 строчек, простых и понятных и ничего лишнего, никакой кучи бинарников, которые надо запускать.

Ну и 4, для тех кому мало :-) то что сделано в ядре по возможностям сильно отставало от FreeSWAN (например сделать несколько туннелей до одного IP на другой стороне, за которым несколько разных IP-подсетей, в том числе подключенных через маршрутизаторы к тому концу туннеля).

Жалко только одно - что в StrongSWAN нет поддержки KLIPS для 2.6.х (это как раз реализация в ядре от FreeSWAN), хотя можно попробовать к StrongSWAN (нравится брольше по функциям и автору проекта) прикрутить KLIPS для 2.6.х от OpenSWAN. Для справки - FreeSWAN и SuperFreeSWAN (FreeSWAN с дополнительными функциями, такими как сертификаты и несколько алгоритмов шифрования) когда то умерли как проекты. Какие то разработчики FreeSWAN сделали новую ветку OpenSWAN, а разработчики SuperFreeSWAN сделали ветку StrongSWAN.

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

> Жалко только одно - что в StrongSWAN нет поддержки KLIPS для 2.6.х (это как раз реализация в ядре от FreeSWAN), хотя можно попробовать к StrongSWAN (нравится брольше по функциям и автору проекта) прикрутить KLIPS для 2.6.х от OpenSWAN.

Автор StrongSWAN это разрешил: https://lists.strongswan.org/pipermail/users/2006-January/001222.html

Кстати, они выпустили экспериментальную версию 4.0 с поддержкой IKEv2.

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

Драсти :-) Поддерживается конечно, ядром и openssl например :-) StrongSWAN 4.x точно умеет, см. http://download.strongswan.org/CHANGES4.txt :

Supported algorithms for IKE:
- Encryption: aes128, aes192, aes256
- Integrity/PRF: md5, sha (using hmac)
- DH-Groups: modp768, 1024, 1536, 2048, 4096, 8192
and for ESP:
- Encryption: aes128, aes192, aes256, 3des, blowfish128, blowfish192, blowfish256
- Integrity: md5, sha1

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

Отсюда http://www.strongswan.org/docs/readme.htm#section_14.1 :

The IKE and ESP cryptographic algorithms to be proposed to the peer as an initiator can be specified on a per connection basis in the form
conn normal
...
ike=aes128-sha-modp1536,3des-sha-modp1536
esp=aes128-sha1,3des-sha1
...
or if you are more paranoid
conn paranoid
...
ike=aes256-sha2_512-modp8192
esp=aes256-sha2_256
...
If the ike and esp configuration parameters are missing in ipsec.conf, then the default settings
ike=3des-md5-modp1536,3des-sha-modp1536,\
3des-md5-modp1024,3des-sha-modp1024
esp=3des-md5,3des-sha1
are implicitly assumed.

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