Android 6 MarshmallowでL2TP/IPsec VPNが動作しない問題を解決する(xl2tpd+openswan)

2017年12月14日LinuxLinux, サーバー

自宅サーバーやAWSなどでL2TP/IPSec VPNサーバーを構築している方は結構いらっしゃるのではないかと勝手に思っている。当方環境では、Android 6 Marshmallowにアップデートした瞬間、これまでの設定ではxl2tpd+openswanで構築した環境にアクセスすることが出来なくなってしまった。解消方法をメモ程度に記載する。

Android 6でxl2tpd+openswanなL2TP/IPSec VPNサーバーにアクセスしてみる

PPTPでは接続できているが、xl2tpd+openswanで構築したL2TP/IPsecサーバーには接続することが出来ない。この問題は下記のフォーラムでも多くの記載があり、Android6のバグなのではないかと思われる。

実際にxl2tpd+openswan環境にアクセスしてみると

Android6端末で接続を試みると、/var/log/auth.logには下記のような内容が残る。

apt-get remove openswan
apt-get install libreswan

以下のパッケージには満たせない依存関係があります:
libreswan : 依存: libunbound2 (>= 1.4.1) しかし、インストールされようとしていません
依存: libnss3-tools しかし、インストールされようとしていません
E: 未解決の依存関係です。’apt-get -f install’ を実行してみてください (または解法を明示してください)。

ike=3des-sha1,aes-sha1,aes256-sha2_256,aes256-sha2_512
phase2alg=3des-sha1,aes-sha1,aes256-sha2_256,aes256-sha2_512
sha2-truncbug=yes
`

設定完了後、ipsecをリスタートする。

sudo service ipsec restart

当方の環境では、これでAndroid6からもL2TP/IPsec接続が可能となった。また、MacやiPhoneでも接続出来ることを確認している。