Имеется CheckPoint Safe@Office, настроенный принимать L2TP/IPSEC соединения с VPN сервером. Подсоединяться надо из Linux (у меня Slackware). Делаю так: ставлю OpenSwan (http://www.openswan.org/) и xl2tpd (http://www.xelerance.com/services/software/xl2tpd/). Запускаю:
# /etc/rc.d/rc.ipsec start
ipsec_setup: Starting Openswan IPsec U2.6.32/K2.6.33.4-smp...
#ipsec verify
Checking for IPsec support in kernel [OK]
SAref kernel support [N/A]
NETKEY: Testing for disabled ICMP send_redirects [OK]
NETKEY detected, testing for disabled ICMP accept_redirects [OK]
Hardware RNG detected, testing if used properly [OK]
Checking that pluto is running [OK]
Pluto listening for IKE on udp 500 [OK]
Pluto listening for NAT-T on udp 4500 [OK]
Two or more interfaces found, checking IP forwarding [OK]
Checking NAT and MASQUERADEing [OK]
Checking for 'ip' command [OK]
Checking /bin/sh is not /bin/dash [OK]
Checking for 'iptables' command [OK]
Opportunistic Encryption Support [DISABLED]
# ipsec auto --verbose --up office
002 «Office» #1: initiating Main Mode
104 «Office» #1: STATE_MAIN_I1: initiate
003 «Office» #1: received Vendor ID payload [draft-ietf-ipsec-nat-t-ike-02_n] method set to=106
002 «Office» #1: enabling possible NAT-traversal with method draft-ietf-ipsec-nat-t-ike-05
002 «Office» #1: transition from state STATE_MAIN_I1 to state STATE_MAIN_I2
106 «Office» #1: STATE_MAIN_I2: sent MI2, expecting MR2
003 «Office» #1: NAT-Traversal: Result using draft-ietf-ipsec-nat-t-ike-02/03: i am NATed
002 «Office» #1: transition from state STATE_MAIN_I2 to state STATE_MAIN_I3
108 «Office» #1: STATE_MAIN_I3: sent MI3, expecting MR3
002 «Office» #1: Main mode peer ID is ID_IPV4_ADDR: 'XXX.XXX.XXX.XXX'
002 «Office» #1: transition from state STATE_MAIN_I3 to state STATE_MAIN_I4
004 «Office» #1: STATE_MAIN_I4: ISAKMP SA established {auth=OAKLEY_PRESHARED_KEY cipher=oakley_3des_cbc_192 prf=oakley_sha group=modp1536}
002 «Office» #2: initiating Quick Mode PSK+ENCRYPT+TUNNEL+UP+IKEv2ALLOW+SAREFTRACK {using isakmp#1 msgid:82d02e4d proposal=3DES(3)_192-MD5(1)_128 pfsgroup=no-pfs}
117 «Office» #2: STATE_QUICK_I1: initiate
002 «Office» #2: transition from state STATE_QUICK_I1 to state STATE_QUICK_I2
004 «Office» #2: STATE_QUICK_I2: sent QI2, IPsec SA established tunnel mode {ESP=>0x26839c24 <0x4c12cd83 xfrm=3DES_0-HMAC_MD5 NATOA=none NATD=none DPD=none}
#
Вроде всё хорошо, туннель создан, вхожу в Safe@Office через SSH, всё работает, но через пару команд соединение прерывается. Смотрю на стороне Safe@Office — очень много ошибок «Encrypion error». Соответственно, когда хочу выполнить следующую фазу через xl2tpd, то ничего не получается, те же самые ошибки декодирования:
# /etc/rc.d/rc.xl2tpd start
Starting xl2tpd:
xl2tpd[7365]: xl2tpd version xl2tpd-1.2.4 started on laptop PID:7365
xl2tpd[7365]: Written by Mark Spencer, Copyright © 1998, Adtran, Inc.
xl2tpd[7365]: Forked by Scott Balmos and David Stipp, © 2001
xl2tpd[7365]: Inherited by Jeff McAdams, © 2002
xl2tpd[7365]: Forked again by Xelerance (www.xelerance.com) © 2006
xl2tpd[7365]: Listening on IP address 0.0.0.0, port 1701
# echo «c office» > /var/run/xl2tpd/l2tp-control
Далее xl2tpd жалуется, что израсходовал максимальное число попыток соединения. На стороне Safe@Office всё те же «Encryption error». Наверняка, всё дело в несовпадении каких-то параметров (MTU, фрагментация пакетов). С родным клиентом у Safe@Office всё в порядке, но он работает исключительно под Windows. Может быть кто-нибудь сталкивался с такой ситуацией?
# /etc/ipsec.conf
version 2.0
config setup
interfaces=%defaultroute
plutodebug=«control»
protostack=netkey
nat_traversal=yes
oe=off
conn %default
keyingtries=3
keylife=3600s
ikelifetime=21600s
conn Office
authby=secret
type=tunnel
forceencaps=no
keyexchange=ike
ike=3des-sha1
phase2=esp
phase2alg=3des-md5
pfs=no
left=%defaultroute
right=XXX.XXX.XXX.XXX
auto=add
conn block
auto=ignore
conn private
auto=ignore
conn private-or-clear
auto=ignore
conn clear-or-private
auto=ignore
conn clear
auto=ignore
conn packetdefault
auto=ignore