Страница 1 из 1

Странно работает IPSEC между FreeBsd 8.2+raccoon и Dlink 804

Добавлено: 2011-09-15 9:00:34
GordonFree2011
Всем доброго дня!
Подскажите уважаемые в чем может быть дело ?
Задача: Необходимо поднять VPN канал между главным офисом и филиалом. Настраивал FreeBsd активно пользуясь статьями с этого сайта :good:

В главном офисе FreeBSD 8.2-RELEASE + raccon (ip-sec) - внешний белый IP A.A.A.A, внутренняя сеть 192.168.126.0
В филиале ADSL модем в режиме моста – за ним железка Dlink 804-HV, серый IP выдается новый при каждом переподключении – (для тестовых целей считаем выданный адрес неизменным, при его смене просто меняем в файле ключа и ipsec.conf и перезагружаем FreeBsd) B.B.B.B, внутренняя сеть 192.168.1.0

Проблема в следующем – происходит установка туннеля, минут 10-15 обе стороны пингуются внутренние интерфейсы друг друга. И в какой то момент пинги перестают ходить, а в логах racoon можно увидеть следующие сообщения
2011-09-14 09:12:06: INFO: phase2 sa expired A.A.A.A-B.B.B.B
2011-09-14 09:12:06: INFO: phase2 sa deleted A.A.A.A-B.B.B.B
2011-09-14 09:12:06: ERROR: unknown Informational exchange received.
2011-09-14 09:12:06: ERROR: unknown Informational exchange received.
2011-09-14 09:12:06: INFO: respond new phase 1 negotiation: A.A.A.A[500]<=>B.B.B.B[500]
2011-09-14 09:12:06: INFO: begin Identity Protection mode.
2011-09-14 09:12:06: WARNING: SPI size isn't zero, but IKE proposal.
2011-09-14 09:12:07: INFO: ISAKMP-SA established A.A.A.A[500]-B.B.B.B[500] spi:932a559566d35ab8:d484666ed2f82d67
2011-09-14 09:12:07: INFO: respond new phase 2 negotiation: A.A.A.A[500]<=>B.B.B.B[500]
2011-09-14 09:12:07: INFO: IPsec-SA established: ESP/Tunnel B.B.B.B[0]->A.A.A.A[0] spi=99103515(0x5e8331b)
2011-09-14 09:12:07: INFO: IPsec-SA established: ESP/Tunnel A.A.A.A[500]->B.B.B.B[500] spi=3472923768(0xcf009c78)

Всю голову уже сломал что это может быть и как с этим справиться. ?

Настройки FreeBSD 8.2
Внутренний интерфейс: em0 192.168.126.205
Внешний интерфейс: rl0 A.A.A.A
VPN# ifconfig
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
description: local
options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>
ether 00:16:76:db:2b:b5
inet 192.168.126.205 netmask 0xffffff00 broadcast 192.168.126.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
description: inet
options=3808<VLAN_MTU,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
ether 00:48:54:1c:6d:55
inet A.A.A.A netmask 0xfffffff8 broadcast A.A.A.A+1
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
ipfw0: flags=8801<UP,SIMPLEX,MULTICAST> metric 0 mtu 65536
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
pfsync0: flags=0<> metric 0 mtu 1460
syncpeer: 224.0.0.240 maxupd: 128
pflog0: flags=0<> metric 0 mtu 33200
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1280
tunnel inet A.A.A.A --> B.B.B.B
inet 192.168.126.205 --> 192.168.1.2 netmask 0xffffff00
options=1<ACCEPT_REV_ETHIP_VER>
____________________________________________________________________________________

RF.CONF

# -- sysinstall generated deltas -- # Tue Sep 6 14:36:54 2011
# Created: Tue Sep 6 14:36:54 2011
# Enable network daemons for user convenience.
# Please make all changes to this file, not to /etc/defaults/rc.conf.
# This file now contains just the overrides from /etc/defaults/rc.conf.

ifconfig_rl0="inet A.A.A.A netmask 255.255.255.248 description inet"
ifconfig_em0="inet 192.168.126.205 netmask 255.255.255.0 description local"
gateway_enable="YES"
defaultrouter="X.X.X.X"

natd_enable="YES"
natd_interface="rl0"
natd_flags=""

#SSH
sshd_enable="YES"
sshd_flags="-u0 -4"

###IPFW
firewall_enable="YES"
firewall_type="open"
firewall_logging="YES"

#RACOON.
racoon_enable="YES"
racoon_flags="-4 -l /var/log/racoon.log"

#Gif
cloned_interfaces="gif0"
gif_interfaces="gif0"
gifconfig_gif0="A.A.A.A B.B.B.B"
ifconfig_gif0="inet 192.168.126.205 192.168.1.2 netmask 255.255.255.0"

#IPSEC
ipsec_enable="YES"
ipsec_file="/etc/ipsec.conf"

#Disable PF
pf_enable="NO" # Включить PF (загрузить модуль если необходи
pflog_enable="NO" # запустить pflogd( 8 )

#Disable sendmail
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
____________________________________________________________________________
IPSEC.CONF
flush;
spdflush;
spdadd 192.168.126.0/24 192.168.1.0/24 any -P out ipsec
esp/tunnel/A.A.A.A-B.B.B.B/require;
spdadd 192.168.1.0/24 192.168.126.0/24 any -P in ipsec
esp/tunnel/B.B.B.B-A.A.A.A/require;

RACCON.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 A.A.A.A[500];
}
timer
{
# These value can be changed per remote node.
counter 5; # maximum trying count to send.
interval 10 sec; # maximum interval to resend.
persend 1; # the number of packets per send.

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

#указываем, что любой аутентифицированный хост будет приниматься как anonymous.

remote anonymous
{
exchange_mode main,aggressive;
doi ipsec_doi;
situation identity_only;
my_identifier address;
nonce_size 16;
lifetime time 24 hour;
initial_contact on;
support_proxy on;
proposal_check obey;.

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

sainfo anonymous
{
pfs_group 1;
lifetime time 24 hour;
encryption_algorithm 3des;
#authentication_algorithm hmac_sha1, hmac_md5;
authentication_algorithm hmac_md5;
compression_algorithm deflate;
}

PSK.TXT
B.B.B.B Secret


VPN# netstat -rn
Routing tables

Internet:
Destination Gateway Flags Refs Use Netif Expire
default X.X.X.X UGS 0 24 rl0
127.0.0.1 link#5 UH 0 0 lo0
192.168.1.2 link#8 UH 0 0 gif0
192.168.126.0/24 link#1 U 3 14928 em0
192.168.126.205 link#1 UHS 1 0 lo0
A.A.A.152/29 link#2 U 0 0 rl0
A.A.A.A link#2 UHS 0 0 lo0

Internet6:
Destination Gateway Flags Netif Expire
::1 ::1 UH lo0
fe80::%lo0/64 link#5 U lo0
fe80::1%lo0 link#5 UHS lo0
ff01:5::/32 fe80::1%lo0 U lo0
ff02::%lo0/32 fe80::1%lo0 U lo0

IPFW как видно из RF.CONF работает в режиме всем все разрешено.

Настройки Dlink 804HV
Firmware Version: V1.51, Fri, Jun 27 2008.
Local Subnet 192.168.1.0
Local Netmask 255.255.255.0
Remote Subnet 192.168.126.0
Remote Gateway A.A.A.A
Auto-reconnect Enable
____________________________________________________________________________
Вот что выводит в VPN Status
ESP tunnel IKE established 3223

Re: Странно работает IPSEC между FreeBsd 8.2+raccoon и Dlink

Добавлено: 2011-09-16 8:11:30
GordonFree
Ответ нашелся - спасибо другу админу.

На Dlink было увеличено Life Time в IKE Proposal до 86400.

Канал стабильно работает и пингуется уже сутки. Тему удалять не буду - возможно кому то понадобится Smile