Прошу прощения если в этом форуме нельзя задавать вопросы и предлагать оплату за решение проблемы. Пробовал более двух раз просить помощи безвозмездно - без ответа.Проблема (на данный момент):
------------------------------
есть удаленый офис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
Спасибо.
Попробуй ВПН ипсек линукс клиент - vpnc <--vpn--> Cisco ASA
>[оверквотинг удален]
> б. были проведены успешные пробы использую роутеры http://www.sarian.co.uk/combination.htm
> в. ...
> г. ...
>
>Вообщем надо настроить соединение LAN-2-LAN между ПК-рутером и Cisco ASA, при этом
>ПК-рутер - должен быть слабой машиной (Pentium 200Mhz, 128Mb RAM).
>
>желающие помочь (форма оплаты любая) - alphil@teleline.es
>
>Спасибо.
Поробовал. Работает без проблем, но не происходит роутинга сетей. 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).
>>
>Поробовал. Работает без проблем, но не происходит роутинга сетей. VPNC клиент при
>подключении к Cisco ASA получает ип-адресс и никаким образом не передает
>АСЕ, что сзади него есть сеть(и).RIP
OSPF
>что-то типа 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 ?
>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 при аутентификации в виде доменного имени, а должен слать в виде ИП адреса, так что ли ? И как же теперь с этим бороться, если к этой киске сейчас подлкючено с десяток аппаратных рутеров и все впроядке, а я не могу ?
>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] - видимо обмен ключами.
Чувствую, что нехватает какой-то мелочи ;-((((((
>Не один пинг не проходит. tcpdump -i ppp0 показывает пакеты идущие от
>моего внешнего ИП к внешнему ИП офиса0 с флагами ESP. Между
>двумя узлами переодически происходит обмен пакетами помеченных [|isakmp] - видимо обмен
>ключами.
>Чувствую, что нехватает какой-то мелочи ;-((((((ЗАРАБОТАЛО. Спасибо всем поддержавшим меня (и предложившим помощь) на форуме и в личной переписке. Мелочь, которой нехватало - была моя внутреняя сеть 192.168.1.0, которая также присутсвовала в центральном офисе, проблема была решена переходом мной в другую сеть.
>установить в офисе1 дешевый компьютер (Pentium 200 Mhz, 128Mb RAM)Без трудностей не можете? :)
Это не экономия на использовании старой техники, компьютер будет новый
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)
>
>Без трудностей не можете? :)
а где покупал если не сикрет?? сейчас сам занимаюсь поиском тонких клиентов...
Там же, откуда и ссылка www.epatec.net>а где покупал если не сикрет?? сейчас сам занимаюсь поиском тонких клиентов...
>
>Там же, откуда и ссылка www.epatec.net
>
>>а где покупал если не сикрет?? сейчас сам занимаюсь поиском тонких клиентов...
>>ищите про gre тунели накрытые ipsec ом - в нем пущен любой из протоколов динамики
у самого 5 объектов так работает(правда на всех cisco но линуха тоже умеют гре)
Заработало? А конфиги выложить?)
>Заработало? А конфиги выложить?)А ну это без проблем. Впринципе, все круги ада которые я прошел описаны в моих сообщениях выше. Одна из следующих проблем была синхронизация времен обмена ключами. На 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, три раза - не могу подключиться к провайдеру,...)Желающим могу прояснить подробности. Скрипты выкладывать не буду, так как я не программист и даже близко не стоял - все сделал на основе своей собственной логики и чтения манов. Потому стыдно это показывать.
А нам вот 5 офисов надо объединить, максимально экономно как здесь нарисовано http://www.lanmark.ru/solutions/vpn_cons.php, возможно ли это малой кровью линухами или фрей или нужно осы покупать?
>[оверквотинг удален]
>$IPSEC_GW2. Т.е. в случае $PRIORITY=4 - каждый 4-ый раз будем подключаться
>к Cisco-Backup. Также в скрипт внедрены элементанрые "echo /a" для подачи
>звука через системный динамик, чтобы без подключения монитора можно было сообразить
>что происходит с системой ("пи" - один раз - успешное подключение,
>два раза - проблема модем USB, три раза - не могу
>подключиться к провайдеру,...)
>
>Желающим могу прояснить подробности. Скрипты выкладывать не буду, так как я не
>программист и даже близко не стоял - все сделал на основе
>своей собственной логики и чтения манов. Потому стыдно это показывать.