概要
Ubuntu 22.04 DesktopをインストールしたらVPN(IPSec)接続できなかったのでできるようにしたメモ。
前提
20.04 の時は、下記の方の記事でnetwork-manager-l2tpを自力でビルドしたら使えていた。
今回の22.04はこれでも無理だった、、、
解決方法
下記のissueに作者の方が解決方法を記載してくれていた。
https://github.com/nm-l2tp/NetworkManager-l2tp/issues/180
kl2tpd のビルドとインストール
元のxl2tpdのバイナリではだめなようで、go製のkl2tpdを先にビルドしておく。
$ git clone https://github.com/katalix/go-l2tp
$ cd go-l2tp/cmd/kl2tpd
$ go build
$ sudo cp kl2tpd /usr/local/sbin
※ 上記のissueでは go get github.com/katalix/go-l2tp
で取得できるみたいだったが、goのパッケージの仕組みがわからないので手動でビルドしています。
kl2tpd 版 NetworkManager-l2tp のビルド
kl2tpdのバイナリを使うよう設定が変更されているこちらのブランチからビルド。
$ sudo apt install g++ libtool libssl-dev libnss3-dev autoconf autopoint automake intltool
$ sudo apt install strongswan git libgtk-3-dev libnma-dev libsecret-1-dev libnm-gtk-dev libnm-util-dev network-manager-dev libnm-glib-vpn-dev dh-autoreconf libglib2.0-dev ppp-dev intltool
$ git clone https://github.com/katalix/NetworkManager-l2tp
$ cd network-manager-l2tp
$ sudo ./autogen.sh
$ ./configure \
--disable-static --prefix=/usr \
--sysconfdir=/etc --libdir=/usr/lib/x86_64-linux-gnu \
--libexecdir=/usr/lib/NetworkManager \
--runstatedir=/run \
--with-pppd-plugin-dir=/usr/lib/pppd/2.4.9
$ make
$ sudo make install
network-manager のGUIから設定
Ubuntuの'設定' -> 'ネットワーク' -> 'VPN' から設定。
右枠はsudo /usr/lib/NetworkManager/nm-l2tp-service --debug
の出力結果。
何かの不具合が出た場合はここからデバッグできる。