Openswan L2TP/IPsec VPN для iPhone дает сбой во время подключения

Openswan L2TP/IPsec VPN для iPhone дает сбой во время подключения

Я провел утро, пытаясь настроить L2TP/IPsec VPN с помощью Openswan и xl2tpd на сервере Debian Squeeze для использования смесью клиентов iOS и Mac. Я пытаюсь настроить его с помощью предварительных общих ключей, чтобы все было просто.

iPhone подключается и начинает создавать VPN, затем зависает и дает сбой на полпути. Я не могу понять проблему после того, как повозился со многими параметрами и дважды все проверил.

Вот последнее сообщение журнала /var/log/auth.logперед зависанием:

pluto[30733]: "L2TP-PSK"[5] 166.147.96.226 #5: STATE_QUICK_R2: IPsec SA established tunnel mode {ESP=>0x0659cf9f <0xc3c2f68c xfrm=AES_256-HMAC_SHA1 NATOA=none NATD=166.147.96.226:10682 DPD=enabled}

Затем, примерно через 30 секунд, iPhone сдается, и на экране появляется следующее auth.log:

pluto[30733]: ERROR: asynchronous network error report on br1 (sport=4500) for message to 166.147.96.226 port 10682, complainant 166.147.96.226: Connection refused [errno 111, origin ICMP type 3 code 3 (not authenticated)]

Что это значит? Сервер не может связаться с клиентом или клиент не может установить дополнительное соединение и передает эту ошибку через соединение IPsec, которое он смог установить?

К сожалению, я тестирую это с iPhone в сотовой сети AT&T, поскольку я нахожусь внутри сети Wi-Fi, в которой хочу установить VPN. Блокирует ли AT&T трафик VPN?

Я знаю, что аутентификация IPsec работает, потому что если я изменю или удалю строку из /etc/ipsec.secrets, соединение будет разрываться гораздо быстрее, и я не увижу эти строки журнала.

Я полагаю, что брандмауэр разрешает UDP-порты 500 и 4500, а также протокол ESP, потому что если я их заблокирую, соединение снова будет разорвано гораздо быстрее.

/etc/ipsec.confраздел подключения:

conn L2TP-PSK
    authby=secret
    pfs=no
    rekey=no
    keyingtries=3
    dpddelay=30
    dpdtimeout=120
    dpdaction=clear
    compress=yes
    left=%defaultroute
    leftprotoport=udp/1701
    right=%any
    rightprotoport=udp/0
    auto=add

/etc/ipsec.secrets

VPN-SERVER-PUBLIC-IP %any: PSK "mysecretishere"

/etc/xl2tpd/xl2tpd.conf

[global]                ; Global parameters:
access control = no
rand source = dev

[lns default]             ; Our fallthrough LNS definition
ip range = 192.168.1.120-192.168.1.127
local ip = 192.168.1.119
require chap = yes
refuse pap = no
require authentication = yes
name = LinuxVPNserver
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tp
length bit = yes

/etc/ppp/options.l2tp

ipcp-accept-local
ipcp-accept-remote
ms-dns  192.168.1.1
noccp
auth
crtscts
idle 1800
mtu 1410
mru 1410
nodefaultroute
debug
lock
proxyarp
connect-delay 5000
plugin pppol2tp.so
require-mschap-v2

решение1

AT&T, кажется,блокировать входящие UDP-пакеты(не позволяет им проходить через NAT), поэтому будет очень сложно настроить L2TP/IPsec. Я думаю, вы застряли с PPTP.

решение2

Эта ошибка — ваша подсказка.

ERROR: asynchronous network error report on br1 (sport=4500) for message to 166.147.96.226 port 10682, complainant 166.147.96.226: Connection refused [errno 111, origin ICMP type 3 code 3 (not authenticated)

Я видел это раньше, и каждый раз это было из-за того, что хост-сервер или сеть/брандмауэр удаленного клиента блокируют пакеты ipsec. Если это контролируемый пользователем брандмауэр или маршрутизатор, это простое решение (включить IPSEC), но если это вне вашего контроля, вам не повезло, и вам придется использовать другой протокол. Некоторые говорят, что нужно изменить left=17/%any, но это никогда не работало для меня (в редких случаях, возможно, клиентская сторона может быть умной и попытаться использовать другой порт, который может быть не заблокирован).

Связанный контент