- GCEおよびVMware Player上の Debian9 にて動作確認
- サーバは L2TP over IPsec VPN で、IKEv1 PSKを使用
- ローカルネットワーク以外の通信をVPN経由にするルーティング設定
$ cp config.example config
$ vim config
$ ./install.sh
$ ./configure.sh
- NAT traversal を使用します。
- ike,esp の 暗号化の種類は 3des-sha1-modp1024 が設定してあります。これらはike-scanで調査することができます。
ike-scan の利用例
$ sudo apt install ike-scan
$ sudo systemctl stop strongswan
$ sudo ike-scan [VPNサーバのIPアドレス]
$ ./connect.sh
基本、再起動後は接続済み
$ ./route-vpn.sh
- 実行前の経路情報がカレントディレクトリのip-route-saveに保存されます。
- VPNのローカルネットワーク以外のすべてのローカルネットワークは既存のものが追加されます。
- 現在接続中のSSHクライアントへの経路は既存のものが追加されます。
- GCEのメタデータサーバの経路はeth0が設定されます。
$ ./route-restore.sh
$ ./check-ip.sh
デフォルトルートがVPN先のVPN Clientサーバを構成し、 ローカルからそのサーバにssh Socks Proxyで接続することで、 ローカルのFirefoxからその経路でブラウズすることができます。
[ローカル]$ ssh -D 10080 [VPN Clinetサーバのユーザ]@[VPN Clinetサーバのアドレス]
Firefox → 環境設定 → ネットワーク設定 → 接続設定 → 手動でプロクシを設定する
→ SOCKSホスト localhost ポート 10080
→ SOCKS5を選択
Proxy SwitcyOmega などを使うと便利です。
sudo ipsec status の実行結果がESTABLISHEDになるのにINSTALLEDにならない場合、 クライアントのIPアドレスを変えれば直ることがあります。