Android12以降、L2TP/IPSecプロファイルの新規作成ができなくなって、IKEv2/IPSecのみになりました。しかし、L2TP/IPSecのVPNにアクセスする必要があったのですが、Androidから直接接続できないので、あれこれ試した結果、ProxymanをつかったMac/PCで接続したVPNを経由することでアクセスすることができたので、簡単に記したいと思います。
問題
- Android 12以降のデバイスからL2TP/IPSecで直接VPN接続できない
- VPNサーバーがL2TP/IPSecしかサポートしておらず、別のプロトコルに変更できない
- MacのWifiでVPN接続し、それをインターネット共有でAndroidデバイスを接続させようとしたが、VPN接続中にインターネット共有を有効にすると、VPN接続が切断されてしまう
- Android11でL2TP/IPSecのVPNに接続し、それをテザリングでAndroid12以降のデバイスに共有したが、Android12以降のデバイスではVPNにアクセスできない
- Android11のデバイスはVPNのIPアドレスになっているが、Android12以降のデバイスではインターネットにはつながっているが、VPNを接続をしていない元々のネットワークのIPアドレスになってしまう
解決策:Proxymanを利用する
Proxymanは、HTTP/HTTPS通信をキャプチャ、デバッグ、書き換えできる強力なネットワークツールです。
Capture HTTP(s) traffic from Android Device では証明書のインストールなどが記載されていますが、今回はパケットのキャプチャが不要だったので、MacでProxymanを立ち上げたあと、AndroidのデバイスでProxy設定としてMacのローカルIP(192.168.x.x)とポート番号(9090)を設定するだけでした。