The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
FreeBSD 5.4: не работает VPN на IPSEC, !*! Vasiliy_Seleznev, 24-Окт-05, 17:20  [смотреть все]
Система: два маршрутизатора на FreeBSD 5.4.
Раньше была одна машина на FreeBSD 5.2, вторая на 5.4, всё работало (оба маршрутизатора конфигурил сам с нуля). Поменял один из них, перестало работать. Не могу разобраться, то-ли я сам дурак, то-ли что-то на самом деле глючит.
Симптомы:
Конфигурю тунель (gif0 create, route add...), после этого пускаю пинг со 192.168.60.1 на 192.168.61.1. Пинг проходит.
Когда включаю шифрование (setkey), пинг перестаёт проходить.
После изврата с tcpdump я пришёл к следующему выводу:
проблемная машина (192.168.60.1) получает ESP пакеты, их содержимое не попадает на gif0.
Машина 192.168.61.1 получает ESP пакеты, корректно их обрабатывает и отсылает обратные, которые ДОХОДЯТ до проблемной машины, но там не расшифровываются.
Подскажите, где грабли? Пятой точкой чую, что где-то сам туплю
  • FreeBSD 5.4: не работает VPN на IPSEC, !*! Moralez, 06:42 , 25-Окт-05 (1)
    • FreeBSD 5.4: не работает VPN на IPSEC, !*! Vasiliy_Seleznev, 12:10 , 25-Окт-05 (2)
      >А почему ни слова про IKE? Он у вас есть вообще?

      Я даже не знаю, что это такое :)

      Я просто пересобрал ядро с options IPSEC (и др.), поставил racoon и всё работало.
      Потом точно так же настроил новый маршрутизатор, работать перестало.

      Настройки файрвола
      100 pass all from any to any via gif0
      200 pass all from xxx.xxx.xxx.xxx to yyy.yyy.yyy.yyy
      300 pass all from yyy.yyy.yyy.yyy to xxx.xxx.xxx.xxx

    • FreeBSD 5.4: не работает VPN на IPSEC, !*! Vasiliy_Seleznev, 12:31 , 25-Окт-05 (3)
      >А почему ни слова про IKE? Он у вас есть вообще?

      Имеется в виду internet key exchange? Так racoon для этого и создан.

      Racoon стартуется на обоих концах (пробовал запускать racoon с ключем -F, всё ок вроде)
      вот что пишет при попытке пинга на проблемной машине:

      domain# ./racoon -F
      Foreground mode.
      2005-10-25 12:30:31: INFO: main.c:172:main(): @(#)package version freebsd-20040818a
      2005-10-25 12:30:31: INFO: main.c:174:main(): @(#)internal version 20001216 sakane@kame.net
      2005-10-25 12:30:31: INFO: main.c:175:main(): @(#)This product linked OpenSSL 0.9.7e 25 Oct 2004 (http://www.openssl.org/)
      2005-10-25 12:30:31: INFO: isakmp.c:1368:isakmp_open(): xxx.xxx.xxx.xxx[500] used as isakmp port (fd=5)
      2005-10-25 12:30:41: INFO: isakmp.c:1694:isakmp_post_acquire(): IPsec-SA request for yyy.yyy.yyy.yyy queued due to no phase1 found.
      2005-10-25 12:30:41: INFO: isakmp.c:808:isakmp_ph1begin_i(): initiate new phase 1 negotiation: xxx.xxx.xxx.xxx[500]<=>yyy.yyy.yyy.yyy[500]
      2005-10-25 12:30:41: INFO: isakmp.c:813:isakmp_ph1begin_i(): begin Aggressive mode.
      2005-10-25 12:30:41: INFO: vendorid.c:128:check_vendorid(): received Vendor ID: KAME/racoon
      2005-10-25 12:30:42: NOTIFY: oakley.c:2084:oakley_skeyid(): couldn't find the proper pskey, try to get one by the peer's address.
      2005-10-25 12:30:42: INFO: isakmp.c:2459:log_ph1established(): ISAKMP-SA established xxx.xxx.xxx.xxx[500]-yyy.yyy.yyy.yyy[500] spi:a87d3f7d0919282d:c40dc5ec98c6a9c4
      2005-10-25 12:30:42: INFO: isakmp.c:952:isakmp_ph2begin_i(): initiate new phase 2 negotiation: xxx.xxx.xxx.xxx[0]<=>yyy.yyy.yyy.yyy[0]
      2005-10-25 12:30:42: INFO: pfkey.c:1197:pk_recvupdate(): IPsec-SA established: ESP/Tunnel yyy.yyy.yyy.yyy->xxx.xxx.xxx.xxx spi=119541167(0x7200daf)
      2005-10-25 12:30:42: INFO: pfkey.c:1420:pk_recvadd(): IPsec-SA established: ESP/Tunnel xxx.xxx.xxx.xxx->yyy.yyy.yyy.yyy spi=220570738(0xd25a472)

      tcpdump видит обмен ключами через 500-й порт.
      в один конец пакеты доходят, а в другой почему-то нет, куда-то деваются после интерфейса сетевой карточки. Можно как-нибудь отследить этот момент?

      Привожу конфиг (они одинаковые на обеих машинах, за исключением раздела listen, это и ежу понятно):
      ######################################
      ## /usr/local/etc/racoon/racoon.conf #
      ######################################

      path include "/usr/local/etc/racoon" ;
      path pre_shared_key "/usr/local/etc/racoon/psk.txt" ;

      padding
      {
              maximum_length 20;
              randomize on;
              strict_check on;
              exclusive_tail off;
      }


      listen
      {
              isakmp xxx.xxx.xxx.xxx [500];
      }

      timer
      {
              counter 5;
              interval 10 sec;
              persend 1;
              phase1 30 sec;
              phase2 15 sec;
      }

      remote anonymous
      {
              exchange_mode aggressive,main;
              nonce_size 16;
              lifetime time 10 min;       # sec,min,hour
              initial_contact on;
              support_proxy off;
              proposal_check obey;        # obey, strict or claim

              proposal {
                      encryption_algorithm 3des;
                      hash_algorithm sha1;
                      authentication_method pre_shared_key ;
                      dh_group 2 ;
              }
      }
      sainfo anonymous
      {
              lifetime time 10 min;
              encryption_algorithm rijndael;
              authentication_algorithm hmac_sha1;
              compression_algorithm deflate ;
      }

      • FreeBSD 5.4: не работает VPN на IPSEC, !*! Moralez, 08:58 , 28-Окт-05 (4)
        • Подскажите, плиз, как записать для IPFILTER правила , !*! Oleg104, 17:45 , 08-Ноя-05 (5)
        • FreeBSD 5.4: не работает VPN на IPSEC, !*! Vasiliy_Seleznev, 15:16 , 09-Ноя-05 (6)
          >покажите файл, который setkey -f скармливаете. проблема наверняка там. in-out напр перепутано
          >или что-то ещё...

          Проблемный комп:
          #!/bin/sh

          ifconfig gif0 create
          ifconfig gif0 inet 192.168.60.1 192.168.61.1 netmask 0xffffffff tunnel xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy
          route add 192.168.61.0/24 192.168.61.1

          setkey -FP
          setkey -F
          setkey -c << END
          spdadd xxx.xxx.xxx.xxx/32 yyy.yyy.yyy.yyy/24 ipencap -P out ipsec esp/tunnel/xxx.xxx.xxx.xxx-yyy.yyy.yyy.yyy/require;
          spdadd yyy.yyy.yyy.yyy/24 xxx.xxx.xxx.xxx/32 ipencap -P in  ipsec esp/tunnel/yyy.yyy.yyy.yyy-xxx.xxx.xxx.xxx/require;
          END


          Непроблемный комп:
          #!/bin/sh

          ifconfig gif0 create
          ifconfig gif0 inet 192.168.61.1 192.168.60.1 netmask 0xffffffff tunnel yyy.yyy.yyy.yyy xxx.xxx.xxx.xxx
          route add 192.168.60.0/24 192.168.60.1

          setkey -FP
          setkey -F
          setkey -c << END
          spdadd yyy.yyy.yyy.yyy/32 xxx.xxx.xxx.xxx/24 ipencap -P out ipsec esp/tunnel/yyy.yyy.yyy.yyy-xxx.xxx.xxx.xxx/require;
          spdadd xxx.xxx.xxx.xxx/24 yyy.yyy.yyy.yyy/32 ipencap -P in  ipsec esp/tunnel/xxx.xxx.xxx.xxx-yyy.yyy.yyy.yyy/require;
          END




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру