From 3937eddebc0f94b421cf87bbe903ddd091ab691d Mon Sep 17 00:00:00 2001 From: hwdsl2 Date: Tue, 3 May 2022 22:27:15 -0500 Subject: [PATCH] Fix xl2tpd on Ubuntu 22.04 - Fix xl2tpd on Ubuntu 22.04 by installing a newer version. Before this fix, IPsec/L2TP mode may not work on Ubuntu 22.04 with errors like "Can not find tunnel". Ref: https://bugs.launchpad.net/ubuntu/+source/xl2tpd/+bug/1951832 --- vpnsetup_ubuntu.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/vpnsetup_ubuntu.sh b/vpnsetup_ubuntu.sh index 18f0148..8066c34 100755 --- a/vpnsetup_ubuntu.sh +++ b/vpnsetup_ubuntu.sh @@ -80,6 +80,7 @@ check_os() { exiterr "This script only supports Ubuntu and Debian." ;; esac + os_arch=$(uname -m | tr -dc 'A-Za-z0-9_-') os_ver=$(sed 's/\..*//' /etc/debian_version | tr -dc 'A-Za-z0-9') if [ "$os_ver" = "8" ] || [ "$os_ver" = "jessiesid" ]; then exiterr "Debian 8 or Ubuntu < 16.04 is not supported." @@ -535,6 +536,19 @@ apply_gcp_mtu_fix() { fi } +apply_xl2tpd_fix() { + if [ "$os_type" = "ubuntu" ] && [ "$os_ver" = "bookwormsid" ] && [ "$os_arch" = "x86_64" ]; then + xl2tpd_url="https://mirrors.kernel.org/ubuntu/pool/universe/x/xl2tpd" + deb_file="xl2tpd_1.3.16-1ubuntu0.1_amd64.deb" + cd /opt/src || exit 1 + if wget -t 3 -T 30 -q -O "$deb_file" "$xl2tpd_url/$deb_file"; then + bigecho "Applying fix for xl2tpd..." + apt-get -yqq install "./$deb_file" >/dev/null + fi + /bin/rm -f "$deb_file" + fi +} + enable_on_boot() { bigecho "Enabling services on boot..." IPT_PST=/etc/init.d/iptables-persistent @@ -687,6 +701,7 @@ vpnsetup() { create_vpn_config update_sysctl update_iptables + apply_xl2tpd_fix apply_gcp_mtu_fix enable_on_boot start_services