LINUX.ORG.RU
ФорумAdmin

Проблема с IPsec (Racoon)


0

1

Привет всем.
У меня есть проблема с настройкой Ipsec для мобильных клиентов.
Мои конфиги:
setkey.conf

spdflush; 
spdadd 0.0.0.0/0 78.46.79.232/27 any -P out ipsec esp/tunnel/78.46.79.232-0.0.0.0/require; 
spdadd 78.46.79.232/27 0.0.0.0/0 any -P in ipsec esp/tunnel/0.0.0.0-78.46.79.232/require; 
racoon.conf
path include "/etc/racoon"; 
path pre_shared_key "/etc/racoon/psk.txt"; 
log notify; 
padding 
{ 
        maximum_length 20;      # maximum padding length. 
        randomize off;          # enable randomize length. 
        strict_check off;       # enable strict check. 
        exclusive_tail off;     # extract last one octet. 
} 
listen 
{ 
        isakmp 78.46.79.232 [500]; 
        isakmp_natt 78.46.79.232 [4500]; 
        adminsock disabled; 
} 
timer 
{ 
        counter 5;              # maximum trying count to send. 
        interval 20 sec;        # maximum interval to resend. 
        persend 1;              # the number of packets per send. 
        phase1 30 sec; 
        phase2 15 sec; 
} 
remote anonymous 
{ 
        exchange_mode main,aggressive; 
        doi ipsec_doi; 
        situation identity_only; 
        my_identifier address 78.46.79.232; 
        peers_identifier fqdn "elastix.flexicam.com"; 
        nonce_size 16; 
        lifetime time 3600 sec; 
        ### lifetime time 24 hour; 
        initial_contact on; 
        proposal_check obey;    # obey, strict, or claim 
        proposal { 
                encryption_algorithm 3des; 
                ### hash_algorithm md5; 
                hash_algorithm sha1; 
                authentication_method pre_shared_key; 
                dh_group 2; 
                lifetime time 3600 sec; 
        } 
} 
sainfo anonymous 
{ 
        pfs_group 2; 
        lifetime time 3600 sec; 
        ### lifetime time 24 hour; 
        encryption_algorithm 3des; 
        ### authentication_algorithm hmac_md5; 
        authentication_algorithm hmac_sha1; 
        compression_algorithm deflate; 
}
psk.txt
pizdec.net      password 
После запуска в дебаг режиме, вижу следующее:
2011-06-08 13:57:02: ERROR: no policy found: 10.71.10.71/32[0] 78.46.79.232/32[0] proto=any dir=in
2011-06-08 13:57:02: ERROR: failed to get proposal for responder.
2011-06-08 13:57:02: ERROR: failed to pre-process packet.
Где 10.71.10.71 локальный IP моего PC, тестирую клиентом «TheGreenBow IPSec VPN Client»
Спасибо за вашу помощь.

>0.0.0.0-78.46.79.232
вы уверены что такое работает вообще? имхо в spd нужно указывать для тунеля в // реальные адреса.
man setkey

если это roadwarriors, которые могут быть за nat, то лучше включить в remote:
nat_traversal on; #для нат т, если необходимо
и
generate_policy on;
для автоматической генерации spd правил setkey, при этом нужно флушануть текущие правила (setket -FP кажеца)
после установки тунеля посмотри setkey -DP для проверки правил =)


encryption_algorithm 3des;

aes говорят проще считается чем 3des при той же длинне ключа.

### authentication_algorithm hmac_md5;

поскольку применяется не голый md5, вполне можно использовать hmac_md5

MD5 alone has recently been shown to be vulnerable to collision-search attacks. This form of attack and other currently known weaknesses of MD5 do not compromise the use of MD5 within HMAC, however, as no known attacks against HMAC-MD5 have been proven. HMAC-MD5 is recommended where the superior performance of MD5 over SHA-1 is important.



исче хинт:
включи
dpd_delay 25;
rekey on;
за подробностями man racoon.conf (если кратко - для обновления ключей переустановленного тунеля необходимо)

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

>вы уверены что такое работает вообще? имхо в spd нужно указывать для >тунеля в // реальные адреса.

Нет не уверен. НО клиенты будут все мобильные ака iPhone. За неимением таких, тестирую на «TheGreenBow IPSec VPN Client». И я понятия не имею какие у них будут IP.

Остальное попробую, спасибо.

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

Спасибо

Спасибо, туннель создался. Но при создании туннеля и при его закрытии консоли (ssh) отваливаются. Может встречалось вам такое ?

И ещё вопросик. Например при создании openvpn есть tun виртуальное устройство у которого есть IP. Вот я его и использую после создания туннеля для доступа к сервисам которые висят на этом IP. А как мне быть в случае с IPsec ?

Спасибо за Вашу помощь.

SimbioS ()
Ответ на: Спасибо от SimbioS

>Но при создании туннеля и при его закрытии консоли (ssh) отваливаются. Может встречалось вам такое ?
рвутся установленные конекшоны. такое наблюдал, но не разбирался.

А как мне быть в случае с IPsec ?

воообще трафик начинает ходить согласно spd. политики можно посмотреть с помощью
setkey -DP

если у вас

10.71.10.71/32[0] 78.46.79.232/32[0]

то ни о каком доступе дальше 78.46.79.232 речи не идет.
предположу что локальная сеть за белым ip одна и меняться не будет. можно описать sainfo в таком случае
sainfo anonymous address localnet/mask any
и попробовать подключится, указав такую же remote network на стороне клиента.
после чего смотреть setkey -DP и проверять, получили ли вы доступ.
ну и вероятно для компов в localnet нужно прописать сервак с ipsec с белым ip в качестве дефулт гейтвея.
и еще вероятно что у клиента будет адрес из диапозона localnet и это негативно скажется на хождении трафика.
поэтому нужно посмотреть в сторону назначения адресов клиентам ipsec (man racoon.conf о5 же, тут я не разбирался)

для родвариоров лучший вариант имхо openvpn, но встречаются противопоказания =(

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

понятно

Это понятно. openvpn работает без проблем. Я уже писал что все клиенты для IPsec сервера будут типа iPhone из разных стран мира.

Может использовать директиву mode_cfg on;

SimbioS ()
Ответ на: понятно от SimbioS

видимо да +

     mode_cfg { statements }
             Defines the information to return for remote hosts’ ISAKMP mode config requests.  Also defines the authentication source for remote peers
             authenticating through Xauth.

             The following are valid statements:
[...]
             pool_size size
                     Specify the size of the IP address pool, either local or allocated through RADIUS.  conf_source selects the local pool or the
                     RADIUS configuration, but in both configurations, you cannot have more than size users connected at the same time.  The default is
                     255.
             network4 address;
             netmask4 address;
                     The local IP pool base address and network mask from which dynamically allocated IPv4 addresses should be taken.  This is used if
                     conf_source is set to local or if the RADIUS server returned 255.255.255.254.  Default is 0.0.0.0/0.0.0.0.
             dns4 addresses;
                     A list of IPv4 addresses for DNS servers, separated by commas, or on multiple dns4 lines.
[...]
в общем правильное направление

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

Ок, сенкс за советы. Сейчас работает в таком виде. Сделал уже с сертификатом. Клиентский сертификат делал типа так: ./pkitool --pkcs12 iphone.example.de

/etc/racoon/setkey.conf

spdflush;
spdadd 0.0.0.0/0 78.46.79.232/32 any -P out ipsec esp/tunnel/78.46.79.232-0.0.0.0/require;
spdadd 78.46.79.232/32 0.0.0.0/0 any -P in ipsec esp/tunnel/0.0.0.0-78.46.79.232/require;
/etc/racoon/racoon.conf
path include "/etc/racoon";
#path pre_shared_key "/etc/racoon/psk.txt";
path certificate "/etc/racoon/certs";
log notify;
padding
{
        maximum_length 20;      # maximum padding length.
        randomize off;          # enable randomize length.
        strict_check off;       # enable strict check.
        exclusive_tail off;     # extract last one octet.
}
listen
{
        isakmp 78.46.79.232 [500];
        isakmp_natt 78.46.79.232 [4500];
        adminsock disabled;
}
timer
{
        counter 5;              # maximum trying count to send.
        interval 20 sec;        # maximum interval to resend.
        persend 1;              # the number of packets per send.
        phase1 30 sec;
        phase2 15 sec;
}
remote anonymous
{
        exchange_mode main;
        doi ipsec_doi;
        ca_type x509 "ca.crt";
        certificate_type x509 "elastix.flexicam.com.crt" "elastix.flexicam.com.key";
        send_cr on;
        verify_cert on;
        send_cert on;
        my_identifier asn1dn;
        nonce_size 16;
        lifetime time 3600 sec;
        ### lifetime time 24 hour;
        initial_contact on;
        nat_traversal on;
        generate_policy on;
        dpd_delay 25;
        proposal_check obey;    # obey, strict, or claim
        proposal {
                encryption_algorithm aes 256;
                hash_algorithm sha1;
                authentication_method rsasig;
                dh_group 5;
                lifetime time 3600 sec;
        }

}


sainfo anonymous {
        lifetime time 3600 sec;
        encryption_algorithm aes 256;
        authentication_algorithm hmac_sha1;
        compression_algorithm deflate;
                }

На сервере прописал виртуальный интерфейс вида:
tunctl -u root -t ipsec0
ifconfig ipsec0 10.10.0.1 netmask 255.255.255.255 mtu 1380
С сервера пингую свой локальный IP.

Клиенты будут все с динамическими IP.
Вопрос 1, как мне достучаться с клиента на сервер через туннель на IP 10.10.0.1 ??? не соображу что-то...
Вопрос 2, так как клиенты будут все Cisco VPN client ака на iPhone, тестирую связь на Cisco system VPN client 5.0.07 десктоп версии. СВЯЗИ НЕТ !
В логах:

Jun 10 12:35:40 elastix racoon: INFO: respond new phase 1 negotiation: 78.46.79.232[4500]<=>82.207.73.70[4500]
Jun 10 12:35:40 elastix racoon: INFO: begin Identity Protection mode.
Jun 10 12:35:40 elastix racoon: INFO: received Vendor ID: draft-ietf-ipsra-isakmp-xauth-06.txt
Jun 10 12:35:40 elastix racoon: INFO: received Vendor ID: DPD
Jun 10 12:35:40 elastix racoon: INFO: received broken Microsoft ID: FRAGMENTATION
Jun 10 12:35:40 elastix racoon: INFO: received Vendor ID: draft-ietf-ipsec-nat-t-ike-02
Jun 10 12:35:40 elastix racoon: INFO: received Vendor ID: CISCO-UNITY
Jun 10 12:35:40 elastix racoon: INFO: Selected NAT-T version: draft-ietf-ipsec-nat-t-ike-02
Jun 10 12:35:40 elastix racoon: ERROR: invalid auth method 65005.
Jun 10 12:35:40 elastix last message repeated 12 times
Jun 10 12:35:40 elastix racoon: ERROR: reject the packet, received unexpecting payload type 0.
Jun 10 12:35:45 elastix racoon: NOTIFY: the packet is retransmitted by 82.207.73.70[4500].
Jun 10 12:35:45 elastix racoon: ERROR: unknown Informational exchange received.
Jun 10 12:35:51 elastix racoon: NOTIFY: the packet is retransmitted by 82.207.73.70[4500].
Jun 10 12:35:51 elastix racoon: ERROR: unknown Informational exchange received.
Jun 10 12:35:56 elastix racoon: NOTIFY: the packet is retransmitted by 82.207.73.70[4500].
Jun 10 12:35:56 elastix racoon: ERROR: unknown Informational exchange received.
Jun 10 12:36:00 elastix racoon: ERROR: reject the packet, received unexpecting payload type 0
Всем спасибо за помощь.

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

> ERROR: invalid auth method 65005
в клиенте неправильно настроил аутентификацию?


Вопрос 1, как мне достучаться с клиента на сервер через туннель на IP 10.10.0.1 ??? не соображу что-то..

зачем вам этот интерфейс, с какой целью создаете?
хотите завернуть трафик клиентов в локалку?
в общем. неправильные spd.
оставьте generate_policy и пускай сам генерит политику.
опишите sainfo, как я говорил ранее, опишите mode_cfg.
на клиенте укажите удаленную сеть - вашу локальную сеть.
profit!

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

в клиенте неправильно настроил аутентификацию?

ага, в этом то и прикол. Вы побывали использовать Cisco system VPN client ?
Там настроек раз два и нету. Я только сертификат ему подсунул. К стати а вот TheGreenBow IPSec VPN Client, соединяется без проблем.

зачем вам этот интерфейс, с какой целью создаете?

мне этот инт. нужен для выпуска динамических клиентов через туннель на Asterisk, email etc.
Так у меня работает OpenVPN.

хотите завернуть трафик клиентов в локалку?

Не хочу так как её у меня нету.

на клиенте укажите удаленную сеть - вашу локальную сеть.

Не могу, см. выше.

Спасибо за помощь.

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