Připojení k L2TP/IPSec na Linuxu

Připojení k L2TP/IPSec na Linuxu
« kdy: 25. 11. 2017, 11:52:17 »
Ahoj, již nějaký den bojuji s konfigurací VPNky prostřednictvím L2TP/IPSec.
Systém: CentOS 7, Libreswan, xl2tpd

Mám problémy s již samotným navázáním IPSec připojení. Vypadá to, že první fáze ověřování proběhne OK, nicméně druhá již nikoliv a připojení se neustále resetuje, viz. log níže. Pro zabezpečení je používán PSK. Hledal jsem kde jsem mohl, ale již si moc nevím rady v čem by mohl být problém. Mohl by mě někdo zkušenější poradit? Protistrana používá podle všeho nějaké CISCO.

Kód: [Vybrat]
Nov 25 11:34:38: "test" #7025: initiating Main Mode
Nov 25 11:34:38: "test" #7024: deleting state (STATE_QUICK_I1)
Nov 25 11:34:38: "test" #7025: transition from state STATE_MAIN_I1 to state STATE_MAIN_I2
Nov 25 11:34:38: "test" #7025: STATE_MAIN_I2: sent MI2, expecting MR2
Nov 25 11:34:38: "test" #7025: ignoring unknown Vendor ID payload [f463ae07ff25a38ec22cfca0f2d6f932]
Nov 25 11:34:38: "test" #7025: transition from state STATE_MAIN_I2 to state STATE_MAIN_I3
Nov 25 11:34:38: "test" #7025: STATE_MAIN_I3: sent MI3, expecting MR3
Nov 25 11:34:38: | protocol/port in Phase 1 ID Payload is 17/0. accepted with port_floating NAT-T
Nov 25 11:34:38: "test" #7025: Main mode peer ID is ID_IPV4_ADDR: 'X.X.X.X'
Nov 25 11:34:38: "test" #7025: transition from state STATE_MAIN_I3 to state STATE_MAIN_I4
Nov 25 11:34:38: "test" #7025: STATE_MAIN_I4: ISAKMP SA established {auth=PRESHARED_KEY cipher=aes_256 integ=sha group=MODP1024}
Nov 25 11:34:38: "test" #7026: initiating Quick Mode PSK+ENCRYPT+UP+IKEV1_ALLOW+IKEV2_ALLOW+SAREF_TRACK+IKE_FRAG_ALLOW+ESN_NO {using isakmp#7025 msgid:eb679a67 proposal=AES(12)_000-SHA1(2), AES(12)_000-MD5(1) pfsgroup=no-pfs}
Nov 25 11:34:38: "test" #7025: received Delete SA payload: self-deleting ISAKMP State #7025
Nov 25 11:34:38: "test" #7025: deleting state (STATE_MAIN_I4)
Nov 25 11:34:38: "test" #7025: reschedule pending Phase 2 of connection"test" state #7026: - the parent is going away
Nov 25 11:34:38: packet from X.X.X.X:4500: received and ignored empty informational notification payload
Nov 25 11:34:38: "test" #7027: initiating Main Mode
Nov 25 11:34:38: "test" #7026: deleting state (STATE_QUICK_I1)
Nov 25 11:34:38: "test" #7027: transition from state STATE_MAIN_I1 to state STATE_MAIN_I2
Nov 25 11:34:38: "test" #7027: STATE_MAIN_I2: sent MI2, expecting MR2
Nov 25 11:34:38: "test" #7027: ignoring unknown Vendor ID payload [dc6c6ebaf23d6a0ded93f094e02dc79c]
Nov 25 11:34:38: "test" #7027: transition from state STATE_MAIN_I2 to state STATE_MAIN_I3
Nov 25 11:34:38: "test" #7027: STATE_MAIN_I3: sent MI3, expecting MR3
Nov 25 11:34:38: | protocol/port in Phase 1 ID Payload is 17/0. accepted with port_floating NAT-T
Nov 25 11:34:38: "test" #7027: Main mode peer ID is ID_IPV4_ADDR: 'X.X.X.X'
Nov 25 11:34:38: "test" #7027: transition from state STATE_MAIN_I3 to state STATE_MAIN_I4
Nov 25 11:34:38: "test" #7027: STATE_MAIN_I4: ISAKMP SA established {auth=PRESHARED_KEY cipher=aes_256 integ=sha group=MODP1024}
Nov 25 11:34:38: "test" #7028: initiating Quick Mode PSK+ENCRYPT+UP+IKEV1_ALLOW+IKEV2_ALLOW+SAREF_TRACK+IKE_FRAG_ALLOW+ESN_NO {using isakmp#7027 msgid:2719018b proposal=AES(12)_000-SHA1(2), AES(12)_000-MD5(1) pfsgroup=no-pfs}
Nov 25 11:34:38: "test" #7027: received Delete SA payload: self-deleting ISAKMP State #7027
Nov 25 11:34:38: "test" #7027: deleting state (STATE_MAIN_I4)
Nov 25 11:34:38: "test" #7027: reschedule pending Phase 2 of connection"test" state #7028: - the parent is going away
Nov 25 11:34:38: packet from X.X.X.X:4500: received and ignored empty informational notification payload
Nov 25 11:34:38: "test" #7029: initiating Main Mode

Pro doplnění ještě uvádím konfiguraci na klientovi:
Kód: [Vybrat]
conn test
        ike=3des-sha1,aes-sha1;modp1024
        right=X.X.X.X
        #initial_contact=yes
        aggrmode=no
        authby=secret
        left=%defaultroute
        auto=add
        type=transport
        pfs=no
        phase2=esp
        phase2alg=aes-sha1,aes-md5

Pokusně jsem si nainstaloval Centos+GNOME, kde jsem připojení zadal prostřednictvím NetworkManageru. Tam se spojení naváže, nicméně vždy po cca minutě spadne, takže tam zase bude asi jiný problém.

Připojeni z Windows funguje správně, nicméně tam je zase problém s omezenými možnostmi konfigurace přeposílání (potřebuji VPN připojení sdílet pro jiné PC)
« Poslední změna: 27. 11. 2017, 08:49:13 od Petr Krčmář »


Re:Připojení k L2TP/IPSec na linuxu
« Odpověď #1 kdy: 25. 11. 2017, 21:04:49 »
Tak nakonec jsem převzal konfiguraci co nějakým způsobem fungovala v NetworkManageru.

IPSec spojení tedy navážu. Toto je fungující konfigurace.
Kód: [Vybrat]
conn test
        auto=add
        type=transport
        authby=secret
        keyingtries=0
        left=%defaultroute
        leftprotoport=udp/l2tp
        right=X.X.X.X
        rightid=%any
        rightprotoport=udp/l2tp
        pfs=no
        ike=aes-sha1;modp1024

Následně i úspěšně navážu spojeni přes L2TP. Problém ovšem je stejný jak jsem již psal dříve a to sice, že spojení je vždy po cca 1,5 minutě ukončeno.

Kód: [Vybrat]
Nov 25 18:52:35 localhost pppd[2020]: pppd 2.4.5 started by root, uid 0
Nov 25 18:52:35 localhost pppd[2020]: Using interface ppp0
Nov 25 18:52:35 localhost pppd[2020]: Connect: ppp0 <-->
Nov 25 18:52:35 localhost pppd[2020]: Overriding mtu 1500 to 1410
Nov 25 18:52:35 localhost pppd[2020]: Overriding mru 1500 to mtu value 1410
Nov 25 18:52:35 localhost NetworkManager[644]: <info>  [1511632355.5976] manager: (ppp0): new Generic device (/org/freedesktop/NetworkManager/Devices/4)
Nov 25 18:52:35 localhost pppd[2020]: Overriding mtu 1500 to 1410
Nov 25 18:52:35 localhost pppd[2020]: Overriding mru 1500 to mtu value 1410
Nov 25 18:52:37 localhost pppd[2020]: PAP authentication succeeded
Nov 25 18:52:37 localhost pppd[2020]: not replacing existing default route via 192.168.62.1
Nov 25 18:52:37 localhost pppd[2020]: local  IP address 192.168.155.97
Nov 25 18:52:37 localhost pppd[2020]: remote IP address X.X.X.X
Nov 25 18:54:06 localhost xl2tpd: xl2tpd[961]: Maximum retries exceeded for tunnel 54485.  Closing.
Nov 25 18:54:06 localhost xl2tpd: xl2tpd[961]: Connection 1088 closed to X.X.X.X, port 1701 (Timeout)
Nov 25 18:54:06 localhost pppd[2020]: Terminating on signal 15
Nov 25 18:54:06 localhost pppd[2020]: Connect time 1.5 minutes.
Nov 25 18:54:06 localhost pppd[2020]: Sent 143851 bytes, received 0 bytes.
Nov 25 18:54:06 localhost pppd[2020]: Overriding mtu 1500 to 1410
Nov 25 18:54:06 localhost pppd[2020]: Overriding mru 1500 to mtu value 1410
Nov 25 18:54:06 localhost pppd[2020]: Connection terminated.
Nov 25 18:54:06 localhost pppd[2020]: Exit.

Podrobněji pak

Kód: [Vybrat]
Nov 25 20:49:14 localhost pppd[5503]: PAP authentication succeeded
Nov 25 20:49:14 localhost pppd[5503]: not replacing existing default route via 192.168.62.1
Nov 25 20:49:14 localhost pppd[5503]: local  IP address 192.168.155.97
Nov 25 20:49:14 localhost pppd[5503]: remote IP address X.X.X.X
Nov 25 20:50:12 localhost xl2tpd: xl2tpd[5487]: network_thread: select timeout
Nov 25 20:50:13 localhost xl2tpd: xl2tpd[5487]: network_thread: select timeout
Nov 25 20:50:15 localhost xl2tpd: xl2tpd[5487]: network_thread: select timeout
Nov 25 20:50:19 localhost xl2tpd: xl2tpd[5487]: network_thread: select timeout
Nov 25 20:50:27 localhost xl2tpd: xl2tpd[5487]: network_thread: select timeout
Nov 25 20:50:42 localhost systemd-logind: Removed session 1.
Nov 25 20:50:43 localhost pppd[5503]: Terminating on signal 15
Nov 25 20:50:43 localhost xl2tpd: xl2tpd[5487]: network_thread: select timeout
Nov 25 20:50:43 localhost xl2tpd: xl2tpd[5487]: Maximum retries exceeded for tunnel 61851.  Closing.
Nov 25 20:50:43 localhost xl2tpd: xl2tpd[5487]: Connection 1096 closed to X.X.X.X, port 1701 (Timeout)
Nov 25 20:50:43 localhost pppd[5503]: Connect time 1.5 minutes.
Nov 25 20:50:43 localhost pppd[5503]: Sent 372409 bytes, received 0 bytes.
Nov 25 20:50:43 localhost pppd[5503]: Overriding mtu 1500 to 1410
Nov 25 20:50:43 localhost pppd[5503]: Overriding mru 1500 to mtu value 1410
Nov 25 20:50:43 localhost pppd[5503]: Connection terminated.
Nov 25 20:50:43 localhost xl2tpd: xl2tpd[5487]: network_thread: select returned error 4 (Interrupted system call)
Nov 25 20:50:43 localhost pppd[5503]: Exit.
Nov 25 20:50:44 localhost xl2tpd: xl2tpd[5487]: network_thread: select timeout
Nov 25 20:50:46 localhost xl2tpd: xl2tpd[5487]: network_thread: select timeout
Nov 25 20:50:50 localhost xl2tpd: xl2tpd[5487]: network_thread: select timeout
Nov 25 20:50:58 localhost xl2tpd: xl2tpd[5487]: network_thread: select timeout
Nov 25 20:51:14 localhost xl2tpd: xl2tpd[5487]: network_thread: select timeout
Nov 25 20:51:14 localhost xl2tpd: xl2tpd[5487]: Unable to deliver closing message for tunnel 61851. Destroying anyway.
Nov 25 20:51:14 localhost xl2tpd: xl2tpd[5487]: network_thread: select returned error 9 (Bad file descriptor)

Navíc když je takto spojená ukončeno, tak se občas objevují další hlášky podobné této. Což jestli dobře chápu, tak server tunelem přijímá data pro spojení, které ale před tím ukončil.

Kód: [Vybrat]
Nov 25 20:53:12 localhost xl2tpd: xl2tpd[5487]: network_thread: unable to find call or tunnel to handle packet.  call = 0, tunnel = 61851 Dumping.
Nov 25 20:53:15 localhost xl2tpd: xl2tpd[5487]: network_thread: recv packet from X.X.X.X, size = 20, tunnel = 61851, call = 0 ref=0 refhim=0
Nov 25 20:53:15 localhost xl2tpd: xl2tpd[5487]: Can not find tunnel 61851 (refhim=0)

Neví někdo, kde by mohl být problém? Už se mi zdá, že jsem prohledal celý internet a nikde jsem podobný problém nenašel.