DimkaS
написал 1 ноября 2008 года в 13:20 (4221 просмотр)
Ведет себя
как мужчина; открыл 84 темы в форуме, оставил 922 комментария на сайте.
Пытаюсь настроить IPsec туннель между двумя роутерами. Железо на ARM9, отсюда некоторые ньюансы и минимализм.
Nov 1 10:03:16 ER75iX authpriv.warn pluto[1121]: Starting Pluto (Openswan Version 2.2.0 X.509-1.5.4 PLUTO_USES_KEYRR)
Nov 1 10:03:16 ER75iX authpriv.warn pluto[1121]: including NAT-Traversal patch (Version 0.6c) [disabled]
Nov 1 10:03:16 ER75iX authpriv.warn pluto[1121]: ike_alg_register_enc(): Activating OAKLEY_AES_CBC: Ok (ret=0)
Nov 1 10:03:16 ER75iX authpriv.warn pluto[1121]: Using KLIPS IPsec interface code
Nov 1 10:03:16 ER75iX authpriv.warn pluto[1121]: Changing to directory '/etc/ipsec.d/cacerts'
Nov 1 10:03:16 ER75iX authpriv.warn pluto[1121]: Changing to directory '/etc/ipsec.d/aacerts'
Nov 1 10:03:16 ER75iX authpriv.warn pluto[1121]: Changing to directory '/etc/ipsec.d/ocspcerts'
Nov 1 10:03:16 ER75iX authpriv.warn pluto[1121]: Changing to directory '/etc/ipsec.d/crls'
Nov 1 10:03:16 ER75iX authpriv.warn pluto[1121]: Warning: empty directory
Nov 1 10:03:19 ER75iX authpriv.warn pluto[1121]: added connection description "ipsec"
Nov 1 10:03:19 ER75iX authpriv.warn pluto[1121]: listening for IKE messages
Nov 1 10:03:19 ER75iX authpriv.warn pluto[1121]: adding interface ipsec0/ppp0 85.26.139.166
Nov 1 10:03:19 ER75iX authpriv.warn pluto[1121]: loading secrets from "/var/ipsec/ipsec.secrets"
Nov 1 10:03:19 ER75iX authpriv.warn pluto[1121]: "ipsec" #1: initiating Main Mode
Nov 1 10:03:19 ER75iX authpriv.debug pluto[1121]: | no IKE algorithms for this connection
Nov 1 10:03:19 ER75iX authpriv.debug pluto[1121]: | no IKE algorithms for this connection
Nov 1 10:03:19 ER75iX authpriv.debug pluto[1121]: | no ISAKMP SA algo proposal to send -using default 3DES-MD5/SHA1
Nov 1 10:03:22 ER75iX authpriv.warn pluto[1121]: "ipsec" #1: ERROR: asynchronous network error report on ppp0 for message to 217.66.146.20 port 500, complainant 217.66.146.20: Connection refused [errno 111, origin ICMP type 3 code 3 (not authenticated)]
Nov 1 10:03:32 ER75iX authpriv.warn pluto[1121]: "ipsec" #1: ERROR: asynchronous network error report on ppp0 for message to 217.66.146.20 port 500, complainant 217.66.146.20: Connection refused [errno 111, origin ICMP type 3 code 3 (not authenticated)]
Nov 1 10:03:38 ER75iX authpriv.warn pluto[1121]: "ipsec" #2: responding to Main Mode
Nov 1 10:03:38 ER75iX authpriv.warn pluto[1121]: "ipsec" #2: transition from state (null) to state STATE_MAIN_R1
Nov 1 10:03:40 ER75iX authpriv.warn pluto[1121]: "ipsec" #2: transition from state STATE_MAIN_R1 to state STATE_MAIN_R2
Nov 1 10:03:42 ER75iX authpriv.warn pluto[1121]: "ipsec" #2: Peer ID is ID_IPV4_ADDR: '217.66.146.20'
Nov 1 10:03:42 ER75iX authpriv.warn pluto[1121]: "ipsec" #2: I did not send a certificate because I do not have one.
Nov 1 10:03:42 ER75iX authpriv.warn pluto[1121]: "ipsec" #2: transition from state STATE_MAIN_R2 to state STATE_MAIN_R3
Nov 1 10:03:42 ER75iX authpriv.warn pluto[1121]: "ipsec" #2: sent MR3, ISAKMP SA established
Nov 1 10:03:43 ER75iX authpriv.warn pluto[1121]: "ipsec" #3: kernel algorithm does not like: no alg
Nov 1 10:03:44 ER75iX authpriv.warn pluto[1121]: "ipsec" #3: unsupported ESP Transform ESP_AES from 217.66.146.20
Nov 1 10:03:44 ER75iX authpriv.warn pluto[1121]: "ipsec" #3: kernel algorithm does not like: no alg
Nov 1 10:03:44 ER75iX authpriv.warn pluto[1121]: "ipsec" #3: unsupported ESP Transform ESP_AES from 217.66.146.20
Nov 1 10:03:44 ER75iX authpriv.warn pluto[1121]: "ipsec" #3: responding to Quick Mode
Nov 1 10:03:44 ER75iX authpriv.err pluto[1121]: ERROR: "ipsec" #3: pfkey write() of SADB_ADD message 5 for Add SA tun.1001@217.66.146.20 failed. Errno 22: Invalid argument
Nov 1 10:03:44 ER75iX authpriv.debug pluto[1121]: | 02 03 00 09 0b 00 00 00 05 00 00 00 61 04 00 00
Nov 1 10:03:44 ER75iX authpriv.debug pluto[1121]: | 03 00 01 00 00 00 10 01 00 01 00 00 00 00 00 00
Nov 1 10:03:44 ER75iX authpriv.debug pluto[1121]: | ff ff ff ff 00 00 00 00 03 00 05 00 00 00 00 00
Nov 1 10:03:44 ER75iX authpriv.debug pluto[1121]: | 02 00 00 00 d9 42 92 14 00 00 00 00 00 00 00 00
Nov 1 10:03:44 ER75iX authpriv.debug pluto[1121]: | 03 00 06 00 00 00 00 00 02 00 00 00 55 1a 8b a6
Nov 1 10:03:44 ER75iX authpriv.debug pluto[1121]: | 00 00 00 00 00 00 00 00
Nov 1 10:03:51 ER75iX authpriv.warn pluto[1121]: "ipsec" #1: transition from state STATE_MAIN_I1 to state STATE_MAIN_I2
Nov 1 10:03:54 ER75iX authpriv.warn pluto[1121]: "ipsec" #1: I did not send a certificate because I do not have one.
Nov 1 10:03:54 ER75iX authpriv.warn pluto[1121]: "ipsec" #1: transition from state STATE_MAIN_I2 to state STATE_MAIN_I3
Nov 1 10:03:54 ER75iX authpriv.warn pluto[1121]: "ipsec" #2: Quick Mode I1 message is unacceptable because it uses a previously used Message ID 0xffe9bc9a (perhaps this is a duplicated packet)
Nov 1 10:03:54 ER75iX authpriv.warn pluto[1121]: "ipsec" #2: sending encrypted notification INVALID_MESSAGE_ID to 217.66.146.20:500
Nov 1 10:03:55 ER75iX authpriv.warn pluto[1121]: "ipsec" #1: Peer ID is ID_IPV4_ADDR: '217.66.146.20'
Nov 1 10:03:55 ER75iX authpriv.warn pluto[1121]: "ipsec" #1: transition from state STATE_MAIN_I3 to state STATE_MAIN_I4
Nov 1 10:03:55 ER75iX authpriv.warn pluto[1121]: "ipsec" #1: ISAKMP SA established
Nov 1 10:03:55 ER75iX authpriv.warn pluto[1121]: "ipsec" #4: initiating Quick Mode PSK+ENCRYPT+TUNNEL+UP {using isakmp#1}
Nov 1 10:04:10 ER75iX authpriv.warn pluto[1121]: "ipsec" #1: ignoring informational payload, type INVALID_MESSAGE_ID
Nov 1 10:04:10 ER75iX authpriv.warn pluto[1121]: "ipsec" #1: received and ignored informational message
Nov 1 10:04:14 ER75iX authpriv.warn pluto[1121]: "ipsec" #2: Quick Mode I1 message is unacceptable because it uses a previously used Message ID 0xffe9bc9a (perhaps this is a duplicated packet)
Nov 1 10:04:14 ER75iX authpriv.warn pluto[1121]: "ipsec" #2: sending encrypted notification INVALID_MESSAGE_ID to 217.66.146.20:500
Nov 1 10:04:30 ER75iX authpriv.warn pluto[1121]: "ipsec" #1: ignoring informational payload, type INVALID_MESSAGE_ID
Nov 1 10:04:30 ER75iX authpriv.warn pluto[1121]: "ipsec" #1: received and ignored informational message
Nov 1 10:04:54 ER75iX authpriv.warn pluto[1121]: "ipsec" #5: kernel algorithm does not like: no alg
Nov 1 10:04:54 ER75iX authpriv.warn pluto[1121]: "ipsec" #5: unsupported ESP Transform ESP_AES from 217.66.146.20
Nov 1 10:04:54 ER75iX authpriv.warn pluto[1121]: "ipsec" #5: kernel algorithm does not like: no alg
Nov 1 10:04:54 ER75iX authpriv.warn pluto[1121]: "ipsec" #5: unsupported ESP Transform ESP_AES from 217.66.146.20
Nov 1 10:04:54 ER75iX authpriv.warn pluto[1121]: "ipsec" #5: responding to Quick Mode
Никак не могу понять из этой каши, в чём именно ошибка. Объясните, пожалуйста.
Большой лог тут: http://paste.org.ru/?ajjh2q
Стартовый скрипт: http://paste.org.ru/?hdsst9
Последние комментарии
-
OlegL, 17 декабря 2023 года в 15:00 →
Перекличка
21
-
REDkiy, 8 июня 2023 года в 9:09 →
Как «замокать» файл для юниттеста в Python?
2
-
fhunter, 29 ноября 2022 года в 2:09 →
Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt?
6
-
Иванн, 9 апреля 2022 года в 8:31 →
Ассоциация РАСПО провела первое учредительное собрание
1
-
Kiri11.ADV1, 7 марта 2021 года в 12:01 →
Логи catalina.out в TomCat 9 в формате JSON
1
DevOps as a Service from Palark
24/7 SRE & DevOps service to cover all your Kubernetes needs.

Ага. Кажется начинаю понимать.Ошибка
случается при несовпадении версий модуля ядра и userland утилит. У меня именно так и есть: утилиты брал из пакетов debian arm, а модуль собирал из исходников с сайта openswan. Собрать утилиты из тех же исходников пока не выходит — они почему-то компилятся под i386 вместо arm. Попробую собрать новый модуль под имеющиеся утилиты.
Весь день разговариваю сам с собой на #openswan@irc.freenode.net. Разработчики молчат. Пересобрал libgmp для работы с software FP, собрал openswan: модуль и утилиты. Залил прошивку, запускаю — не запускается. Смотрю в логи, а там:
Во-первых, я не знаю зачем этот lwdnsq нужен. Во-вторых, места для него всё равно нет. Интересно, что старый pluto сообщал только про один алгоритм: OAKLEY_AES_CBC. Новый же выдаёт целую кучу. Знать бы, где это настраивается — большая часть этого барахла мне не нужна. Скрипта ./configure нету…
Настраивается в Makefile.inc флагами USE_
Всё собралось и даже запускается без ошибок. Но пинги не ходят, соединения не устанавливаются. whack --status показывает такую картину:
000 using kernel interface: klips 000 interface ipsec0/ppp0 85.26.139.166 000 %myid = (none) 000 debug none 000 000 algorithm ESP encrypt: id=3, name=ESP_3DES, ivlen=64, keysizemin=192, keysizemax=192 000 algorithm ESP encrypt: id=12, name=ESP_AES, ivlen=128, keysizemin=128, keysizemax=256 000 algorithm ESP auth attr: id=1, name=AUTH_ALGORITHM_HMAC_MD5, keysizemin=128, keysizemax=128 000 algorithm ESP auth attr: id=2, name=AUTH_ALGORITHM_HMAC_SHA1, keysizemin=160, keysizemax=160 000 000 algorithm IKE encrypt: id=5, name=OAKLEY_3DES_CBC, blocksize=8, keydeflen=192 000 algorithm IKE encrypt: id=7, name=OAKLEY_AES_CBC, blocksize=16, keydeflen=128 000 algorithm IKE hash: id=1, name=OAKLEY_MD5, hashsize=16 000 algorithm IKE hash: id=2, name=OAKLEY_SHA1, hashsize=20 000 algorithm IKE dh group: id=2, name=OAKLEY_GROUP_MODP1024, bits=1024 000 algorithm IKE dh group: id=5, name=OAKLEY_GROUP_MODP1536, bits=1536 000 algorithm IKE dh group: id=14, name=OAKLEY_GROUP_MODP2048, bits=2048 000 algorithm IKE dh group: id=15, name=OAKLEY_GROUP_MODP3072, bits=3072 000 algorithm IKE dh group: id=16, name=OAKLEY_GROUP_MODP4096, bits=4096 000 algorithm IKE dh group: id=17, name=OAKLEY_GROUP_MODP6144, bits=6144 000 algorithm IKE dh group: id=18, name=OAKLEY_GROUP_MODP8192, bits=8192 000 000 stats db_ops: {curr_cnt, total_cnt, maxsz} :context={0,0,0} trans={0,0,0} attrs={0,0,0} 000 000 "ipsec": 192.168.1.0/24===85.26.139.166...217.66.146.3===192.168.2.0/24; erouted; eroute owner: #4 000 "ipsec": myip=unset; hisip=unset; myup=/etc/init.d/updown; hisup=/etc/init.d/updown; 000 "ipsec": ike_life: 3600s; ipsec_life: 3600s; rekey_margin: 540s; rekey_fuzz: 100%; keyingtries: 0 000 "ipsec": policy: PSK+ENCRYPT+TUNNEL+UP; prio: 24,24; interface: ppp0; 000 "ipsec": newest ISAKMP SA: #1; newest IPsec SA: #4; 000 "ipsec": IKE algorithm newest: AES_CBC_128-SHA1-MODP2048 000 000 #4: "ipsec":500 STATE_QUICK_R2 (IPsec SA established); EVENT_SA_REPLACE in 2918s; newest IPSEC; eroute owner; isakmp#2; idle; import:not set 000 #4: "ipsec" esp.785e4d7e@217.66.146.3 esp.fb83d347@85.26.139.166 tun.1001@217.66.146.3 tun.1002@85.26.139.166 000 #2: "ipsec":500 STATE_MAIN_R3 (sent MR3, ISAKMP SA established); EVENT_SA_REPLACE in 2916s; lastdpd=-1s(seq in:0 out:0); idle; import:not set 000 #3: "ipsec":500 STATE_QUICK_I2 (sent QI2, IPsec SA established); EVENT_SA_REPLACE in 2376s; isakmp#1; idle; import:admin initiate 000 #3: "ipsec" esp.785e4d7f@217.66.146.3 esp.fb83d346@85.26.139.166 tun.1003@217.66.146.3 tun.1004@85.26.139.166 000 #1: "ipsec":500 STATE_MAIN_I4 (ISAKMP SA established); EVENT_SA_REPLACE in 2310s; newest ISAKMP; lastdpd=-1s(seq in:0 out:0); idle; import:admin initiate 000route и ping:
Не понимаю
# ifconfig ipsec0 ipsec0 Link encap:Point-to-Point Protocol inet addr:85.26.139.166 Mask:255.255.255.255 UP RUNNING NOARP MTU:16260 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 overruns:0 carrier:0 collisions:0 txqueuelen:10dropped:69 — можно как-то узнать причины дропанья?
Я так понимаю, что esp-трафик не маскарадится, а сразу загоняется в туннель?
Всё оказалось банальнее. Пинги с роутера и на роутер не проходят. А с компа в сети на комп в другой сети — вполне. Пинги, правда, немеряные — до 5 секунд, но работает.
Т.е. тебе банально не хватало терпения? :)
Есть мнение, что это — далеко не нормальный режим функционирования.
Не совсем. Я пинговал с роутера. С него не ходили почему-то. Пинги большие, т.к. это gprs. Х.з. как оно там петляет.
Теперь другая проблема. Туннель нормально поднимается, опускается, поднимается снова. Но после разрыва ppp соединения начинают сыпаться такие сообщения:
Любая команда ifconfig повисает наглухо. Подять ppp соединение не удаётся. Единственное решение — перезагрузка. Никак не могу понять причину ошибки — ipsec завершается нормально, интерфейсы освобождаются… Но ppp остаётся занят.
Кстати, даже после опускания ipsec туннеля модуль ipsec нельзя удалить из ядра. lsmod говорит, что он [peranent]. Это нормально?
По заверениям разработчиков ошибка исправлена в openswan-2.6.18, но он не собирается :)