Thank you for testing the fix! I've now uploaded the fix for inclusion in an update to 22.04. This is now awaiting SRU team review (I shouldn't do that myself as I prepared it). Once the fix is accepted, we will ask for testing again of the final package binary before it is published to updates.
** Description changed: + [Impact] + + Users cannot connect to L2TP VPNs at all, such as through network- + manager-l2tp-gnome. + + [Development Fix] + + Addition to lto-disabled-list and a rebuild of xl2tpd in Kinetic. The + upload to lto-disabled-list is in Unapproved, pending Kinetic opening. + I've added a task for lto-disabled-list to this bug, so that I'll know + to upload the rebuild of xl2tpd when that is built and published. Since + the version of the Jammy upload is 1.3.16-1ubuntu0.1, the Kinetic upload + will end up "lower" at 1.3.16-1build1, but that shouldn't be a problem + because this issue will be fixed in both packages, and then any + subsequent uploads to Kinetic will continue "higher" as normal. + Alternatively 1.3.16-1ubuntu0.1 could just be copied forward to Kinetic + after this SRU lands, but it would be better to avoid the delta in + Kinetic so that the package will autosync in the future. + + [Stable Fix] + + Disabling of LTO in debian/rules. This is a more minimal fix that would + not require coordination between two packages in a situation where + xl2tpd needs to be rebuilt in Jammy anyway. + + [Fix method not adopted] + + It would be better to fix upstream so that LTO actually works. Upstream + issues are https://github.com/xelerance/xl2tpd/issues/230 and + https://github.com/xelerance/xl2tpd/issues/232. However these aren't + fixed upstream and the change in the area of code suggested may not be + the only necessary fix, so it seems safer for both the stable and + development releases in Ubuntu to revert what regressed the package for + now, until a proper fix confirmed to cover all cases by upstream. + + [Test Plan] + + Requirements : An L2TP VPN server (Windows Server) + + - Install Ubuntu 22.04 + - Install network-manager-l2tp-gnome (and requirements) + - Configure a new L2TP VPN connection for your server + (in my case, not sure if this detail is required) + - Configure gateway address + - Configure password auth + - In the IPsec Options, enable IPsec tunnelling + - Configure the PSK from your server + - In the PPP Options, enable MSPPE, and disable MSCHAP (leaving MSCHAPv2 the only auth option) + + With thanks to Adrian Wilkins, who will also do the SRU verification for + us, since it requires a configured Windows Server at the other end. + + In addition, racb will check the build log to ensure that LTO was + actually disabled during the build. + + [Where problems could occur] + + There might be some other unreported users from whom LTO actually fixes + something and we will regress them by disabling it. However this bug + seems more important to fix since it is reported with 35 reported to be + affected users already. + + LTO doesn't actually get disabled, and by some other non-determinism the + problem is accidentally fixed and regresses again later. Mitigation: + check the build log. + + [Original Description] + My connection works in 20.04 and fails in 22.04. Perhaps something i've been using is now depricated? Or perhaps jammy xl2tpd is...still working on it? see my attached syslog extracts at comments #6 thru #11. the er-x extracts were simple, the ubuntu extracts were thus: egrep -i "l2tp|swan|ipsec|charon|XFRM|layer 2|\<ike" /var/log/syslog|egrep -v "INFORMATIONAL_V1|packet: from" what seems to stand out is: These lines show up in syslog only in 20.04: Nov 22 06:22:04 e540 ipsec[782]: 12[KNL] 3.i.p.4 appeared on ppp0 Nov 22 06:22:04 e540 ipsec[782]: 14[KNL] 3.i.p.4 disappeared from ppp0 Nov 22 06:22:04 e540 ipsec[782]: 09[KNL] 3.i.p.4 appeared on ppp0 Nov 22 06:22:04 e540 ipsec[782]: 05[KNL] interface ppp0 activated These lines show up in syslog only in jammy: Nov 24 20:11:45 e540 xl2tpd[983]: Can not find tunnel 105 (refhim=0) Nov 24 20:11:45 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 105 Dumping. Nov 24 20:11:46 e540 xl2tpd[983]: Can not find tunnel 12 (refhim=0) Nov 24 20:11:46 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 12 Dumping. Nov 24 20:11:46 e540 xl2tpd[983]: Can not find tunnel 105 (refhim=0) Nov 24 20:11:46 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 105 Dumping. Nov 24 20:11:48 e540 xl2tpd[983]: Can not find tunnel 12 (refhim=0) Nov 24 20:11:48 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 12 Dumping. Nov 24 20:11:48 e540 xl2tpd[983]: Can not find tunnel 105 (refhim=0) Nov 24 20:11:48 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 105 Dumping. Nov 24 20:11:52 e540 xl2tpd[983]: Can not find tunnel 12 (refhim=0) Nov 24 20:11:52 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 12 Dumping. Nov 24 20:11:52 e540 xl2tpd[983]: Can not find tunnel 105 (refhim=0) Nov 24 20:11:52 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 105 Dumping. Nov 24 20:12:00 e540 xl2tpd[983]: Can not find tunnel 12 (refhim=0) Nov 24 20:12:00 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 12 Dumping. Nov 24 20:12:00 e540 xl2tpd[983]: Can not find tunnel 105 (refhim=0) Nov 24 20:12:00 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 105 Dumping. Nov 24 20:12:16 e540 xl2tpd[983]: Maximum retries exceeded for tunnel 39202. Closing. Nov 24 20:12:16 e540 xl2tpd[983]: Connection 0 closed to 2.i.p.7, port 1701 (Timeout) Nov 24 20:12:16 e540 xl2tpd[983]: Can not find tunnel 45 (refhim=0) Nov 24 20:12:16 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 45 Dumping. Nov 24 20:12:17 e540 xl2tpd[983]: Can not find tunnel 45 (refhim=0) Nov 24 20:12:17 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 45 Dumping. Nov 24 20:12:19 e540 xl2tpd[983]: Can not find tunnel 45 (refhim=0) Nov 24 20:12:19 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 45 Dumping. Nov 24 20:12:23 e540 xl2tpd[983]: Can not find tunnel 45 (refhim=0) Nov 24 20:12:23 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 45 Dumping. Nov 24 20:12:31 e540 xl2tpd[983]: Can not find tunnel 45 (refhim=0) Nov 24 20:12:31 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 45 Dumping. Nov 24 20:12:47 e540 xl2tpd[983]: Unable to deliver closing message for tunnel 39202. Destroying anyway. my /etc/ipsec.conf: config setup conn %default ikelifetime=60m keylife=20m rekeymargin=3m keyingtries=1 keyexchange=ikev1 authby=secret ike=aes256-sha1-modp2048! esp=aes-sha1! conn myvp7 right=2.i.p.7 rightprotoport=17/1701 leftprotoport=17/1701 left=%defaultroute keyexchange=ikev1 type=transport authby=secret auto=add my /etc/ipsec.secrets: : PSK ... my /etc/xl2tpd/xl2tpd.conf: [lac myvp7] lns = 2.i.p.7 ppp debug = yes pppoptfile = /etc/ppp/options.l2tpd.client length bit = yes my /etc/ppp/options.l2tpd.client: ipcp-accept-local ipcp-accept-remote refuse-eap require-chap noccp noauth mtu 1280 mru 1280 noipdefault defaultroute usepeerdns connect-delay 5000 name ... password ... my startup commands: ipsec up myvp7&& echo>/var/run/xl2tpd/l2tp-control c myvp7&& while i=$(ip route) j=${i#*3.i.p.} [[ $j = "$i" ]] do echo -n .;sleep .3 done i="ip route add 3.i.p.0/21 via 3.i.p.${j%% *}" echo $i;$i er-x /etc/ipsec.conf: config setup conn %default keyexchange=ikev1 conn remote-access authby=secret type=transport keyexchange=ikev1 left=2.i.p.7 leftprotoport=17/1701 right=%any rightprotoport=17/%any auto=add dpddelay=15 dpdtimeout=45 dpdaction=clear rekey=no ikelifetime=3600 keylife=3600 er-x /etc/ipsec.secrets: 2.i.p.7 %any : PSK ... er-x /etc/xl2tpd/xl2tpd.conf: [global] listen-addr = 2.i.p.7 [lns default] ip range = 3.i.p.4-3.i.p.9 local ip = 10.255.255.0 refuse pap = yes require authentication = yes name = VyattaL2TPServer ppp debug = yes pppoptfile = /etc/ppp/options.xl2tpd length bit = yes er-x /etc/ppp/options.xl2tpd: name xl2tpd linkname l2tp ipcp-accept-local ipcp-accept-remote ms-dns 8.8.8.8 ms-dns 8.8.4.4 noccp auth nodefaultroute debug proxyarp connect-delay 5000 idle 1800 ** Changed in: xl2tpd (Ubuntu Jammy) Status: Triaged => In Progress ** Tags removed: bitesize ** Tags added: regression-release ** Description changed: [Impact] Users cannot connect to L2TP VPNs at all, such as through network- manager-l2tp-gnome. [Development Fix] Addition to lto-disabled-list and a rebuild of xl2tpd in Kinetic. The upload to lto-disabled-list is in Unapproved, pending Kinetic opening. I've added a task for lto-disabled-list to this bug, so that I'll know to upload the rebuild of xl2tpd when that is built and published. Since the version of the Jammy upload is 1.3.16-1ubuntu0.1, the Kinetic upload will end up "lower" at 1.3.16-1build1, but that shouldn't be a problem because this issue will be fixed in both packages, and then any subsequent uploads to Kinetic will continue "higher" as normal. Alternatively 1.3.16-1ubuntu0.1 could just be copied forward to Kinetic after this SRU lands, but it would be better to avoid the delta in Kinetic so that the package will autosync in the future. [Stable Fix] Disabling of LTO in debian/rules. This is a more minimal fix that would not require coordination between two packages in a situation where xl2tpd needs to be rebuilt in Jammy anyway. [Fix method not adopted] It would be better to fix upstream so that LTO actually works. Upstream issues are https://github.com/xelerance/xl2tpd/issues/230 and - https://github.com/xelerance/xl2tpd/issues/232. However these aren't - fixed upstream and the change in the area of code suggested may not be - the only necessary fix, so it seems safer for both the stable and - development releases in Ubuntu to revert what regressed the package for - now, until a proper fix confirmed to cover all cases by upstream. + https://github.com/xelerance/xl2tpd/issues/232 and this is tracked in + bug 1970740. However these aren't fixed upstream and the change in the + area of code suggested may not be the only necessary fix, so it seems + safer for both the stable and development releases in Ubuntu to revert + what regressed the package for now, until a proper fix confirmed to + cover all cases by upstream. [Test Plan] Requirements : An L2TP VPN server (Windows Server) - Install Ubuntu 22.04 - Install network-manager-l2tp-gnome (and requirements) - Configure a new L2TP VPN connection for your server - (in my case, not sure if this detail is required) - - Configure gateway address - - Configure password auth - - In the IPsec Options, enable IPsec tunnelling - - Configure the PSK from your server - - In the PPP Options, enable MSPPE, and disable MSCHAP (leaving MSCHAPv2 the only auth option) + (in my case, not sure if this detail is required) + - Configure gateway address + - Configure password auth + - In the IPsec Options, enable IPsec tunnelling + - Configure the PSK from your server + - In the PPP Options, enable MSPPE, and disable MSCHAP (leaving MSCHAPv2 the only auth option) With thanks to Adrian Wilkins, who will also do the SRU verification for us, since it requires a configured Windows Server at the other end. In addition, racb will check the build log to ensure that LTO was actually disabled during the build. [Where problems could occur] There might be some other unreported users from whom LTO actually fixes something and we will regress them by disabling it. However this bug seems more important to fix since it is reported with 35 reported to be affected users already. LTO doesn't actually get disabled, and by some other non-determinism the problem is accidentally fixed and regresses again later. Mitigation: check the build log. [Original Description] My connection works in 20.04 and fails in 22.04. Perhaps something i've been using is now depricated? Or perhaps jammy xl2tpd is...still working on it? see my attached syslog extracts at comments #6 thru #11. the er-x extracts were simple, the ubuntu extracts were thus: egrep -i "l2tp|swan|ipsec|charon|XFRM|layer 2|\<ike" /var/log/syslog|egrep -v "INFORMATIONAL_V1|packet: from" what seems to stand out is: These lines show up in syslog only in 20.04: Nov 22 06:22:04 e540 ipsec[782]: 12[KNL] 3.i.p.4 appeared on ppp0 Nov 22 06:22:04 e540 ipsec[782]: 14[KNL] 3.i.p.4 disappeared from ppp0 Nov 22 06:22:04 e540 ipsec[782]: 09[KNL] 3.i.p.4 appeared on ppp0 Nov 22 06:22:04 e540 ipsec[782]: 05[KNL] interface ppp0 activated These lines show up in syslog only in jammy: Nov 24 20:11:45 e540 xl2tpd[983]: Can not find tunnel 105 (refhim=0) Nov 24 20:11:45 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 105 Dumping. Nov 24 20:11:46 e540 xl2tpd[983]: Can not find tunnel 12 (refhim=0) Nov 24 20:11:46 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 12 Dumping. Nov 24 20:11:46 e540 xl2tpd[983]: Can not find tunnel 105 (refhim=0) Nov 24 20:11:46 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 105 Dumping. Nov 24 20:11:48 e540 xl2tpd[983]: Can not find tunnel 12 (refhim=0) Nov 24 20:11:48 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 12 Dumping. Nov 24 20:11:48 e540 xl2tpd[983]: Can not find tunnel 105 (refhim=0) Nov 24 20:11:48 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 105 Dumping. Nov 24 20:11:52 e540 xl2tpd[983]: Can not find tunnel 12 (refhim=0) Nov 24 20:11:52 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 12 Dumping. Nov 24 20:11:52 e540 xl2tpd[983]: Can not find tunnel 105 (refhim=0) Nov 24 20:11:52 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 105 Dumping. Nov 24 20:12:00 e540 xl2tpd[983]: Can not find tunnel 12 (refhim=0) Nov 24 20:12:00 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 12 Dumping. Nov 24 20:12:00 e540 xl2tpd[983]: Can not find tunnel 105 (refhim=0) Nov 24 20:12:00 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 105 Dumping. Nov 24 20:12:16 e540 xl2tpd[983]: Maximum retries exceeded for tunnel 39202. Closing. Nov 24 20:12:16 e540 xl2tpd[983]: Connection 0 closed to 2.i.p.7, port 1701 (Timeout) Nov 24 20:12:16 e540 xl2tpd[983]: Can not find tunnel 45 (refhim=0) Nov 24 20:12:16 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 45 Dumping. Nov 24 20:12:17 e540 xl2tpd[983]: Can not find tunnel 45 (refhim=0) Nov 24 20:12:17 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 45 Dumping. Nov 24 20:12:19 e540 xl2tpd[983]: Can not find tunnel 45 (refhim=0) Nov 24 20:12:19 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 45 Dumping. Nov 24 20:12:23 e540 xl2tpd[983]: Can not find tunnel 45 (refhim=0) Nov 24 20:12:23 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 45 Dumping. Nov 24 20:12:31 e540 xl2tpd[983]: Can not find tunnel 45 (refhim=0) Nov 24 20:12:31 e540 xl2tpd[983]: network_thread: unable to find call or tunnel to handle packet. call = 39202, tunnel = 45 Dumping. Nov 24 20:12:47 e540 xl2tpd[983]: Unable to deliver closing message for tunnel 39202. Destroying anyway. my /etc/ipsec.conf: config setup conn %default ikelifetime=60m keylife=20m rekeymargin=3m keyingtries=1 keyexchange=ikev1 authby=secret ike=aes256-sha1-modp2048! esp=aes-sha1! conn myvp7 right=2.i.p.7 rightprotoport=17/1701 leftprotoport=17/1701 left=%defaultroute keyexchange=ikev1 type=transport authby=secret auto=add my /etc/ipsec.secrets: : PSK ... my /etc/xl2tpd/xl2tpd.conf: [lac myvp7] lns = 2.i.p.7 ppp debug = yes pppoptfile = /etc/ppp/options.l2tpd.client length bit = yes my /etc/ppp/options.l2tpd.client: ipcp-accept-local ipcp-accept-remote refuse-eap require-chap noccp noauth mtu 1280 mru 1280 noipdefault defaultroute usepeerdns connect-delay 5000 name ... password ... my startup commands: ipsec up myvp7&& echo>/var/run/xl2tpd/l2tp-control c myvp7&& while i=$(ip route) j=${i#*3.i.p.} [[ $j = "$i" ]] do echo -n .;sleep .3 done i="ip route add 3.i.p.0/21 via 3.i.p.${j%% *}" echo $i;$i er-x /etc/ipsec.conf: config setup conn %default keyexchange=ikev1 conn remote-access authby=secret type=transport keyexchange=ikev1 left=2.i.p.7 leftprotoport=17/1701 right=%any rightprotoport=17/%any auto=add dpddelay=15 dpdtimeout=45 dpdaction=clear rekey=no ikelifetime=3600 keylife=3600 er-x /etc/ipsec.secrets: 2.i.p.7 %any : PSK ... er-x /etc/xl2tpd/xl2tpd.conf: [global] listen-addr = 2.i.p.7 [lns default] ip range = 3.i.p.4-3.i.p.9 local ip = 10.255.255.0 refuse pap = yes require authentication = yes name = VyattaL2TPServer ppp debug = yes pppoptfile = /etc/ppp/options.xl2tpd length bit = yes er-x /etc/ppp/options.xl2tpd: name xl2tpd linkname l2tp ipcp-accept-local ipcp-accept-remote ms-dns 8.8.8.8 ms-dns 8.8.4.4 noccp auth nodefaultroute debug proxyarp connect-delay 5000 idle 1800 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1951832 Title: xl2tpd "Can not find tunnel" in jammy To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/lto-disabled-list/+bug/1951832/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs