Проблема с IPsec

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Autumn Rain
проходил мимо
Сообщения: 6
Зарегистрирован: 2010-08-25 9:11:37
Контактная информация:

Проблема с IPsec

Непрочитанное сообщение Autumn Rain » 2010-08-31 11:10:54

Всем привет! Прошу совета в решении следующей проблемы: необходимо соединить 2 сети с помощью IPsec туннеля.
Офис 1: сеть 192.168.1.0/24, шлюз на FreeBSD 6.4 (внутренний IP- 192.168.1.1, внешний IP- 94.231.91.2)
Офис 2: сеть 192.168.2.0/24, шлюз на FreeBSD 6.4 (внутренний IP- 192.168.2.1, внешний IP- 92.231.28.130)

всё настраивалось с использованием статьи http://www.lissyara.su/archive/ipsec_old/ и хэндбука http://www.freebsd.org/doc/ru/books/handbook/ipsec.html

используется Racoon (/usr/ports/security/ipsec-tools), authentication method: preshared-key

вроде бы туннель между шлюзами устанавливается и пакеты шифруются.
на шлюзе с ip 192.168.1.1 пробую пинговать шлюз 192.168.2.1 и запускаю tcpdump

Код: Выделить всё

# ping 192.168.2.1
PING 192.168.2.1 (192.168.2.1): 56 data bytes
64 bytes from 192.168.2.1: icmp_seq=0 ttl=64 time=1.752 ms
64 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=1.057 ms
64 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=1.039 ms
64 bytes from 192.168.2.1: icmp_seq=3 ttl=64 time=1.056 ms
64 bytes from 192.168.2.1: icmp_seq=4 ttl=64 time=0.951 ms
64 bytes from 192.168.2.1: icmp_seq=5 ttl=64 time=1.235 ms
64 bytes from 192.168.2.1: icmp_seq=6 ttl=64 time=0.636 ms

--- 192.168.2.1 ping statistics ---
7 packets transmitted, 7 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.636/1.104/1.752/0.314 ms

Код: Выделить всё

# tcpdump 
09:48:46.824329 IP 92.231.28.130 > 94.231.91.2: ESP(spi=0x04767959,seq=0x21), length 116
09:48:47.825098 IP 94.231.91.2 > 92.231.28.130: ESP(spi=0x0097e4e8,seq=0x23), length 116
09:48:47.825835 IP 94.231.91.2 > 92.231.28.130: ESP(spi=0x0097e4e8,seq=0x23), length 116
09:48:47.826288 IP 92.231.28.130 > 94.231.91.2: ESP(spi=0x04767959,seq=0x22), length 116


т.е. можно сделать вывод, что вроде бы всё ок и между шлюзами туннель работает
но проблема начинается, если мы будем посылать пакеты из одной локальной сети в другую - пакеты идут, но не шифруются, т.е.

Код: Выделить всё

ping 192.168.2.2
PING 192.168.2.2 (192.168.2.2): 56 data bytes
64 bytes from 192.168.2.2: icmp_seq=0 ttl=64 time=1.752 ms
64 bytes from 192.168.2.2: icmp_seq=1 ttl=64 time=1.057 ms
64 bytes from 192.168.2.2: icmp_seq=2 ttl=64 time=1.039 ms

Код: Выделить всё

# tcpdump
10:00:12.061525 IP 192.168.1.2 > 192.168.2.2: ICMP echo request, id 512, seq 27411, length 40
10:00:12.061939 IP 192.168.1.1 > 192.168.1.2: ICMP redirect 192.168.2.2 to host 192.168.1.1, length 36
10:00:12.062433 IP 94.231.91.2 > 92.231.28.130: ESP(spi=0x0f6f64b2,seq=0x5d), length 92
10:00:12.063044 IP 94.231.91.2 > 92.231.28.130: ESP(spi=0x0f6f64b2,seq=0x5d), length 92
10:00:12.063718 IP 192.168.1.2 > 192.168.2.2: ICMP echo request, id 512, seq 27411, length 40
10:00:12.063720 IP 192.168.2.2 > 192.168.1.2: ICMP echo reply, id 512, seq 27411, length 40
10:00:12.063722 IP 92.231.28.130 > 94.231.91.2: ESP(spi=0x03ca1b1f,seq=0x5d), length 92
10:00:12.063724 IP 192.168.2.1 > 192.168.2.2: ICMP redirect 192.168.1.2 to host 192.168.2.1, length 36
10:00:12.063726 IP 92.231.28.130 > 94.231.91.2: ESP(spi=0x03ca1b1f,seq=0x5d), length 92
10:00:12.063893 IP 192.168.2.2 > 192.168.1.2: ICMP echo reply, id 512, seq 27411, length 40
10:00:12.598430 IP 192.168.1.2 > 192.168.2.2: ICMP echo request, id 512, seq 27667, length 40
при вырубании gif0 связь падает

Код: Выделить всё

# ifconfig gif0 down
# ping 192.168.2.2
PING 192.168.2.2 (192.168.2.2): 56 data bytes
т.е. получаеться что пакеты идут через gif0, как и должно быть.
В чём может быть проблема?
заранее признателен за любую помощь

конфиги шлюза FreeBSD 6.4-RELEASE (внутренний IP- 192.168.1.1, внешний IP- 94.231.91.2)
/etc/rc.conf

Код: Выделить всё

ifconfig_lnc1="inet 94.231.91.2  netmask 255.255.255.0"
defaultrouter="94.231.91.1"
ifconfig_lnc0="inet 192.168.1.1  netmask 255.255.255.0"
gif_interfaces="YES"
gif_interfaces="gif0"
cloned_interfaces="gif0"
gifconfig_gif0="94.231.91.2 92.231.28.130"
ifconfig_gif0="inet 192.168.1.1 192.168.2.1 netmask 255.255.255.0"
gateway_enable="YES"
natd_enable="YES"
natd_interface="lnc1"
natd_flags="-f /usr/local/etc/natd.conf"
firewall_enable="YES"
firewall_type="open"
ipsec_enable="YES"
ipsec_program="/usr/local/sbin/setkey"
ipsec_file="/usr/local/etc/ipsec.conf"
racoon_enable="YES"
racoon_flags="-f /usr/local/etc/racoon/racoon.conf -l /var/log/racoon.log"
/usr/local/etc/ipsec.conf

Код: Выделить всё

flush;
spdflush;
spdadd 192.168.1.0/24 192.168.2.0/24 any -P out ipsec
esp/tunnel/94.231.91.2-92.231.28.130/require;
spdadd 192.168.2.0/24 192.168.1.0/24 any -P in ipsec
esp/tunnel/92.231.28.130/require;
/usr/local/etc/natd.conf

Код: Выделить всё

use_sockets yes
same_ports yes
/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;	# maximum padding length.
	randomize off;		# enable randomize length.
	strict_check off;	# enable strict check.
	exclusive_tail off;	# extract last one octet.
}
listen
{
          isakmp 94.231.91.2 [500];
}
timer
{
	# These value can be changed per remote node.
	counter 5;		# maximum trying count to send.
	interval 20 sec;	# maximum interval to resend.
	persend 1;		# the number of packets per send.

	# maximum time to wait for completing each phase.
	phase1 30 sec;
	phase2 15 sec;
}

remote anonymous 

{
	exchange_mode aggressive,main;
        doi ipsec_doi;
        situation identity_only;
        my_identifier address;
        lifetime time 2 min;
        initial_contact on;
        proposal_check obey;

	proposal {
		encryption_algorithm 3des;
		hash_algorithm sha1;
		authentication_method pre_shared_key;
		dh_group 2;
	}
}

sainfo anonymous
{
	pfs_group 1;
        lifetime time 2 min;
	encryption_algorithm 3des;
	authentication_algorithm hmac_sha1;
	compression_algorithm deflate;
}

для 2-го шлюза конфиги аналогичные, за исключением ip адресов.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35152
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Проблема с IPsec

Непрочитанное сообщение Alex Keda » 2010-10-10 13:57:12

tcpdump смотрит пакеты до шифрации.
всё нормально
Убей их всех! Бог потом рассортирует...