У меня есть существующая VPN Openswan, вся работа довольно хорошо с Windows, Mac и Телефонами.
[Office 192.168.0.0/24]---[VPN A.B.C.D]----[Интернет]---[Домашние Маршрутизаторы (NAT), Динамический дюйм/с]----[Рабочие станции]
Теперь я хочу выполнить удаленный сервер резервного копирования и подключить его к той же VPN, все еще с динамическим IP
[Office 192.168.0.0/24]---[VPN A.B.C.D]----[Интернет]---[Домашний Маршрутизатор (NAT), Динамический IP]----[zfsbackup]
IPSec, кажется, согласовывает OK, это - вывод на резервной стороне:
104 "net2net" #1: STATE_MAIN_I1: initiate
003 "net2net" #1: received Vendor ID payload [Openswan (this version) 2.6.38 ]
003 "net2net" #1: received Vendor ID payload [Dead Peer Detection]
003 "net2net" #1: received Vendor ID payload [RFC 3947] method set to=115
106 "net2net" #1: STATE_MAIN_I2: sent MI2, expecting MR2
003 "net2net" #1: NAT-Traversal: Result using draft-ietf-ipsec-nat-t-ike (MacOS X): i am NATed
108 "net2net" #1: STATE_MAIN_I3: sent MI3, expecting MR3
003 "net2net" #1: received Vendor ID payload [CAN-IKEv2]
004 "net2net" #1: STATE_MAIN_I4: ISAKMP SA established {auth=OAKLEY_PRESHARED_KEY cipher=aes_256 prf=oakley_sha group=modp1024}
117 "net2net" #2: STATE_QUICK_I1: initiate
004 "net2net" #2: STATE_QUICK_I2: sent QI2, IPsec SA established transport mode {ESP=>0x9fecb28d <0x11f39e30 xfrm=AES_128-HMAC_SHA1 NATOA=none NATD=none DPD=enabled}
Однако, когда я пытаюсь запустить соединение в xl2tpd, это происходит:
xl2tpd[14438]: Listening on IP address 0.0.0.0, port 1701
xl2tpd[14438]: get_call: allocating new tunnel for host A.B.C.D, port 1701.
xl2tpd[14438]: Connecting to host A.B.C.D, port 1701
xl2tpd[14438]: control_finish: message type is (null)(0). Tunnel is 0, call is 0.
xl2tpd[14438]: control_finish: sending SCCRQ
xl2tpd[14438]: network_thread: select timeout
...
Выполнение захвата пакетов на машине в этом театрализованные представления, которые ничто не отправляется по проводу.
Что-то, что касается меня, является выводом журнала при соединении. Это - журнал Стороны станции для соединения окон:
"L2TP"[6] W.X.Y.Z #115: STATE_QUICK_R2: IPsec SA established transport mode {ESP=>0x917a3b5e
<0xbc445896 xfrm=AES_128-HMAC_SHA1 NATOA=192.168.1.106 NATD=W.X.Y.Z:4500 DPD=none}
Это для сервера резервного копирования (Та же сеть как ПК окон выше), отметьте порт 1024
"L2TP"[11] W.X.Y.Z #23: STATE_QUICK_R2: IPsec SA established transport mode {ESP=>0x11f39e30
<0x9fecb28d xfrm=AES_128-HMAC_SHA1 NATOA=192.168.1.2 NATD=W.X.Y.Z:1024 DPD=enabled}
ipsec проверяют шоу, что Плутон слушает на 500 и 4500. Я не могу найти способ заставить IPSec проходить через правильный номер порта. Предположение моего программиста - то, что порт не читается в ниоткуда, и он принимает значение по умолчанию к первому присваиваемому порту пространства пользователя.
Обратите внимание, что я могу зарезервировать 1 024 заранее использования nc. Office VPN все еще говорят использовать 1024, а не сказать 1025. Плутон не жалуется, что 1024 уже используется.
nc -u -p 1024 localhost 22
Я действительно надеюсь, что кто-то может помочь - провели несколько часов на это и поиск и тонкая настройка.
Конфигурация Office следующие:
config setup
nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
oe=off
protostack=netkey
plutostderrlog=/var/log/pluto.log
nhelpers=0
conn L2TP
authby=secret
auto=add
pfs=no
type=transport
rekey=yes
compress=no
left=203.39.25.66
leftnexthop=%defaultroute
leftprotoport=17/1701
right=%any
rightsubnet=vhost:%no,%priv
rightprotoport=17/%any
forceencaps=no
dpddelay=40
dpdtimeout=130
dpdaction=clear
Конфигурация сервера резервного копирования:
version 2.0
config setup
dumpdir=/var/run/pluto/
nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v6:fd00::/8,%v6:fe80::/10
oe=off
protostack=netkey
plutostderrlog=/var/log/pluto.log
conn net2net
authby=secret
pfs=no
auto=add
ike=aes256-sha1;modp1024
compress=no
keyingtries=3
dpddelay=40
dpdtimeout=130
dpdaction=clear
rekey=yes
type=transport
left=%defaultroute
leftsubnet=192.168.1.0/24
leftnexthop=%defaultroute
leftprotoport=17/1701
right=A.B.C.D
rightprotoport=17/1701
Не уверен, что это считается ответом.
Наконец-то я получил возможность попробовать strongSwan, и он сделал то, что мне нужно, за считанные минуты.
В основном я использую конфигурацию сайт-сайт, как здесь: http://www.strongswan.org/uml/testresults/ikev2/net2net-psk/
Итак, на сервере у нас есть:
# /etc/ipsec.conf - strongSwan IPsec configuration file
config setup
conn %default
ikelifetime=60m
keylife=20m
rekeymargin=3m
keyingtries=1
authby=secret
keyexchange=ikev2
mobike=no
conn net-net
left=192.168.0.1
leftsubnet=10.1.0.0/16
leftid=@moon.strongswan.org
leftfirewall=yes
right=192.168.0.2
rightsubnet=10.2.0.0/16
rightid=@sun.strongswan.org
auto=add
На клиенте:
# /etc/ipsec.conf - strongSwan IPsec configuration file
config setup
conn %default
ikelifetime=60m
keylife=20m
rekeymargin=3m
keyingtries=1
authby=secret
keyexchange=ikev2
mobike=no
conn net-net
left=192.168.0.2
leftsubnet=10.2.0.0/16
leftid=@sun.strongswan.org
leftfirewall=yes
right=192.168.0.1
rightsubnet=10.1.0.0/16
rightid=@moon.strongswan.org
auto=add
Затем на сервере:
# echo 1 > /proc/sys/net/ipv4/ip_forward
# ipsec start
На клиенте
# ipsec start
# ipsec up net-net
Я до сих пор не разработал свою полную настройку Roadwarrior, это просто использование предварительного ключа без аутентификации, но я уверен, что это можно сделать с strongSwan. Скажем так, он намного разумнее, чем OpenSwan.