URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID6
Нить номер: 16038
[ Назад ]

Исходное сообщение
"(за деньги) vpn ipsec между Cisco ASA и Linux клиентом"

Отправлено philippov , 16-Апр-08 01:12 
Прошу прощения если  в этом форуме нельзя задавать вопросы и предлагать оплату за решение проблемы. Пробовал более двух раз просить помощи безвозмездно - без ответа.

Проблема (на данный момент):
------------------------------
есть удаленый офис1 подключаемый к офису0 посредством услуг (все равно как) телефонной компании (провайдера интернета). Иногда связь пропадает из-за разных причин (обрыв кабеля, все равно как) до нескольких дней.

Решение проблемы (диктует начальство):
---------------------------------------
установить в офисе1 дешевый компьютер (Pentium 200 Mhz, 128Mb RAM), с ИП адресом рутера установленного на данный момент телефонной компанией и подключенным к нему модемом мобильной связи (UMTS), в случае падения связи по главной линии, первое устройство выключается и включается "дешевый компьютер" - все локальные клиенты офиса1 идут в сеть офиса0 через этот компьютер и мобильную связь (пока не починят основную линию). НАТ не годится - должна быть LAN-2-LAN. Думаю через racoon и ipsec-tools. Клиенты из офис0 также дложны видеть удаленных клиентов из офиса1.

Условия решения проблемы:
--------------------------
а. офис0 установил у себя для решения этой проблемы Cisco ASA, настроив подключение типа LAN-2-LAN.
б. были проведены успешные пробы использую роутеры http://www.sarian.co.uk/combination.htm
в. ...
г. ...

Вообщем надо настроить соединение LAN-2-LAN между ПК-рутером и Cisco ASA, при этом ПК-рутер - должен быть слабой машиной (Pentium 200Mhz, 128Mb RAM).

желающие помочь (форма оплаты любая) - alphil@teleline.es

Спасибо.


Содержание

Сообщения в этом обсуждении
"(за деньги) vpn ipsec между Cisco ASA и Linux клиентом"
Отправлено Аноним , 16-Апр-08 11:42 
Попробуй ВПН ипсек линукс клиент - vpnc <--vpn--> Cisco ASA


>[оверквотинг удален]
> б. были проведены успешные пробы использую роутеры http://www.sarian.co.uk/combination.htm
> в. ...
> г. ...
>
>Вообщем надо настроить соединение LAN-2-LAN между ПК-рутером и Cisco ASA, при этом
>ПК-рутер - должен быть слабой машиной (Pentium 200Mhz, 128Mb RAM).
>
>желающие помочь (форма оплаты любая) - alphil@teleline.es
>
>Спасибо.


"(за деньги) vpn ipsec между Cisco ASA и Linux клиентом"
Отправлено philippov , 16-Апр-08 14:19 
Поробовал. Работает без проблем, но не происходит роутинга сетей. VPNC клиент при подключении к Cisco ASA получает ип-адресс и никаким образом не передает АСЕ, что сзади него есть сеть(и). Используя iptables на этом vpnc - могу через НАТ дать выход всем клиентам из сети1 в сеть0 через тунель, но также необходим и обратный процесс - из сети0 в сеть1. Короче говоря нужен рутер - LAN-2-LAN, а не Peer-2-Lan.

Согласно техникам, которые настраивали Cisco ASA, они мне сгенерировали два вида доступа:

- LAN-2-LAN - при этом мне выдаются следующие данные: PreSharedKey, набор внутренних сетей (за Cisco), и типы энкриптации (DES, DHG2, ESP, SHA1,...)
- Peer-2-LAN - мне выдают: UserName, UserPassword, GroupName, GroupPassword.

Вот как раз вторым способом я подключаюсь с помощью vpnc - без проблем. Для первого незнаю чем воспользоваться, точнее подозреваю, что должно быть что-то типа ipsec-tools, но ситуация ограничивается использованием дистибутива SLAX. И там я уже не в силах скомпилировать и установить ipsec-tools. Потому прошу помощи.


>Попробуй ВПН ипсек линукс клиент - vpnc <--vpn--> Cisco ASA
>
>
>>[оверквотинг удален]
>>
>>Вообщем надо настроить соединение LAN-2-LAN между ПК-рутером и Cisco ASA, при этом
>>ПК-рутер - должен быть слабой машиной (Pentium 200Mhz, 128Mb RAM).
>>


"(за деньги) vpn ipsec между Cisco ASA и Linux клиентом"
Отправлено ShyLion , 17-Апр-08 13:24 
>Поробовал. Работает без проблем, но не происходит роутинга сетей. VPNC клиент при
>подключении к Cisco ASA получает ип-адресс и никаким образом не передает
>АСЕ, что сзади него есть сеть(и).

RIP
OSPF


"(за деньги) vpn ipsec между Cisco ASA и Linux клиентом"
Отправлено philippov , 19-Апр-08 18:19 
>что-то типа ipsec-tools, но ситуация ограничивается использованием дистибутива SLAX. И
>там я уже не в силах скомпилировать и установить ipsec-tools. Потому прошу
>помощи.

Установил ipsec-tools. Настроил psk.txt, setkey.conf, racoon.conf

echo 1 > /proc/sys/net/ipv4/ip_forwarding

setkey -f /etc/racoon/setkey.conf
racoon -f /etc/racoon/racoon.conf -F

делаем пинг в сеть главного офиса и смотрим за выводом racoon

2008-04-19 17:48:02: INFO: @(#)ipsec-tools 0.7 (http://ipsec-tools.sourceforge.net)
2008-04-19 17:48:02: INFO: @(#)This product linked OpenSSL 0.9.8g 19 Oct 2007 (http://www.openssl.org/)
2008-04-19 17:48:02: INFO: Reading configuration from "/etc/racoon/racoon.conf"
2008-04-19 17:48:02: DEBUG: call pfkey_send_register for AH
2008-04-19 17:48:02: DEBUG: call pfkey_send_register for ESP
2008-04-19 17:48:02: DEBUG: call pfkey_send_register for IPCOMP
2008-04-19 17:48:02: INFO: Resize address pool from 0 to 255
2008-04-19 17:48:02: DEBUG: reading config file /etc/racoon/racoon.conf
2008-04-19 17:48:02: INFO: 88.31.254.216[500] used as isakmp port (fd=6)
2008-04-19 17:48:02: INFO: 88.31.254.216[500] used for NAT-T
2008-04-19 17:48:07: INFO: IPsec-SA request for 212.XXX.XXX.XXX queued due to no phase1 found.
2008-04-19 17:48:07: INFO: initiate new phase 1 negotiation: 88.31.254.216[500]<=>212.XXX.XX.XXX[500]
2008-04-19 17:48:07: INFO: begin Identity Protection mode.
2008-04-19 17:48:10: INFO: received broken Microsoft ID: FRAGMENTATION
2008-04-19 17:48:10: INFO: received Vendor ID: CISCO-UNITY
2008-04-19 17:48:10: INFO: received Vendor ID: draft-ietf-ipsra-isakmp-xauth-06.txt
2008-04-19 17:48:11: INFO: received Vendor ID: DPD
2008-04-19 17:48:11: ERROR: Expecting IP address type in main mode, but FQDN.
2008-04-19 17:48:11: ERROR: invalid ID payload.
2008-04-19 17:48:20: INFO: received Vendor ID: DPD
2008-04-19 17:48:20: ERROR: Expecting IP address type in main mode, but FQDN.
2008-04-19 17:48:20: ERROR: invalid ID payload.
2008-04-19 17:48:21: ERROR: ignore information because ISAKMP-SAhas not been established yet.
2008-04-19 17:48:23: ERROR: ignore information because ISAKMP-SAhas not been established yet.
2008-04-19 17:48:25: ERROR: ignore information because ISAKMP-SAhas not been established yet.
2008-04-19 17:48:27: ERROR: ignore information because ISAKMP-SAhas not been established yet.

Где копать ? Как понимать два первых сообщения ERROR ?



"(за деньги) vpn ipsec между Cisco ASA и Linux клиентом"
Отправлено philippov , 20-Апр-08 00:11 
>2008-04-19 17:48:20: ERROR: Expecting IP address type in main mode, but FQDN.
>2008-04-19 17:48:20: ERROR: invalid ID payload.
>Где копать ? Как понимать два первых сообщения ERROR ?

наверное нашел ответ на свой вопрос

http://mlblog.osdir.com/network.ipsec.tools.devel/2006-10/in...

Q: ERROR: Expecting IP address type in main mode, but FQDN.
A: The problem is exactly here. Your Cisco sends an FQDN in a MAIN mode negociation, where the RFC2409 says that is not possible (see sect. 5.4).

Получается, что Cisco шлет свой ID при аутентификации в виде доменного имени, а должен слать в виде ИП адреса, так что ли ? И как же теперь с этим бороться, если к этой киске сейчас подлкючено с десяток аппаратных рутеров и все впроядке, а я не могу ?


"(за деньги) vpn ipsec между Cisco ASA и Linux клиентом"
Отправлено philippov , 20-Апр-08 21:16 
>Q: ERROR: Expecting IP address type in main mode, but FQDN.
>A: The problem is exactly here. Your Cisco sends an FQDN in
>a MAIN mode negociation, where the RFC2409 says that is not
>possible (see sect. 5.4).
>Получается, что Cisco шлет свой ID при аутентификации в виде доменного имени,
>а должен слать в виде ИП адреса, так что ли ?

Нашел заплатку которая правит в src/racoon/ipsec_doi.c пару строк

> -                     plog(LLV_ERROR, LOCATION, NULL,
> +                     plog(LLV_WARNING, LOCATION, NULL,
>                               "Expecting IP address type in main mode, "
>                               "but %s.\n", s_ipsecdoi_ident(id_b->type));
> -                     return ISAKMP_NTYPE_INVALID_ID_INFORMATION;

Подправил пересобрал, получаю прохождение фазы1, прохождение фазы2. Поднимаются два туннеля. С моего ИП на удаленный и наоборот.

Не один пинг не проходит. tcpdump -i ppp0 показывает пакеты идущие от моего внешнего ИП к внешнему ИП офиса0 с флагами ESP. Между двумя узлами переодически происходит обмен пакетами помеченных [|isakmp] - видимо обмен ключами.
Чувствую, что нехватает какой-то мелочи ;-((((((


"(за деньги) vpn ipsec между Cisco ASA и Linux клиентом"
Отправлено philippov , 21-Апр-08 23:31 
>Не один пинг не проходит. tcpdump -i ppp0 показывает пакеты идущие от
>моего внешнего ИП к внешнему ИП офиса0 с флагами ESP. Между
>двумя узлами переодически происходит обмен пакетами помеченных [|isakmp] - видимо обмен
>ключами.
>Чувствую, что нехватает какой-то мелочи ;-((((((

ЗАРАБОТАЛО. Спасибо всем поддержавшим меня (и предложившим помощь) на форуме и в личной переписке. Мелочь, которой нехватало - была моя внутреняя сеть 192.168.1.0, которая также присутсвовала в центральном офисе, проблема была решена переходом мной в другую сеть.



"(за деньги) vpn ipsec между Cisco ASA и Linux клиентом"
Отправлено ShyLion , 16-Апр-08 15:53 
>установить в офисе1 дешевый компьютер (Pentium 200 Mhz, 128Mb RAM)

Без трудностей не можете? :)


"(за деньги) vpn ipsec между Cisco ASA и Linux клиентом"
Отправлено philippov , 16-Апр-08 17:37 
Это не экономия на использовании старой техники, компьютер будет новый
http://store.epatec.net/es/images/images_big/2100_a.jpg

На таком же PC, я проводил испытания используя OpenVPN - и это чудо работало на ура и в виде сервера и в виде клиента (при этом поддерживая SSH, DynDNS, CRON, TUN или TAP режимы тунеля). При этом я использовал фродо версию SLAX (50 Mb), которая загружалась в память компа и отключала флэш карту (на случай перебоев в питании).

>>установить в офисе1 дешевый компьютер (Pentium 200 Mhz, 128Mb RAM)
>
>Без трудностей не можете? :)


"(за деньги) vpn ipsec между Cisco ASA и Linux клиентом"
Отправлено djek , 17-Апр-08 10:21 
а где покупал если не сикрет?? сейчас сам занимаюсь поиском тонких клиентов...



"(за деньги) vpn ipsec между Cisco ASA и Linux клиентом"
Отправлено philippov , 17-Апр-08 10:45 
Там же, откуда и ссылка www.epatec.net

>а где покупал если не сикрет?? сейчас сам занимаюсь поиском тонких клиентов...
>


"(за деньги) vpn ipsec между Cisco ASA и Linux клиентом"
Отправлено KiM , 20-Апр-08 20:25 
>Там же, откуда и ссылка www.epatec.net
>
>>а где покупал если не сикрет?? сейчас сам занимаюсь поиском тонких клиентов...
>>

ищите про gre тунели накрытые ipsec ом - в нем пущен любой из протоколов динамики

у самого 5 объектов так работает(правда на всех cisco но линуха тоже умеют гре)


"(за деньги) vpn ipsec между Cisco ASA и Linux клиентом"
Отправлено Constin , 30-Сен-08 16:56 
Заработало? А конфиги выложить?)

"(за деньги) vpn ipsec между Cisco ASA и Linux клиентом"
Отправлено philippov , 01-Окт-08 02:36 
>Заработало? А конфиги выложить?)

А ну это без проблем. Впринципе, все круги ада которые я прошел описаны в моих сообщениях выше. Одна из следующих проблем была синхронизация времен обмена ключами. На Cisco стояли значения по умолчанию - Dead Peer Detect обрывал связь через 30 минут, в случае отсутствия траффика из удаленных сетей. Пришлось совершать принудительный (со стороны клиента) обмен ключами каждые 20 минут. На данный момент устойство работает - замечаний нет. На прошлой недели совершили некоторые модификации в скриптах и теперь есть другая версия работающая через любые подключения к Инет - АДСЛ-рутер (NAT-TRAVERSAL), АДСЛ-модем, Кабель-Модем. Следующий шаг - автоматизация смены типа подключения - если падает канал АДСЛ - должен произойти перезапуск процессов но уже через мобильную связь и обратно, в случае поднятия приоритетного канала.

Как сделано:
Создан пользователь для конфигурации, которому при входе (консоль или telnet-ssh) сразу же запускается config.sh - примитивный диалог-скрипт спрашивающий все необходимые для подключения данные (ip, netmask, внутренние сети, сети за туннелем, cisco-public-ip's_main/backup, preshared-key, приоритет между main/backup). Все это пишется в файл с правами 700 в таком виде.

IPADDR 10.100.70.2/24
NETWORK 10.100.70.0/24
HOSTNAME shop_666
DOMAIN consumer.net
IPSEC_GW1 aaa.bbb.ccc.ddd
PSK1 XXXXXXXXXX
IPSEC_GW2 eee.fff.ggg.hhh
PSK2 XXXXXXXXXX
PRIORITY 4
IPSEC_NET1 10.0.0.0/8
IPSEC_NET2 192.168.10.0/24
IPSEC_NET3 192.168.15.0/24

После сохранения данных, устройство перезагружается - пытаясь определить присутсвие модема USB (тут заслуга SLAX). При обнаружении одного из используемых в нашей местности модема (Huawei, Novatel или Sierra) - посылаем ПИН код (всегда один и тот же) в /dev/ttyUSB0. Поднимаем eth0 c параметрами $IPADDR/$NETWORK, прописываем $HOSTNAME/$DOMAIN в /etc/hostaname /etc/resolve. Вызываем ppp-go, скрипт присутсвующий в SLAX (заранее изменяем параметры конфигурации под используемого провайдера), убеждаемся что связь установлена, выдергиваем полученый публичный ИП через ifconfig ppp0 | grep ..., генерируем setkey.conf и racoon.conf, psk.txt - утсанавливаем права на эти файлы 700 (иначе не работает). Выполняем echo 1 > /proc/sys/net/ipv4/ip_forwarding, setkey -f /etc/racoon/setkey.conf, racoon -f /etc/racoon/racoon.conf
Проверяем пиды процессов, наличие интерфейса ppp0, делаем одинарный пинг в $IPSEC_NET1, $IPSEC_NET2, $IPSEC_NET3 для поднятия туннелей со всеми предполагаемыми сетями. Каждые 30 секунд проверяем, что процесс racoon жив, что мобильная связь не упала, что в /var/log/racoon.log - нет записей ERROR. В любом из этих случаев перезапускаем скрипт подсчитывая количество попыток установить успешную связь с $IPSEC_GW1. Делим количество попыток на $PRIORITY - если дает результат с остатком - пытаемся снова подключиться к $IPSEC_GW1. Если остаток "ноль" - подключаемся к $IPSEC_GW2. Т.е. в случае $PRIORITY=4 - каждый 4-ый раз будем подключаться к Cisco-Backup. Также в скрипт внедрены элементанрые "echo /a" для подачи звука через системный динамик, чтобы без подключения монитора можно было сообразить что происходит с системой ("пи" - один раз - успешное подключение, два раза - проблема модем USB, три раза - не могу подключиться к провайдеру,...)

Желающим могу прояснить подробности. Скрипты выкладывать не буду, так как я не программист и даже близко не стоял - все сделал на основе своей собственной логики и чтения манов. Потому стыдно это показывать.


"(за деньги) vpn ipsec между Cisco ASA и Linux клиентом"
Отправлено Cucumber , 18-Дек-08 12:21 
А нам вот 5 офисов надо объединить, максимально экономно как здесь нарисовано http://www.lanmark.ru/solutions/vpn_cons.php, возможно ли это малой кровью линухами или фрей или нужно осы покупать?


>[оверквотинг удален]
>$IPSEC_GW2. Т.е. в случае $PRIORITY=4 - каждый 4-ый раз будем подключаться
>к Cisco-Backup. Также в скрипт внедрены элементанрые "echo /a" для подачи
>звука через системный динамик, чтобы без подключения монитора можно было сообразить
>что происходит с системой ("пи" - один раз - успешное подключение,
>два раза - проблема модем USB, три раза - не могу
>подключиться к провайдеру,...)
>
>Желающим могу прояснить подробности. Скрипты выкладывать не буду, так как я не
>программист и даже близко не стоял - все сделал на основе
>своей собственной логики и чтения манов. Потому стыдно это показывать.